Automatentheorie und Logik
Vorlesungsskript
von Eike Best Oktober 2004 – September 2005
Oldenburg, Oktober 2004
E. Best
Das Skript wird st¨andig gepflegt. Wenn Ihnen beim Lesen Fehler auffallen, schicken Sie bitte eine Mail an
[email protected]. oder geben Sie sie schriftlich im Sekretariat der Theoretischen Informatik bekannt. ¨ Stand der Anderungen (Version): 19. September 2005.
Haupts¨ achlich verwendete Literatur:
• A. Arnold: Transition Systems. Prentice Hall (1994). • E. Best: Semantik. Theorie sequentieller und paralleler Programmierung. Verlag Vieweg (1995), ISBN 3-528-05431-X. ¨ Englische Ubersetzung: Semantics of Sequential and Parallel Programs. Prentice Hall International Series in Computer Science (1996) ISBN 0-13-460643-4. • E. Best: Automatentheorie und Logik. Vorlesungsskriptum (1999-2001). Dieses Skriptum steht weiterhin auf http://parsys.informatik.uni-oldenburg.de/persons/eike.best/skript.html, aber Achtung: es ist geplant, das Skriptum zur gleichnamigen Vorlesung im Wintersemester 2004/05 substanziell zu u ¨berarbeiten. • H. D. Ebbinghaus & J. Flum: Finite Model Theory. Springer-Verlag (1995). • Z. Manna & A. Pnueli: The Temporal Logic of Reactive and Concurrent Programs. Springer-Verlag (1992). • St. Melzer: Verifikation verteilter Systeme mittels linearer und Constraint-Programmierung. Dissertation, TU M¨ unchen (1998). • H. Straubing: Finite Automata, Formal Logic, and Circuit Complexity. Birkh¨auser Verlag (1994). • W. Thomas: Languages, Automata and Logic. Im Handbook on Formal Languages, Seiten 389-455. • W. Thomas: Automatentheorie, Logik und Modelchecking. Skriptum der Vorlesung im Sommersemester 1998. • M. Vardi: Automata-theoretic Approaches to Design Verification. Lecture Notes, Technion (1998/99).
2
Inhaltsverzeichnis 1 Einleitung
1
1.1
Der Satz von B¨ uchi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Zur Struktur der Vorlesung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2 Zwei Logiken: FO und MSO
5
2.1
Alphabete, W¨orter und Sprachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.2
Graphen und B¨aume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.3
Modelle f¨ ur W¨orter, B¨aume und Graphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.3.1
Modelle f¨ ur endliche W¨orter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.3.2
Modelle f¨ ur unendliche W¨orter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.3.3
Modelle f¨ ur B¨aume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.3.4
Modelle f¨ ur Graphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.4
2.5
2.6
Pr¨adikatenlogik erster Stufe (mit Gleichheit) . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.4.1
Syntax von FO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4.2
Semantik von FO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Monadische Logik zweiter Stufe (MSO-Logik) . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.5.1
Syntax von MSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5.2
Semantik von MSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3 Der Satz von B¨ uchi und verwandte Themen
19
3.1
MSO-Logik auf endlichen W¨ortern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2
Ehrenfeucht-Fraiss´e-Spiele (EF-Spiele) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3
Regul¨are Sprachen und Monoide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.3.1
Endliche Halbgruppen und Monoide . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.2
Das syntaktische Monoid einer Sprache . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.3
Das Transitionsmonoid eines Automaten . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.4
Charakterisierung der FO-Definierbarkeit einer Sprache . . . . . . . . . . . . . . . . . 36
3.3.5
Die Sternh¨ohe einer Sprache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4
FO-Logik mit Nachfolgerelation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.5
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 i
ii
Vorlesungsskript von E. Best / Stand: 19. September 2005
4 Omega-Automaten 4.1 Automaten auf unendlichen W¨ortern . . . . . . . . . . . . . . . . 4.1.1 B¨ uchi-, Muller-, Rabin- und Streett-Automaten . . . . . . 4.1.2 Charakterisierung B¨ uchi-akzeptierbarer Sprachen . . . . . 4.1.3 Entscheidbarkeitsfragen bei B¨ uchi-Automaten . . . . . . . 4.1.4 Determinierung und Komplementierung von ω-Automaten 4.2 Regul¨are numerische Pr¨adikate, Arithmetik . . . . . . . . . . . . 4.3 MSO-Logik auf unendlichen B¨aumen . . . . . . . . . . . . . . . . 4.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . .
43 43 43 50 52 54 61 64 68
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
5 Temporale Logiken und Transitionssysteme 5.1 Pr¨apositionale linear-time Logik LTL . . . . . . . . . . . . . . . . . 5.1.1 Definition der Syntax von LTL . . . . . . . . . . . . . . . . 5.1.2 Definition der Semantik von LTL . . . . . . . . . . . . . . . 5.1.3 Zur Ausdrucksf¨ahigkeit des Until-Operators . . . . . . . . . 5.1.4 LTL-Logik und FO[<]-Logik . . . . . . . . . . . . . . . . . 5.1.5 Konstruktion eines B¨ uchi-Automaten zu einer LTL-Formel 5.1.6 Transitionssysteme . . . . . . . . . . . . . . . . . . . . . . . 5.1.7 Das Modelchecking-Problem f¨ ur LTL . . . . . . . . . . . . . 5.1.8 Quantifizierte lineare temporale Logik QLTL . . . . . . . . 5.2 Branching-time-Logik CTL . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Definition der Syntax von CTL . . . . . . . . . . . . . . . . 5.2.2 Definition der Semantik von CTL . . . . . . . . . . . . . . . 5.2.3 Das Modelchecking-Problem f¨ ur CTL . . . . . . . . . . . . 5.2.4 Vergleich der Ausdrucksm¨achtigkeiten von LTL und CTL . 5.3 CTL∗ , eine Erweiterung von LTL und von CTL . . . . . . . . . . . 5.3.1 Definition der Syntax von CTL∗ . . . . . . . . . . . . . . . 5.3.2 Definition der Semantik von CTL∗ . . . . . . . . . . . . . . 5.3.3 Einbettung von CTL und LTL, und Entscheidbarkeit . . . . 5.3.4 Eine CTL-Formel, die nicht in LTL ausdr¨ uckbar ist . . . . 5.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
69 . 69 . 69 . 70 . 73 . 77 . 78 . 84 . 89 . 91 . 93 . 94 . 94 . 97 . 99 . 102 . 102 . 102 . 103 . 103 . 104
6 Modale Logiken und Fixpunkte 6.1 Hennessy-Milner-Logik . . . . . . . . . . . . . . . . . . . 6.2 Zustandsalgebren . . . . . . . . . . . . . . . . . . . . . . 6.3 Fixpunkte . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.1 Fixpunkte monotoner Funktionen auf 2S . . . . . 6.3.2 Fixpunkteigenschaften von CTL-Operatoren . . . 6.3.3 Fixpunkteigenschaften von LTL-Operatoren . . . 6.4 Der µ-Kalk¨ ul . . . . . . . . . . . . . . . . . . . . . . . . 6.4.1 Syntax des pr¨apositionalen modalen µ-Kalk¨ uls . 6.4.2 Semantik des pr¨apositionalen modalen µ-Kalk¨ uls 6.4.3 Einige Beispiele . . . . . . . . . . . . . . . . . . . 6.4.4 Zwei Resultate . . . . . . . . . . . . . . . . . . . 6.5 Zusammenfassung . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
107 . 107 . 109 . 112 . 112 . 113 . 116 . 117 . 118 . 119 . 120 . 126 . 126
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
Kapitel 1
Einleitung ... worin wir lernen, dass die GTI-Vorlesung nicht alles verraten hat ...
1.1
Der Satz von Bu ¨ chi
Das generelle Thema der Vorlesung ist die Verbindung zwischen Automatentheorie auf der einen und Logik auf der anderen Seite:
Logik
Automatentheorie W¨orter, Sprachen (Graphen, Halbordnungen, B¨aume)
S¨atze
Formeln G¨ ultigkeit
Wie k¨onnte ein Satz aussehen, der Automatentheorie (und damit auch formale Sprachen) und Logik verkn¨ upft? c b
q1
q0 a a
c q2 a
Abbildung 1.1: Ein endlicher Automat M0 mit Startzustand q0 und akzeptierendem Zustand q2 . Betrachten wir als Beispiel einen endlichen Automaten M0 u ¨ber A = {a, b, c} (Abbildung 1.1). Die von M0 akzeptierte Sprache L0 = L(M0 ) ⊆ {a, b, c}∗ besteht aus allen W¨ortern mit den folgenden Eigenschaften: (1) kein b folgt direkt auf a, (2) jedes b hat ein direkt nachfolgendes a, (3) a ist der letzte Buchstabe. 1
2
Vorlesungsskript von E. Best / Stand: 19. September 2005
Dass das so ist, sieht man mit dem folgenden Argument: Einerseits sieht man durch scharfes Hinsehen“, dass ” jedes von M0 akzeptierte Wort tats¨achlich die Eigenschaften (1) bis (3) hat. Sei andererseits w ∈ {a, b, c}∗ ein Wort mit den Eigenschaften (1) bis (3). Wegen (3) endet die Abarbeitung von w, wenn sie nicht stecken ” bleibt“, auf alle F¨alle in q2 . Im Zustand q0 kann die Abarbeitung nicht stecken bleiben, weil dort Kanten mit allen drei Buchstaben ausgehen (und weil wegen (3) w nicht leer ist). Im Zustand q 1 kann die Abarbeitung wegen (2) nicht steckenbleiben, und in q2 nicht wegen Eigenschaft (1). Also wird w akzeptiert. Wir fragen nun, ob und ggfs. wie man diese Sprache L0 logisch“ charakterisieren k¨onnte. ” Zum ob“ gibt es eine angenehme Antwort, n¨amlich Ja“. Man muss dazu allerdings eine ganz spezielle Logik ” ” betrachten. Wir fassen zun¨achst ein Wort w nicht mehr so sehr als eine Aneinanderreihung von Buchstaben, sondern eher als eine Funktion von Positionen nach Buchstaben auf. Die Positionen sind dabei die Indizes der Buchstaben des Wortes, beginnend links mit dem Index 0. Z.B. wird das Wort abac als die Funktion {0, 1, 2, 3} → {a, b, c} 0 7→ a 1 7→ b 2 7→ a 3 7→ c. aufgefasst. Des Weiteren f¨ uhren wir die folgenden atomaren Formeln ein: Qa (x) : S(x, y) :
an Position x steht der Buchstabe a“ ” Position y folgt direkt auf Position x“ ”
Oben (im Wort w = abac) gilt z.B. Qa (0), Qb (1), Qa (2) und Qc (3). Generell gilt S(0, 1), S(1, 2), aber ¬S(0, 2) und nat¨ urlich auch ¬S(1, 0), ¬S(2, 0), usw. Betrachten wir jetzt die folgende logische Formel: ϕ0
=
[ ¬∃x∃y : (S(x, y) ∧ Qa (x) ∧ Qb (y)) ]
(10 )
∧ [ ∀x : (Qb (x) → ∃y(S(x, y) ∧ Qa (y))) ]
(20 )
∧ [ ∃x : (¬∃y : S(x, y)) ∧ Qa (x)) ] ,
(30 )
in der pr¨adikatenlogische Quantoren vorkommen und die Variablen Positionen bedeuten“ sollen. Intuitiv ” beschreiben die Klauseln (10 ) bis (30 ) von ϕ nacheinander die Klauseln (1) bis (3) von weiter oben. Das logische Konjunkt (¬∃y : S(x, y)) in (30 ) bedeutet dabei Wortende“. Insgesamt codiert ϕ0 die gleiche Sprache ” wie M0 , d.h., die Sprache L0 . Allgemein nennen wir eine Sprache in einer Logik mit • atomaren Formeln, • logischen Konnektoren, • und nichtlogischen Symbolen definierbar, wenn es eine Formel dieser Logik gibt, die diese Sprache wie oben beschreibt. Eine große Leistung von B¨ uchi und Elgot (in den Jahren 1960-1961) war es, eine Logik zu identifizieren, deren Beschreibungsm¨achtigkeit genau den endlichen Automaten entspricht. Diese Logik ist als MSO (monadic second order logic, monadische Logik 2. Stufe) bekannt. Es gilt die folgende (multiple) Charakterisierung regul¨arer Sprachen: F¨ ur eine Sprache L ⊆ A∗ sind folgende Eigenschaften ¨aquivalent: • L wird von einem regul¨aren Ausdruck erzeugt; • L wird von einem endlichen Automaten (NFA) akzeptiert; • L wird von einem deterministischen endlichen Automaten (DFA) akzeptiert;
Automatentheorie und Logik - Wintersemester 2004/05
3
• L wird von einer links- oder rechtslinearen Grammatik erzeugt; • L ist in MSO definierbar. Alle diese Charakterisierungen, bis auf die letzte, werden in der Veranstaltung Grundlagen der Theoretischen Informatik vorgestellt. Die Charakterisierung regul¨arer Sprachen durch MSO ist als der Satz von B¨ uchi (bzw. B¨ uchi/Elgot) bekannt. Dieser Satz ist unser Ausgangspunkt. Statt endlicher W¨orter kann man auch betrachten: • ω-W¨orter (nach rechts unendliche W¨orter), • Traces (Mazurkiewicz; halbgeordnete W¨orter), • B¨aume, • Graphen, und f¨ ur jede dieser Erweiterungen nach Verallgemeinerungen des Satzes von B¨ uchi fragen.
1.2
Zur Struktur der Vorlesung
Im ersten Teil der Vorlesung werden der Satz von B¨ uchi und einige seiner Konsequenzen und Erweiterungen besprochen. Im zweiten Teil werden andere Logiken und Anwendungen besprochen, und es werden Algorithmen vorgestellt, die das Modelchecking“-Problem l¨osen. ” Modelchecking ist das folgende Entscheidungsproblem (oder eine Variante davon): • Gegeben: Eine Sprache L (spezifiziert zum Beispiel durch einen endlichen Automaten) und eine logische Formel ϕ (in einer geeigneten Logik). • Frage: Erf¨ ullt L die Formel ϕ oder nicht? Ein Modelchecking-Algorithmus hat also zwei Eingaben: eine Sprache (dargestellt zum Beispiel durch einen akzeptierenden Automaten oder durch eine generierende Grammatik) und eine logische Formel, und eine Ausgabe: Ja“ bzw. Nein“. Zum Beispiel betrachten wir die Formel ϕ0 von vorhin. Die Sprache L1 = ” ” {a, aa, aaa, . . .} erf¨ ullt ϕ0 , denn L1 ist eine Teilmenge von L(ϕ0 ). Die Sprache L2 = {a, ab} erf¨ ullt ϕ0 jedoch nicht. Ein Modelchecking-Algorithmus gibt im ersten Fall die Antwort Ja“, im zweiten Fall die Antwort ” Nein“. ”
4
Vorlesungsskript von E. Best / Stand: 19. September 2005
Kapitel 2
Zwei Logiken: FO und MSO In diesem Kapitel rekapitulieren wir zun¨achst grundlegende Definitionen von (endlichen und unendlichen) W¨ortern, B¨aumen und Graphen. Danach f¨ uhren wir eine einheitliche Sichtweise solcher Objekte ein. Schließlich definieren wir auf dieser Basis zwei Logiken: FO (first order logic) und MSO (monadic second order logic). Wichtig: Die Menge der nat¨ urlichen Zahlen, N, schließt durchweg die Zahl 0 mit ein, d.h.: N = {0, 1, 2, 3, . . .}.
2.1
Alphabete, Wo ¨rter und Sprachen
Ein Alphabet A ist eine nichtleere, endliche Menge. Die Elemente eines Alphabets heißen Zeichen (oder Buchstaben oder Symbole). Wir benutzen A als einen typischen Namen f¨ ur ein Alphabet. Ein (endliches) Wort u ¨ber einem Alphabet A ist eine endliche Folge von Zeichen aus A. Die Menge aller endlichen W¨orter u ange von w, d.h., die ¨ber A wird mit A∗ bezeichnet. Ist w ∈ A∗ , bezeichnet |w| die L¨ Anzahl der Zeichen in w. Das leere Wort ε stellt man sich als (endliches) Wort der L¨ange 0 vor, |ε| = 0. Ein unendliches Wort u ¨ber A ist eine nach links endliche, nach rechts unendliche Folge von Zeichen aus A. Beispiel: α = ababbabbbabbbbabbbbba . . . Die Menge aller unendlichen W¨orter u ¨ber A wird mit Aω bezeichnet. Abgeleitete Notationen sind: A+ = A∗ \{ε} (die Menge der nicht leeren endlichen W¨orter u ¨ber A) und A∞ = A∗ ∪ Aω (die Menge aller – d.h.: endlicher oder unendlicher – W¨orter u ber A). ¨ Eine grundlegende bin¨are Operation auf W¨ortern ist die Verkettung oder Konkatenation, die f¨ ur zwei W¨orter v = a0 . . . am−1 ∈ A∗ und w = b0 b1 b2 . . . ∈ A∞ als das Wort v·w = vw = a0 . . . am−1 b0 b1 b2 . . . ∈ A∞ , also einfach als die Hintereinanderschreibung“ von v und w, definiert ist. Ist w in A∗ (bzw. in Aω ), dann ” ist auch vw in A∗ (bzw. in Aω ). Die Konkatenation vw ist undefiniert, wenn v ∈ Aω gilt. Das leere Wort ε ist beidseitig neutral bez¨ uglich Konkatenation, d.h. εw = w f¨ ur w ∈ A∞ und v = vε f¨ ur ∗ v ∈ A . Außerdem ist die Konkatenation assoziativ, d.h. u(vw) = (uv)w f¨ ur beliebige W¨orter u ∈ A∗ , v ∈ A∗ und w ∈ A∞ . Wir definieren die n-fache Hintereinanderschreibung eines Wortes v ∈ A∗ induktiv: v 0 = ε und v n+1 = vv n . Beispielsweise ist (ab)3 = ababab. Ebenso kann die Menge der W¨orter einer gegebenen L¨ange n induktiv definiert werden: A0 An+1
= =
{ε} {av | a ∈ A, v ∈ An }. 5
6
Vorlesungsskript von E. Best / Stand: 19. September 2005
Beispielsweise ist {a, b}2 = {aa, ab, ba, bb}. Es gilt nat¨ urlich A∗ =
S
n∈N
An .
Ein Wort w ∈ A∞ heißt Pr¨ afix (bzw. Suffix) von v ∈ A∞ , wenn gilt: ∃u∈Σ∞ : v = wu (beziehungsweise ∃u∈Σ∗ : v = uw). Eine Sprache L u ¨ber einem Alphabet A ist eine Teilmenge von A∞ , d.h. L ⊆ A∞ . Normalerweise ist man an Sprachen interessiert, die entweder nur endliche oder nur unendliche W¨orter enthalten: Eine ∗-Sprache Lu ¨ber A ist eine Teilmenge von A∗ , d.h. L ⊆ A∗ . Eine ω-Sprache L u ¨ber A ist eine Teilmenge von Aω , d.h. ω L ⊆ A . Wenn von einer Sprache“ die Rede ist, wird normalerweise aus dem Kontext klar, welcher Typ ” von Sprache gemeint ist; wenn nicht, spezifizieren wir ihn explizit. F¨ ur eine ∗-Sprache L sind die un¨aren Operationen L∗ , L+ , Lω und L∞ sinngem¨aß wie f¨ ur A definiert. Im Spezialfall L = {a} l¨asst man oft die Mengenklammern weg. Beispielsweise gilt {a}∗ {a}ω
2.2
= =
a∗ aω
= =
{ε, a, aa, aaa, . . .} {aaa . . .}
(eine unendliche Menge) (eine einelementige Menge).
Graphen und B¨ aume
Ein (gerichteter) Graph ist ein Paar (V, E) mit E ⊆ V × V . Man zeichnet die Elemente von V als Punkte und ein Element e = (v, v 0 ) als einen Pfeil von v nach v 0 . Ein Graph heißt endlich, wenn V eine endliche Menge ist, ansonsten unendlich. Die Elemente von V heißen Knoten (vertices), die Elemente von E Kanten (edges). Sei v ∈ V ein Knoten eines Graphen. Die Menge E −1 (v) = {w∈V | (w, v)∈E} heißt die Menge der Eingangsknoten von v und die Menge E(v) = {w∈V | (v, w)∈E} heißt die Menge der Ausgangsknoten von v. Ist E −1 (v) eine endliche Menge, dann heißt ihre Kardinalit¨at |E −1 (v)| der Eingangsgrad von v, ist E(v) endlich, dann heißt die Kardinalit¨at |E(v)| von E(v) der Ausgangsgrad von v. Eine Folge v0 e1 v1 . . . em vm mit m≥0 und ej = (vj−1 , vj ) f¨ ur alle 0 < j ≤ m heißt ein (endlicher) Weg (von v0 nach vm ). Ein solcher Weg heißt Zyklus, wenn m>0 und v0 = vm . Ein Graph heißt azyklisch, wenn es in ihm keine Zyklen gibt. Eine unendliche Folge v0 e1 v1 e2 v2 . . . mit ej = (vj−1 , vj ) f¨ ur alle 0 < j heißt ein (unendlicher) Weg (ausgehend von v0 ). Ein Baum ist ein azyklischer Graph (V, E) mit genau einem Element v0 ∈ V , das den Eingangsgrad 0 hat (dieses Element heißt seine Wurzel), so dass es zu jedem Knoten v∈V genau einen Weg von v 0 nach v gibt. Als Folge dieser Definition hat jeder Knoten v eines Baumes entweder den Eingangsgrad 0 (falls v = v 0 ) oder den Eingangsgrad 1 (falls v 6= v0 ). Falls (v, v 0 ) ∈ E, nennt man v 0 auch Kind (oder unmittelbaren Nachfolger) von v und v Vater (oder unmittelbaren Vorg¨ anger) von v 0 . Falls (v, v 0 ) ∈ E ∗ , nennt man v 0 0 Nachfolger von v und v Vorg¨ anger von v . Ein Knoten mit Ausgangsgrad 0 heißt Blatt des Baumes. Lemma 2.2.1 Lemma von K¨ onig Ein unendlicher Baum, dessen Knoten endlichen Ausgangsgrad haben, hat einen unendlichen Weg. Beweis: Sei (V, E) ein Baum mit Wurzel v0 . Da v0 endlichen Ausgangsgrad hat, gibt es wegen der Unendlichkeit des Baumes unter den endlich vielen Kindern von v0 mindestens eines, das unendlich viele Nachfolger hat. W¨ahle ein solches Kind als v1 und setze e1 = (v0 , v1 ). Da v1 wieder endlichen Ausgangsgrad, aber unendlich viele Nachfolger hat, kann das Verfahren wiederholt werden und wir gewinnen ein Kind v 2 von v1 mit unendlich vielen Nachfolgern; setze e2 = (v1 , v2 ). So fortfahrend, erhalten wir einen unendlichen Weg 2.2.1 v0 e 1 v1 e 2 v2 . . .
2.3
Modelle fu orter, B¨ aume und Graphen ¨ r W¨ ... worin W¨orter, B¨aume und Graphen vereinheitlicht werden ...
Automatentheorie und Logik - Wintersemester 2004/05
2.3.1
7
Modelle fu orter ¨ r endliche W¨
Sei A ein gegebenes, festes Alphabet. Sei w = a0 · · · am−1 ein Wort in A∗ . Wir wollen die Idee formalisieren, dass w als Funktion von Positionen nach A beschrieben wird, gleichzeitig aber auch den Begriff der Positionen“ so allgemein fassen, dass sp¨ater ” auch B¨aume und Graphen ¨ahnlich aufgefasst werden k¨onnen. Betrachten wir daher die folgende Struktur (die auch Wortmodell oder Wortstruktur genannt wird): w
=
( dom(w) , | {z } {0,...,m−1} Positionen“ ”
Sw |{z}
07→1,17→2, etc. Successor“ ”
,
<w |{z}
0<1,0<2, etc.
,
(Qw )a∈A | a{z }
).
un¨ are Pr¨ adikate Qw a ={i∈dom(w)|ai =a}
Die Struktur w kann als ein Graph mit dom(w) (dem Grundbereich) als Knotenmenge aufgefaßt werden. Z.B. ergibt sich f¨ ur w = abac der in Abbildung 2.1 gezeigte Graph. Da die vier Buchstaben von w = abac von links nach rechts von 0 bis 3 durchnummeriert sind, ist der Grundbereich dom(abac) = {0, 1, 2, 3}. Der Graph besteht also aus vier Knoten {0, 1, 2, 3}. Die Menge S abac besteht aus den oberen drei Pfeilen, die Menge
= {(0, 1), (1, 2), (2, 3)} = {(0, 1), (1, 2), (2, 3), (0, 2), (1, 3), (0, 3)}.
sind f¨ ur jeden Zustand angegeben. und Qabac , Qabac Die G¨ ultigkeit bzw. Ung¨ ultigkeit der Pr¨adikate Qabac c a b abac abac Z.B. gilt im Zustand 0 sowohl Qa als auch ¬Qb und ¬Qabac , da an Position 0 ein a (und kein b und c auch kein c) steht.
Qabac a ¬Qabac b ¬Qabac c 0
¬Qabac a Qabac b ¬Qabac c
Qabac a ¬Qabac b ¬Qabac c
1
2
¬Qabac a ¬Qabac b Qabac c 3
Abbildung 2.1: Ein Wortmodell f¨ ur das Wort abac.
2.3.2
Modelle fu orter ¨ r unendliche W¨
Die Struktur eines ω-Worts α = a0 a1 a2 . . . u ¨ber A hat die Form α
=
( N, S α , <α , (Qα a )a∈A )
also das Gleiche wie vorher, außer dass der Grundbereich jetzt die ganze Menge N = {0, 1, 2, . . .} ist (und nicht, wie vorher, eine Teilmenge {0, . . . , m − 1} ⊆ N).
2.3.3
Modelle fu aume ¨ r B¨
Wir betrachten nur (vollst¨andige) bin¨ are B¨aume, d.h., jeder Knoten hat entweder zwei Nachfolgeknoten oder keinen Nachfolgeknoten (im zweiten Fall ist er ein Blatt). Baumknoten k¨onnen daher als W¨orter in {0, 1}∗ repr¨asentiert werden, wobei die 0 links“ und die 1 rechts“ codieren. Ein Beispiel ist in Abbildung ” ” 2.2 angegeben. Die Knoten der Ebene i (wobei auf Ebene 0 die Wurzel steht) werden durch W¨orter der L¨ange i beschrieben. Baumdom¨ anen (oder Baumbereiche) sind definiert als die pr¨afixabgeschlossenen Sprachen P ⊆ {0, 1}∗ , so dass f¨ ur alle w ∈ P auch w0 und w1, oder keins von beiden, in P liegen.
8
Vorlesungsskript von E. Best / Stand: 19. September 2005
ε 0 00
1 01
Abbildung 2.2: Ein (unbeschrifteter) bin¨arer Baum.
a a
b a
c
Abbildung 2.3: Ein (beschrifteter) bin¨arer Baum. Beispiel 2.3.1 • P = {ε, 0, 1, 00, 01} ist Baumdom¨ane; P beschreibt genau die Knotenmenge in den Abbildungen 2.2 und 2.3. • P 0 = {ε, 0, 1, 00, 01, 000} ist keine Baumdom¨ane (denn 000 ∈ P 0 , aber 001 ∈ / P 0 ). • P 00 = {ε, 00, 01} ist auch keine Baumdom¨ane (denn P 00 ist nicht pr¨afixabgeschlossen).
2.3.1
Die Pr¨afixrelation auf P entspricht der Vorg¨angerrelation im Baum. Eine Baumdom¨ane P spielt f¨ ur B¨aume die gleiche Rolle wie die Menge der Positionen bei einem Wort. B¨aume sind im Folgenden definiert durch eine zus¨atzliche Beschriftung. Ein (beschrifteter) Baum (tree) u ¨ber A ist eine Funktion t : dom(t) → A, wobei dom(t) eine Baumdom¨ane ist. Beispiel 2.3.2 Sei t der in Abbildung 2.3 dargestellte Baum. Dann wird t formal beschrieben durch A = {a, b, c} sowie dom(t) = {ε, 0, 1, 00, 01}, t(ε) = a, t(0) = b, t(1) = a, t(00) = a und t(01) = c. 2.3.2 Die Struktur eines Baumes t ist folgendermaßen definiert: t
=
( dom(t), S0t , S1t ,
Hier sind dom(t) die zu Grunde liegende Baumdom¨ane, S0t und S1t die linke bzw. rechte Nachfolgerelation,
Automatentheorie und Logik - Wintersemester 2004/05 a
α
0 γ
a 1 β
γ
2 b
9
α
3 c
Abbildung 2.4: Ein (knoten- und kantenbeschrifteter) Graph. Ein Baum heißt endlich, wenn dom(t) eine endliche Menge ist, ansonsten unendlich. Ein Baum heißt voll, wenn er keine Bl¨atter hat; dann ist er automatisch unendlich. Im folgenden betrachten wir nur B¨aume, die entweder endlich oder voll sind. Es gibt also nur eine unendliche Baumdom¨ane, auf der allerdings viele verschiedene Beschriftungen definiert werden k¨onnen.
2.3.4
Modelle fu ¨ r Graphen
Graphen sind allgemeiner als B¨aume, und wir betrachten nunmehr zwei Alphabete: A f¨ ur Knotenbeschriftungen und B f¨ ur Kantenbeschriftungen. Die Knotenmenge ist unterteilt in Teilmengen Q G a (alle Knoten mit Beschriftung a ∈ A), und die Kantenmenge in Teilmengen EbG (alle Kanten mit Beschriftung b). Eine Graphstruktur G hat also die Form: G
=
(
V |{z}
Knotenmenge
,
(EbG )b∈B | {z }
paarweise disjunkte Mengen mit EbG ⊆ V ×V
,
(QG )a∈A | a{z }
)
paarweise disjunkte Mengen mit QG a ⊆V
Beispiel 2.3.3 Der knoten- und kantenbeschriftete Graph G in Abbildung 2.4 wird durch die folgende Struktur beschrieben: Es gibt vier Knoten: V = dom(G) = {0, 1, 2, 3}; die Knotenbeschriftungsmenge ist A = {a, b, c}; die Knoten 0 und 1 sind mit a beschriftet: QG a = {0, 1}; der Knoten 2 ist mit b beschriftet: QG = {2}; b der Knoten 3 ist mit c beschriftet: QG c = {3}; die Kantenbeschriftungsmenge ist B = {α, β, γ}; zwei Kanten sind mit α beschriftet: EαG = {(0, 1), (3, 2)}; eine Kante ist mit β beschriftet: EβG = {(1, 3)}; und zwei Kanten sind mit γ beschriftet: EγG = {(0, 2), (3, 0)}. 2.3.3 Baum- und Wortstrukturen sind Spezialf¨alle von Graphstrukturen: Sei die Knotenmenge V einer Graphstruktur G eine Baumdom¨ane und sei B = {0, 1}. Jede Kante hat also eine von zwei m¨oglichen Beschriftungen: links“ (0) oder rechts“ (1). Dann gibt es nur zwei Mengen EbG , ” ” n¨amlich E0G und E1G , die mit den Mengen S0t und S1t einer Baumstruktur t identifiziert werden k¨onnen. Mit anderen Worten: jede Baumstruktur mit Baumdom¨ane P ist auch eine Graphstruktur mit |B| = 2 und Knotenmenge V = P .
10
Vorlesungsskript von E. Best / Stand: 19. September 2005
Sei andererseits V entweder die Menge {0, . . . , m − 1} (mit m ∈ N) oder die Menge N und sei |B| = 1, z.B. B = {0}. Wenn f¨ ur das einzige Element 0 von B die Menge E0G gleich der Nachfolgerelation S ist, dann kann G als Wortstruktur interpretiert werden. Mit anderen Worten: jede Wortstruktur mit Grundbereich D = {0, . . . , m − 1} oder D = N ist auch eine Graphstruktur mit |B| = 1 und Knotenmenge V = D.
2.4
Pr¨ adikatenlogik erster Stufe (mit Gleichheit) ... worin die Pr¨adikatenlogik im Schnelldurchgang erkl¨art wird ...
2.4.1
Syntax von FO
Formeln der Logik FO sind aus den folgenden Elementen aufgebaut: • Kleinbuchstabige Variablen x, y, . . . Diese stehen f¨ ur die Elemente von Grundbereichen, z.B. f¨ ur Positionen in W¨ortern oder f¨ ur Elemente von Baumdom¨anen. Normalerweise – wenn nicht explizit etwas anderes gesagt wird – betrachten wir Wortstrukturen. Dann bedeuten die Variablen x, y, . . . Positionen, d.h., nat¨ urliche Zahlen. • Logische Symbole ¬, ∧, ∨, →, ↔, ∃ und ∀. • Nichtlogische Symbole S (successor), <, Qa (a ∈ A) und =. Die Menge der nichtlogischen Symbole außer dem Gleichheitszeichen = und außer den Pr¨adikaten Qa (die unabdingbar sind zur Formulierung von Eigenschaften, die sich auf A beziehen), d.h., S und <, werden die Signatur der Logik genannt. Um die Signatur hervorzuheben, wird sie auch in Klammern angegeben: FO[S, <]. Durch die Signatur k¨onnen wir Klassen von Formeln unterscheiden: • FO[S, <]: die volle, oben definierte FO-Logik, in deren Formeln sowohl das Zeichen S als auch das Zeichen < enthalten sein kann. Beispiel: ∀x ∀y (S(x, y) → x < y). • FO[S]: Formeln, die m¨oglicherweise S, aber kein Zeichen < enthalten. Beispiel: ∃x S(x, y). • FO[<]: Formeln, die m¨oglicherweise <, aber kein Zeichen S enthalten. Beispiel: ∀x x
2.4.2
Semantik von FO
Wir definieren die Semantik von FO-Formeln zun¨achst auf Wortstrukturen.
Automatentheorie und Logik - Wintersemester 2004/05
11
Definition 2.4.1 Erf¨ ulltheitsbeziehung |= f¨ ur FO Sei w ein (endliches oder unendliches) Wort und sei w = (dom(w), S w , <w , (Qw a )a∈A ) seine Struktur. Seien p1 , . . . , pm Positionen in dom(w) und sei ϕ = ϕ(x1 , . . . , xm ) eine Formel mit freien Variablen h¨ochstens x1 , . . . , xm . Wir definieren (w, p1 , . . . , pm ) |= ϕ(x1 , . . . , xm )
(Sprechweise: (w, p1 , . . . , pm ) erf¨ ullt ϕ)
genau dann, wenn ϕ in w gilt, sofern die Zeichen =, S, <, Qa in ϕ der Reihe nach durch die Gleichheit von Positionen, die Relationen S w , <w , bzw. die Teilmengen Qw a interpretiert werden und die Variablen xj durch die Positionen pj ersetzt werden. 2.4.1 Beispiel 2.4.2 (abac, 1, 3) (abac, 1, 3)
|= 6|=
Qb (x1 ) ∧ Qc (x2 ), weil an den Stellen 1 und 3 b bzw. c stehen; ∃x : (S(x1 , x) ∧ Qb (x)), weil an der Stelle 2 kein b steht. 2.4.2
Falls w = ε speziell das leere Wort ist, dann gilt:
und
(ε) |= ∀x ϕ(x) (ε) |6 = ∃x ϕ(x) .
Die linke Seite, (ε), hat keine Positionsparameter, weil die Positionenmenge des leeren Worts leer ist. Definition 2.4.3 Die von einer (geschlossenen) FO-Formel definierte Sprache Sei ϕ eine Aussage. Dann ist die von ϕ definierte Sprache definiert als L(ϕ) ⊆ A ∗ mit L(ϕ) = { w ∈ A∗ | (w) |= ϕ }. Die von ϕ definierte ω-Sprache ist definiert als Lω (ϕ) ⊆ Aω mit Lω (ϕ) = { α ∈ Aω | (α) |= ϕ }. 2.4.3 Die Ausdr¨ ucke (w) und (α) in dieser Definition haben keine Positionsparameter, weil ϕ nach Voraussetzung keine freien Variablen hat. Wenn verdeutlicht werden soll, dass mit L(ϕ) eine Menge endlicher W¨orter gemeint ist, spricht man auch von der Sternsprache von ϕ und bezeichnet L(ϕ) mit L ∗ (ϕ). Definition 2.4.4 FO-Definierbarkeit Eine Sprache L ⊆ A∗ (bzw. eine ω-Sprache L ⊆ Aω ) heißt FO-definierbar (first order definable) – oder genauer: FO[S, <]-definierbar –, wenn es eine Formel ϕ der FO-Logik mit L = L(ϕ) (bzw. L = L ω (ϕ)) 2.4.4 gibt. Beispiel 2.4.5 Der Beispielautomat M0 in Kapitel 1 akzeptiert eine FO-definierbare Sprache. F¨ ur die ebenfalls in Kapitel 2.4.5 1 angegebene FO-Formel ϕ0 gilt n¨amlich L(M0 ) = L(ϕ0 ). Analog bedeuten • FO[S]-Definierbarkeit“ die Existenz einer FO-Formel ϕ ohne <, mit obigen Eigenschaften, ”
12
Vorlesungsskript von E. Best / Stand: 19. September 2005 • und FO[<]-Definierbarkeit“ die Existenz einer FO-Formel ϕ ohne S, mit obigen Eigenschaften. ”
Um FO-Formeln f¨ ur andere Strukturen (B¨aume bzw. Graphen) schreiben zu k¨onnen, werden an der Stelle der Zeichen S und < andere Symbole verwendet: • F¨ ur B¨aume ben¨otigen wir Relationensymbole S0 , S1 (links, rechts); das Symbol < kann bleiben: x < y steht nun f¨ ur x ist Vorg¨anger von y“ (im Baum). Es werden definiert: T (ϕ) bzw. T∗ (ϕ) als die Menge ” der endlichen B¨aume, die ϕ erf¨ ullen, und Tω (ϕ) als die Menge der unendlichen B¨aume, die ϕ erf¨ ullen. • F¨ ur Graphen spielt Eb die Rolle von S bzw. von S0 und S1 . Es gibt zwei Alphabete A (f¨ ur Knoten) und B (f¨ ur Kanten). Atomare Formeln sind x = y, Eb (x, y), Qa (x) (a ∈ A, b ∈ B). Die Definitionen der Erf¨ ulltheit einer Formel, der Menge von B¨aumen (Graphen), die eine Formel erf¨ ullen, und der FO-Definierbarkeit solcher Mengen k¨onnen dann direkt von den obigen Definitionen (2.4.1 bis 2.4.4) u ¨bertragen werden. Bemerkung 2.4.6 FO[S, <] und FO[<] sind gleich m¨ achtig FO[S, <]-Definierbarkeit und FO[<]-Definierbarkeit sind gleichbedeutend, da man S durch < ausdr¨ ucken kann: S(x, y) gdw. x
Als Beispiel bringen wir die Formel
|
.{z ..
}
Kern ohne Quantoren
(∀x (F → G)) ∧ (G0 → ∀x F 0 ) in Pr¨anexform. Es sei angenommen, dass x nicht frei in G0 vorkommt, dass y nicht frei in F , G, F 0 oder G0 vorkommt, und dass F , G, F 0 und G0 quantorenfrei sind: (∀x (F → G)) ∧ (G0 → ∀x F 0 )
≡
( Hineinziehen der zweiten Implikation unter den zweiten Quantor ) (∀x (F → G)) ∧ (∀x (G0 → F 0 )) ≡ ( α-Konversion; Umbenennung von x zu y in F 0 ) (∀x (F → G)) ∧ (∀y (G0 → F 0 [x ← y])) ≡ ( Hineinziehen des zweiten Konjunkts unter den ersten Quantor ) ∀x ( (F → G) ∧ ∀y (G0 → F 0 [x ← y]) ) ≡ ( Hineinziehen der ersten Implikation unter den zweiten Quantor ) ∀x ∀y ( (F → G) ∧ (G0 → F 0 [x ← y]) ) .
Der genannte Satz gilt auch im vorliegenden Fall: Jede FO-Formel kann in eine ¨aquivalente Formel in Pr¨anex-Normalform transformiert werden. Eine Formel wird in Σ0n -Form genannt1 , wenn sie in einer speziellen Pr¨anexform ist, n¨amlich mit n ∃/∀Bl¨ocken (Reihungen gleichartiger Quantifizierungen), beginnend mit ∃-Quantoren: . . ∀ . . . ∃ . . . ∃} : |∃ . . . ∃ . . . ∀ .{z n Bl¨ ocke
1 Der
|
.{z ..
}
Kern ohne Quantoren
Hochindex 0“ deutet eine Klassifikation nach Quantifikationen erster Ordnung (∃x, ∀x) an. ”
Automatentheorie und Logik - Wintersemester 2004/05
13
Eine Formel wird in Π0n -Form genannt, wenn sie in Pr¨anexform ist, und zwar mit n ∀/∃-Bl¨ocken, beginnend mit ∀-Quantoren: . . ∃ . . . ∀ . . . ∀} : |∀ . . . ∀ . . . ∃ .{z n Bl¨ ocke
|
.{z ..
}
Kern ohne Quantoren
Die oben in Pr¨anexform gebrachte Formel beginnt mit einem ∀-Block und hat keinen ∃-Quantor; sie ist also in Π01 -Form. Die Negation einer Σ0n -Formel kann in Π0n -Form gebracht werden, und umgekehrt. Eine Formel heißt in B(Σ0n )-Form, wenn sie eine Boolesche Kombination (unter Benutzung von ¬, ∧, ∨) von Σ 0n -Formeln ist. 2.4.7 Bemerkung 2.4.8 Alphabeterweiterung Manche Beweise gehen durch Induktion u ¨ber die Syntax von Formeln vonstatten. Eine Formel mag geschlossen sein; dies muß aber nicht f¨ ur alle Teilformeln gelten. Ein einfaches Beispiel: (∃x : ϕ(x)) ist geschlossen, ϕ(x) aber nicht. Bisher kennen wir den Erf¨ ulltheitsbegriff |= f¨ ur F O-Formeln wie ϕ(x) mit einer freien Variablen folgendermaßen: (w, p) | {z }
|= ϕ(x)
gdw.
...
Wortmodell plus Position
Um Induktionsbeweise durchf¨ uhren zu k¨onnen, sind die Positionen hinderlich. Wir suchen daher nach einer Art und Weise, um sie in ein erweitertes Alphabet hinein zu codieren, so dass man auch w0 |{z}
|=
ϕ(x)
Wortmodell u ¨ ber dem erweiterten Alphabet
definieren kann, selbst wenn ϕ nicht geschlossen ist. Wir erkl¨aren das Prinzip anhand zweier Variablen x und y. Sei ϕ(x, y) eine F O-Formel in zwei Variablen, z.B. ϕ(x, y) = (x
=
{a, ax , ay , axy | a ∈ A}
Wenn z.B. A = {a, b} gilt, dann ist Ax,y = {a, b, ax , bx , ay , by , axy , bxy }. Ein Wort w ∈ A∗x,y ist, per definitionem, nur dann eine zul¨assige Struktur f¨ ur ϕ(x, y), wenn jede freie Variable genau einmal als Index vorkommt, z.B.: nicht zul¨assig zul¨assig abax aby a ε abxy aaba ax ay bax ba by aaa a x bx a y
weil: weder x noch y kommen vor y kommt nicht vor x kommt nicht vor x kommt zweimal vor.
Die Idee ist dabei, dass die W¨orter u ¨ber Ax,y die W¨orter u ¨ber A und zwei Positionen codieren. Diejenige Position, an der die Variable vorkommt, entspricht dem Wert, der ihr zugewiesen wird. Also haben wir z.B.: ¨ ¨ Uber Ax,y : Uber A: abax aby a entspricht (abaaba, 2, 4) abxy aaba entspricht (abaaba, 2, 2) ay bax ba entspricht (ababa, 2, 0)
Beispiel-(Un-)Erf¨ ulltheitsbeziehung: |= (x < y) 6|= (x < y) 6|= (x < y).
Diese Codierung kann unschwer auf n freie Variablen verallgemeinert werden. Geschlossene Formeln ϕ (0 freie Variablen) sind ein Spezialfall, und zwar ein solcher, der genau mit dem urspr¨ unglichen Fall (interpretiere ϕu ¨ber A) zusammenf¨allt. Also kann jede Formel ϕ(x1 , . . . , xn ) mit freien Variablen x1 , . . . , xn , anstatt auf W¨ortern u ¨ber A mit n (ohne Positionsangaben) interpretiert werden, Positionsangaben auf W¨ortern, u ber dem Alphabet A ¨ x1 ,...,xn jedoch nur auf solchen, in denen jede freie Variable genau einmal als Index vorkommt. 2.4.8
14
Vorlesungsskript von E. Best / Stand: 19. September 2005
2.5
Monadische Logik zweiter Stufe (MSO-Logik) ... worin Individuen zu Gruppen zusammengefaßt werden ...
2.5.1
Syntax von MSO
Wir erweitern die Logik FO durch: • Großbuchstabige Variablen 2. Stufe, X, Y , . . . Diese stehen f¨ ur Mengen von Elementen des jeweiligen Grundbereichs, z.B. f¨ ur Positionenmengen oder f¨ ur Mengen von W¨ortern in Baumdom¨anen (d.h., Mengen von Knoten). Normalerweise – wenn nicht explizit etwas anderes gesagt wird – betrachten wir Wortstrukturen. Dann bedeuten die Variablen X, Y, . . . Mengen von Positionen, d.h., Mengen von nat¨ urlichen Zahlen. • Atomare Formeln der Art X(x), Y (x), etc. Diese haben die Bedeutung: x ∈ X“, x ∈ Y “, etc. ” Ansonsten d¨ urfen in MSO-Formeln die gleichen Symbole vorkommen, wie in FO-Formeln, wobei S, < und Qa weiterhin nur auf (kleinbuchstabige) Variablen 1. Stufe bezogen werden. Das Wort monadisch“ stammt von der Idee, dass Mengen monadische Objekte h¨oherer (d.h., 2., da die ” Pr¨adikatenlogik first order“ genannt wird) Ordnung (oder: un¨are Relationen“) sind, im Gegensatz zu ” ” (bin¨aren, tern¨aren, . . .) Relationen, die polyadisch“ genannt werden. ” Dass die Erweiterung von FO auf MSO sinnvoll ist, zeigt folgendes Beispiel. Einerseits gilt allgemein (wie wir bald zeigen werden): jede FO-definierbare Sprache ist regul¨ar, d.h., von einem endlichen Automaten akzeptierbar. Aber die Umkehrung gilt nicht. Betrachten wir dazu A = {a, b} und den in Abbildung 2.5 gezeigten endlichen Automaten M 0 mit drei akzeptierenden Zust¨anden. Es gilt: L(M 0 )
=
{ w ∈ A∗ |
falls w = . . . b|{z} . . . b . . . und in u kommt kein b vor, u
dann hat u ungerade viele a’s
}.
Z.B. gilt bab ∈ L(M 0 ) und baab 6∈ L(M 0 ). Wir behaupten, dass es keine FO[S, <]-Formel gibt, die L(M 0 ) definiert, und werden dies sp¨ater auch beweisen. a b a, b
a
Abbildung 2.5: Ein endlicher Automat M 0 , der eine nicht-FO-definierbare Sprache akzeptiert. Wir betrachten demgegen¨ uber die folgende MSO-Formel ϕ0 : ϕ0
= ∀x∀y [ ( Qb (x) ∧ (x
Offenbar beschreibt ϕ0 die Sprache L(M 0 ). In der Tat gilt – wie wir sp¨ater sehen werden – dass jede regul¨are Sprache MSO-definierbar ist. Zun¨achst definieren wir diesen Begriff ganz analog zur Definition im letzten Abschnitt.
Automatentheorie und Logik - Wintersemester 2004/05
2.5.2
15
Semantik von MSO
Wir definieren die Semantik zun¨achst wieder auf Wortstrukturen. Definition 2.5.1 Erf¨ ulltheitsbeziehung |= f¨ ur MSO Sei w ein (endliches oder unendliches) Wort und sei w = (dom(w), S w , <w , (Qw a )a∈A ) seine Struktur. Seien P1 , . . . , Pm ⊆ dom(w) Mengen von Positionen und sei ϕ eine Formel ϕ = ϕ(X1 , . . . , Xm ) mit freien Variablen h¨ochstens X1 , . . . , Xm . Wir definieren (w, P1 , . . . , Pm ) |= ϕ(X1 , . . . , Xm ) genau dann, wenn ϕ in w gilt, sofern die Zeichen =, S, <, Qa , X(x) der Reihe nach durch die Gleichheit von Positionen und die Pr¨adikate S w , <w , Qw a bzw. x ∈ X interpretiert und die Variablen 2. Ordnung X j 2.5.1 durch die Positionsmengen Pj ersetzt werden. Wir haben die Erf¨ ulltheitsbeziehung nur f¨ ur MSO-Formeln ohne freie FO-Variablen definiert. Das ist aber, wie wir gleich sehen werden (Bemerkung 2.5.5) keine Einschr¨ankung, da FO-Variablen durch MSO-Variablen simuliert“ werden k¨onnen. ” Definition 2.5.2 MSO-Definierbarkeit Die von einer geschlossenen Formel ϕ definierten Sprachen, L(ϕ) bzw. Lω (ϕ), sind wie vorher definiert: L(ϕ) = {w ∈ A∗ | (w) |= ϕ} und Lω (ϕ) = {α ∈ Aω | (α) |= ϕ}. Eine Sprache L ⊆ A∗ (bzw. L ⊆ Aω ) heißt MSO-definierbar, wenn es eine geschlossene MSO-Formel ϕ gibt mit L = L(ϕ) (bzw. L = Lω (ϕ)). 2.5.2 Die beiden letzten Definitionen (die der Erf¨ ulltheitsbeziehung |= und die der MSO-Definierbarkeit) k¨onnen analog, wie es in Abschnitt 2.4.2 geschildert wurde, auch f¨ ur B¨aume und Graphen definiert werden. Bemerkung 2.5.3 Gleichwertigkeit von S und < in MSO auf Wortstrukturen In MSO kann man die <-Relation durch die Relation S ausdr¨ ucken (nicht nur umgekehrt, wie vorher). Auf Wortstrukturen gilt x < y genau dann, wenn (¬(x = y)) ∧ ∀X [ ( X(y) ∧ ∀z∀z 0 ( ( X(z)∧S(z 0 , z) ) → X(z 0 ) ) ) → X(x) ] . ¨ Auf (unendlichen) Graphstrukturen gilt diese Aquivalenz nicht allgemein.
2.5.3
Bemerkung 2.5.4 Pr¨ anex-Normalformen in MSO Auch f¨ ur MSO-Formeln gilt der Satz von der Existenz einer Pr¨anex-Normalform. Wir schieben“, indem ” wir Einermengen als Beschreibungen ihrer Elemente auffassen, alle Quantoren 2. Ordnung (z.B. ∃X . . .) vor alle Quantoren 1. Ordnung (z.B. ∃x . . .). Beispiel: ∀x∃Y ϕ(x, Y ) ≡ ∀X∃Y ∀x (∀u∀v(X(u)∧X(v)→u=v)) → (X(x)→ϕ(x, Y )) | {z } X ist Einermenge oder leer“ ”
Eine
Σ1n -Formel
ist definiert als eine Formel (in Pr¨anexform), in der Form
∃X . . . ∀X 0 . . . : ..... } |{z} | . . . .{z mind. 1 Kern, dessen Quantoren h¨ ochstens {z } von der Form ∃x, ∀x (FO!) sind. | n Bl¨ ocke
Π1n -Formeln Σ11 -Formeln
sind analog definiert. (d.h. solche, die mit ∃X1 . . . ∃Xk (nur ∃-Quantoren) beginnen und sonst nur FO-Quantoren haben) heißen auch existentielle MSO-Formeln (EMSO-Formeln). 2.5.4 Der Hochindex 1 weist auf eine Klassifikation gem¨aß Quantifikation 2. Ordnung hin.
16
Vorlesungsskript von E. Best / Stand: 19. September 2005
Bemerkung 2.5.5 MSO ohne FO-Variablen Man kann auf FO-Variablen x, y, etc., ganz verzichten, indem man z.B. x durch eine Einermenge {x} simuliert“. Beispielsweise kann x ∈ X durch {x} ⊆ X ersetzt werden. Wir betrachten einige atomare ” Formeln, die in MSO nichts Neues“ darstellen, da sie sich durch S, ∀, etc. ausdr¨ ucken lassen: ” X⊆Y , | {z }
Sing(X) , | {z }
X Teilmenge ” von Y “
X ist ” Einermenge“
Suc(X, Y ) , | {z }
X, Y sind ” Einermengen X = {x}, Y = {y} und S(x, y)“
X ⊆ Qa | {z }
(2.1)
X Teilmenge ” von Qa“
Wir definieren MSO0 als diejenige Logik, die entsteht, wenn man die Formeln (2.1) dazu nimmt, die FOVariablen aber wegl¨asst. ¨ Jede MSO0 -Formel ist – per Ubersetzung von (2.1) in MSO – auch eine MSO-Formel. Umgekehrt kann (unschwer) jede MSO-Formel als MSO0 -Formel umgeschrieben“ werden; hier ist ein Beispiel: ” ∀x(Qa (x) → ∃y(S(x, y) ∧ Z(y))) wird zu: ∀X(Sing(X) ∧ (X ⊆ Qa ) → ∃Y (Sing(Y ) ∧ Suc(X, Y ) ∧ (Y ⊆ Z))). Mit anderen Worten: MSO und MSO0 sind gleich m¨achtig. Also sind die SO-Variablen X, Y ,. . . und nicht die FO-Variablen x, y,. . . die bestimmenden Parameter einer MSO-Formel, da letztere stets durch erstere ausgedr¨ uckt werden k¨onnen. F¨ ur B¨aume (Graphen) verwendet man Suc0 (X, Y ), Suc1 (X, Y ) (bzw. Eb (X, Y )) anstelle von Suc(X, Y ). 2.5.5 Bemerkung 2.5.6 Alphabeterweiterung Sei ϕ eine Formel mit freien Variablen X1 , . . . , Xm . Anstatt ϕ auf (w, P1 , . . . , Pm ) zu interpretieren, kann man ϕ auch auf einem Wort u ¨ber A0 interpretieren, wobei A0 das folgende erweiterte Alphabet ist: A0 = A × {0, 1}m
(2.2)
Genauer: f¨ ur w ∈ A∞ und Pj ⊆ dom(w) (f¨ ur 1 ≤ j ≤ m) entspricht (w, P1 , . . . , Pm ) dem folgenden Wort ∞ w 0 ∈ A0 : Sei
w
=
Dann mit
w0 a0i
= =
und
cij
a 0 a1 a2 . . .
a00 a01 a02 . . . (ai , ci1 , . . . , cim ) ½ 0 falls i 6∈ Pj , = 1 falls i ∈ Pj .
Beispiel: Betrachte (α, P1 , P2 ) mit α P1 P2
= abbaaa . . . , = die geraden Zahlen ≥ 0, = die Primzahlen.
Das entspricht dem Wort α0 = (a, 1, 0) (b, 0, 0) (b, 1, 1) (a, 0, 1) (a, 1, 0) (a, 0, 1) . . .
Automatentheorie und Logik - Wintersemester 2004/05
17
oder in vielleicht u ¨bersichtlicherer Matrixform: Position: α P1 P2
0 1 2 3 4 5 ... a b b a a a ... 1 0 1 0 1 0 ... 0 0 1 1 0 1 ...
Wenn in jeder Pj -Reihe die 1 genau einmal vorkommt, sind alle Pj Einermengen. Dann liegt der FO-Fall vor und die gerade angegebene Konstruktion ist ¨aquivalent mit der am Ende von Abschnitt 2.4 angegebenen. Wenn andererseits m = 0 gilt, gibt es keine freien MSO-Variablen. Wegen {0, 1} 0 = {∅} ist dann A0 = A×{∅}, und wegen der direkten Bijektion zwischen der Menge A×{∅} und der Menge A erhalten wir die Definition 2.5.1 zur¨ uck; die Konstruktion (2.2) ist also eine konservative Erweiterung dieser Definition. 2.5.6
2.6
Zusammenfassung
Wir wissen nun, was es bedeutet, dass eine logische Formel ϕ eine Menge L von Objekten (W¨ ortern, ...) definiert. Auf der einen Seite kann die Formel ϕ aus verschiedenen Logiken stammen, von denen wir etliche definiert haben. Im Wesentlichen haben wir die folgenden drei Logiken vorgestellt: • FO[S]. • FO=FO[S,<] und ¨aquivalent dazu FO[<]. • MSO und ¨aquivalent dazu MSO0 . Alle in diesem Kapitel bisher definierten Logiken (z.B. FO[<] oder MSO0 ) lassen sich in eine der drei genannten Klassen einordnen. Wir wissen allerdings noch nicht ganz sicher, ob diese Klassen wirklich verschieden sind. Auf der anderen Seite k¨onnen die Objekte in L auch unterschiedlicher Natur sein: • Endliche W¨orter (dann ist L eine ∗-Sprache). • Unendliche W¨orter (dann ist L eine ω-Sprache). • Endliche B¨aume. • Unendliche B¨aume. • Graphen.
18
Vorlesungsskript von E. Best / Stand: 19. September 2005
Kapitel 3
Der Satz von Bu ¨ chi und verwandte Themen Wir besch¨aftigen uns nun mit dem Satz von B¨ uchi (Abschnitt 3.1) und verschiedenen seiner Auswirkungen. In Abschnitt 3.2 untersuchen wir, ob die FO-definierbaren Sprachen eine echte Teilklasse der MSOdefinierbaren sind oder nicht. In Abschnitt 3.3 werden die FO[S, <]-definierbaren Sprachen charakterisiert, und in Abschnitt 3.4 werden wir sehen, dass die FO[S]-definierbaren Sprachen eine echte Teilmenge davon bilden.
3.1
MSO-Logik auf endlichen W¨ ortern ... worin der Satz von B¨ uchi bewiesen wird ...
Zun¨achst entsinnen wir uns der Definition endlicher Automaten aus der Grundvorlesung: Ein endlicher Automat u ¨ber einem Alphabet A ist ein 5-Tupel A = (
Q , |{z} A , |{z}
q0 |{z}
,
∆ |{z}
,
F |{z}
).
ande Zust¨ ande Alphabet Anfangszustand Transitionsrelation Endzust¨ ⊆Q×A×Q
A heißt deterministisch, wenn ∆ eine Funktion ∆ : Q × A → Q ist. Ein Wort w = a0 . . . an−1 ∈ A∗ (mit n ∈ N) wird von A akzeptiert, wenn es eine Zustandsfolge (einen Lauf“ oder run“) ” ” ρ0 ρ1 . . . ρ n gibt mit ρ0 = q 0
(Anfangsbedingung),
(ρi , ai , ρi+1 ) ∈ ∆ f¨ ur 0 ≤ i < n ρn ∈ F
¨ (Ubergangsbedingung), (Endbedingung).
(3.1)
Man beachte den Spezialfall n = 0. Dann ist w das leere Wort, der Lauf ρ0 ρ1 . . . ρn reduziert sich zu ρ0 = q0 , und (3.1) wird insgesamt zu q0 ∈ F . A akzeptiert ε also genau dann, wenn q0 ∈ F gilt. L(A), die von A akzeptierte Sprache, ist die Menge aller von A akzeptierten W¨orter. Satz 3.1.1 Satz von B¨ uchi Eine Sprache L ⊆ A∗ ist von einem endlichen Automaten akzeptierbar, genau dann, wenn sie MSO[S]definierbar ist; und beide Transformationen (von Automaten nach Formeln und andersherum) sind effektiv.
19
20
Vorlesungsskript von E. Best / Stand: 19. September 2005
Beweis: (⇒): Gegeben sei ein endlicher Automat A = (Q, A, q0 , ∆, F ). O.B.d.A. d¨ urfen wir annehmen, dass Q = {0, . . . , k} mit 0 = q0 gilt. Wir f¨ uhren abk¨ urzende Notation ein: first(x) ≡ ¬∃y : S(y, x) last(x) ≡ ¬∃y : S(x, y)
(¨aquivalent mit ¬∃y : y < x ) (¨aquivalent mit ¬∃y : x < y ).
Betrachten wir dann die folgende Formel ϕ: ϕ
=
∃X0 . . . ∃Xk : (1) ∧ (2) ∧ (3) ∧ (4),
(3.2)
mit: (1): [
V
0≤i6=j≤k :
∀x ¬(Xi (x) ∧ Xj (x)) ]
(2): [ ∀x : first(x) → X0 (x) ] W (3): [ ∀x∀y : S(x, y) → (i,a,j)∈∆ (Xi (x) ∧ Qa (x) ∧ Xj (y)) ] W (4): [∀x : last(x) → ∃j∈F : (i,a,j)∈∆ (Xi (x) ∧ Qa (x))].
V W Die Zeichen und in diesen Formeln stellen allgemeine, abk¨ urzende aussagenlogische Konjunktionsbzw. Disjunktionszeichen dar; diese d¨ urfen verwendet werden, da es sich jeweils nur um endlich viele Konjunktions- bzw. Disjunktionsglieder handelt. Sei ½ ϕ falls ε ∈ L(A) ψ= (3.3) ϕ ∧ ∃x(x = x) falls ε 6∈ L(A) . ψ ist die Formel, die, wie wir gleich sehen werden, die gleiche Sprache wie A definiert. 0
b
1
a
a
2
a, b
Abbildung 3.1: Ein Automat, der in eine MSO-Formel u uhrt werden soll. ¨berf¨ Beispiel: Der in Abbildung 3.1 dargestellte Automat u ¨ber A = {a, b} wird formal beschrieben durch Q = {0, 1, 2} , ∆ = {(0, a, 0), (0, b, 1), (1, a, 2), (2, a, 1), (2, b, 1)} , F = {0, 1} . Dann gilt ε ∈ L(A) und es wird ψ = ϕ = ∃X0 ∃X1 ∃X2 : (1) ∧ (2) ∧ (3) ∧ (4) mit (1): (∀x ¬(X0 (x) ∧ X1 (x))) ∧ (∀x ¬(X0 (x) ∧ X2 (x))) ∧ (∀x ¬(X1 (x) ∧ X2 (x))). (2): ∀x : first(x) → X0 (x). (W¨ usste man w 6= ε, k¨onnte man dies durch X0 (0) ersetzen.) (3): ∀x∀y : S(x, y) → ((3a) ∨ (3b) ∨ (3c) ∨ (3d) ∨ (3e)), mit (3a): (X0 (x) ∧ Qa (x) ∧ X0 (y)) (1. Element (0, a, 0) in ∆) (3b): (X0 (x) ∧ Qb (x) ∧ X1 (y)) (2. Element (0, b, 1) in ∆)
Automatentheorie und Logik - Wintersemester 2004/05
21
(3c): (X1 (x) ∧ Qa (x) ∧ X2 (y)) (3. Element (1, a, 2) in ∆) (3d): (X2 (x) ∧ Qa (x) ∧ X1 (y)) (4. Element (2, a, 1) in ∆) (3e): (X2 (x) ∧ Qb (x) ∧ X1 (y)) (5. Element (2, b, 1) in ∆). (4): ∀x : last(x) → ((4a) ∨ (4b) ∨ (4c) ∨ (4d)), mit (4a): (X0 (x) ∧ Qa (x)) (1. Element in ∆, f¨ uhrt zu Endzustand) (4b): (X0 (x) ∧ Qb (x)) (2. Element in ∆, f¨ uhrt zu Endzustand) (4c): (X2 (x) ∧ Qa (x)) (4. Element in ∆, f¨ uhrt zu Endzustand) (4d): (X2 (x) ∧ Qb (x)) (5. Element in ∆, f¨ uhrt zu Endzustand). In Abbildung 3.1 gilt w1 = baaab ∈ L(A), also sollte auch w1 |= ψ gelten. Wie kommt dies zustande? Die Mengen Xj enthalten per definitionem alle Positionen eines Wortes, vor denen der Zustand j in einer akzeptierbaren Folge steht. Z.B. wird w1 = baaab folgendermaßen akzeptiert: Lauf: Wort mit Zwischenzust¨anden: Positionen der Buchstaben:
q 0 = ρ0 0
b 0
ρ1 1
a 1
ρ2 2
a 2
ρ3 1
a 3
ρ4 2
b 4
ρ5 ∈ F 1
Also betrachten wir X0 = {0} (da der Zustand 0 vor der Position 0 vorkommt), X1 = {1, 3} (da der Zustand 1 vor der Position 1 und vor der Position 3 vorkommt) und X2 = {2, 4} (da der Zustand 2 vor der Position 2 und vor der Position 4 vorkommt). Diese Mengen X0 , X1 , X2 erf¨ ullen (1) bis (4): (1), weil sie paarweise disjunkt sind. (2), weil 0 ∈ X0 gilt. (3), z.B. S(2, 3), dann gilt (3d): X2 (2) ∧ Qa (2) ∧ X1 (3). (4), z.B. x = 4, dann gilt (4d): X2 (4) ∧ Qb (4) (und ∃j ∈ F : (4, b, j) ∈ ∆, n¨amlich j=1, 1 ∈ F ). Offensichtlich gilt auch umgekehrt: w |= ψ
⇒ es gibt X0 , . . . , Xk mit (1)∧ . . . ∧(4) ⇒ es gibt akzeptierende Folge ⇒ w ∈ L(A).
Die akzeptierende Folge in der zweiten Implikation konstruiert man, indem man auf Grund von (2) einen Anfangszustand nimmt (den einzig m¨oglichen), auf Grund von (3) Folgezust¨ande findet, und auf Grund von (4) dann weiß, dass der Endzustand ein akzeptierender Zustand ist. (⇐): Sei eine MSO-Formel ϕ gegeben. O.B.d.A. kann nach Bemerkung 2.5.5 ϕ als eine MSO 0 -Formel angenommen werden. Wir wollen den Satz durch Induktion u ¨ber die Struktur von ϕ beweisen. Ein bereits in Abschnitt 2.5 angesprochenes Problem ist dabei, dass eine Formel wie die Formel
∃Xψ(X) zwar geschlossen ist, ψ(X) aber die freie Variable X enth¨alt.
Wir m¨ ussen also allgemein auch nicht-geschlossene Formeln ϕ(X1 , . . . , Xn ) mit n freien Variablen betrachten. Um solche Formeln auf geschlossene Formeln zur¨ uckzuf¨ uhren, verwenden wir das Wortmodell A × {0, 1}n , das in Bemerkung 2.5.6 beschrieben wurde.
22
Vorlesungsskript von E. Best / Stand: 19. September 2005
Wir betrachten die folgende MSO0 -Syntax: ϕ
::=
(Xj ⊆ Xk ) | Sing(Xj ) | Suc(Xj , Xk ) | Xj ⊆ Qa | ϕ1 ∨ ϕ 2 | ¬ ϕ 1 |
∃Xn ψ(X1 , . . . , Xn ) {z } |
Formel mit n−1 freien Variablen
Es gen¨ ugt, die Verkn¨ upfungen ∨, ¬ und ∃ der zweiten Zeile der Syntax zu betrachten, da alle anderen (MSO-)logischen Verkn¨ upfungen aus ihnen abgeleitet werden k¨onnen. Zudem gen¨ ugt es, die Quantifizierung ∃Xn zu betrachten, da die Variable, u ¨ber die quantifiziert wird, durch Umbenennung an die letzte Stelle gebracht werden kann. Wir arbeiten nun die Formeln ϕ dieser Syntax sukzessive ab und geben jedes Mal einen Automaten u ¨ber dem Alphabet A×{0, 1}ν an, der die gleiche Sprache akzeptiert wie die Formel ϕ und wobei ν die Anzahl der freien Variablen in ϕ bedeutet. Von den atomare Formeln der ersten Syntaxzeile betrachten wir allerdings nur (Xj ⊆ Xk ), denn die anderen k¨onnen analog behandelt werden. Ein Automat A(Xj ⊆ Xk ), der L(Xj ⊆ Xk ) erkennt, kann nach folgendem Prinzip konstruiert werden: Folgen (a, c0j , c0k ) (a, c1j , c1k ) (a, c2j , c2k ) . . . werden so lange akzeptiert, wie f¨ ur die aktuelle Position i nicht Folegndes gilt: sie liegt in Xj (cij =1), aber nicht in Xk (cik =0). Abbildung 3.2 zeigt den so konstruierten Automaten A(X1 ⊆ X2 ) (d.h.: j = 1 und k = 2) u ¨ber A = {a}. 0 1 a @1A 0
0 1 0 1 0 1 a a a @0A , @0A , @1A 1 1 0
Abbildung 3.2: Der Automat A(X1 ⊆ X2 ) u ¨ber A = {a}. Seien A1 und A2 Automaten, die L1 = L(ϕ1 ) bzw. L2 = L(ϕ2 ) akzeptieren. Wir wollen einen Automaten konstruieren, der die Sprache L(ϕ1 ∨ϕ2 ) akzeptiert. Regul¨are Sprachen sind unter Vereinigung abgeschlossen; zum Beweis kann man eine (polynomielle) Konstruktion u ¨ber Vereinigungsautomaten benutzen. Sei A ein so konstruierter Automat, der L = L1 ∪ L2 erkennt. Dieser erkennt L(ϕ1 )∪L(ϕ2 ) = L(ϕ1 ∨ ϕ2 ), d.h., es gilt L(A) = L(ϕ1 ∨ ϕ2 ). Sei A ein Automat, der L(ϕ) akzeptiert. Wir wollen einen Automaten konstruieren, der die Sprache L(¬ϕ) akzeptiert. Regul¨are Sprachen sind unter Komplementbildung abgeschlossen; zum Beweis kann man eine (allerdings leider exponentielle) Konstruktion benutzen: zuerst macht man aus A einen deterministischen Automaten (hier geht die exponentielle Komplexit¨at ein), und danach vertauscht man die Rolle der Endzust¨ande mit der Rolle der anderen Zust¨ande. Sei A ein Automat, der L = A∗ \L erkennt. Dann gilt L(A) = L(¬ϕ). Sei A ein Automat, der L(ψ(X1 , . . . , Xn )) akzeptiert. Wir wollen einen Automaten konstruieren, der die Sprache L(∃Xn ψ(X1 , . . . , Xn )) akzeptiert. Nach den Vorbereitungen des Abschnitts 2.5 erzeugen wir B aus A durch Projektion, n¨amlich dadurch, dass die letzte (n te) Komponente der (erweiterten) Buchstaben einfach weggelassen wird. Wir zeigen, dass B die Sprache L(∃Xn : ψ(X1 , . . . , Xn )) akzeptiert. Die Wege in den Graphen von A und B sind genau gleich, nur deren Beschriftungen nicht ganz; es kann z.B. vorkommen, dass A deterministisch ist, B aber nicht. Falls also B das m-buchstabige Wort w0 = (a0 , c01 , . . . , c0n−1 ) . . . (am−1 , cm−1 , . . . , cm−1 1 n−1 )
Automatentheorie und Logik - Wintersemester 2004/05
23
durch einen Weg ρ0 . . . ρm akzeptiert, dann definiert ρ0 . . . ρm auch einen akzeptierenden Weg in A. Dessen Beschriftung ist m−1 ), , . . . , cm−1 w = (a0 , c01 , . . . , c0n−1 , c0n ) . . . (am−1 , cm−1 1 n−1 , cn
mit gewissen Werten c0n , c1n , . . . Wegen der Induktionshypothese erf¨ ullt das Wort w die Formel ψ(X1 , . . . , Xn ). Setze nun Pn = {i | 0 ≤ i ≤ m − 1 ∧ cin = 1}. Mit dieser Menge Pn , eingesetzt f¨ ur Xn , gilt dann w 0 ∈ L(∃Xn ψ(X1 , . . . , Xn )). 0 Sei umgekehrt w ∈ L(∃Xn ψ(X1 , . . . , Xn )), wobei w 0 genau so aufgebaut ist wie oben (und insbesondere mbuchstabig ist). Sei Pn ⊆ {0, . . . , m−1} eine Menge von Indices, die laut der Definition des ∃Xn -Operators f¨ ur Xn so eingesetzt werden kann, dass w 0 die Formel ∃Xn ψ(X1 , . . . , Xn ) erf¨ ullt. Definiere f¨ ur 0 ≤ i ≤ m−1: ½ 0 falls i 6∈ Pn cin = 1 falls i ∈ Pn . Sei w das aus w 0 gewonnene Wort, indem die cin als letzte Komponente zugef¨ ugt werden. Dann gilt w ∈ L(ψ(X1 , . . . , Xn )) nach Konstruktion. Wegen der Induktionshypothese existiert ein akzeptierender Pfad durch A f¨ ur w, also auch durch B f¨ ur w0 . 3.1.1 Die Abbildung 3.3 zeigt ein Beispiel mit n = 1 und A = {a, b}. Der Automat A (links im Bild) akzeptiert die Sprache L(Sing(X1 ) ∧ (X1 ⊆Qa )). Nach Konstruktion ist B der Automat rechts im Bild. In der Tat akzeptiert B die Sprache L(∃X1 : Sing(X1 ) ∧ (X1 ⊆Qa )). ¡a ¢
a
1
A: ¡ a¢ ¡ b ¢ 0 , 0
B: ¡ a¢ ¡ b ¢ 0 , 0
a, b
a, b
Abbildung 3.3: L(A) = L(Sing(X1 )∧(X1 ⊆Qa )) (links) und L(B) = L(∃X1 : Sing(X1 )∧(X1 ⊆Qa )) (rechts). Korollar 3.1.2 Jede MSO-Formel ist ¨ aquivalent zu einer EMSO-Formel bzw. zu einer Booleschen Kombination von EMSO-Formeln. Beweis: Sei ϕ eine MSO-Formel. Wir wenden die Konstruktionen von Satz 3.1.1 in beiden Richtungen je einmal an: ϕ
; ;
(Teil (⇐) des Satzes) Automat, (Teil (⇒) des Satzes) ψ.
Dann ist ψ eine zu ϕ ¨aquivalente Formel, die auf Grund von (3.3) die behauptete Form hat. 3.1.2 ¨ Wir gelangen so zu der in Abbildung 3.4 gezeigten Ubersicht. Bisher wissen wir, dass die regul¨aren genau die MSO-definierbaren Sprachen sind. Wir wissen aber immer noch nicht, ob die Inklusionen alle echt sind. Wir wissen zwar (aus der Grundvorlesung), dass es Sprachen gibt, die nicht regul¨ar sind (dass also die ¨außere Inklusion echt ist), aber noch nicht, ob es Sprachen gibt, die MSO-definierbar sind, aber nicht FO-definierbar.
3.2
Ehrenfeucht-Fraiss´ e-Spiele (EF-Spiele) ... worin die soeben festgestellte L¨ ucke spielerisch geschlossen wird ...
24
Vorlesungsskript von E. Best / Stand: 19. September 2005
' $ alle Sprachen º · MSO-definierbare = regul¨are Sprachen ® © FO-definierbare Sprachen
¹ &
ª ¸ %
Abbildung 3.4: Inklusionsbeziehungen (erstes Bild). In diesem Abschnitt charakterisieren wir die FO[S, <]-Definierbarkeit und damit auch, wann eine Sprache MSO-, aber nicht FO-definierbar ist. Wir betrachten – etwas allgemeiner als zuvor – eine FO-Logik u ¨ber der Signatur Sig = (Q1 , . . . , Qk , R1 , . . . , Rl ). | {z } | {z } einstellige zweistellige Relationensymbole
Vorher war k = |A| oder k = 0 (je nachdem, ob man die Qa zur Signatur rechnet oder nicht) und l = 2 (n¨amlich R1 = S (successor) und R2 =<) f¨ ur W¨orter und l = 3 (n¨amlich R1 = S0 , R1 2 = S1 und R2 3 =<) f¨ ur B¨aume. Strukturen, die zu solchen Signaturen passen, sind von der Form S = (
S |{z}
Grundmenge
, QS1 , . . . , QSk , R1S , . . . , RlS ) . {z } | {z } | QS i ⊆S
RjS ⊆S×S
Ein Vektor (s1 , . . . , sn ) ∈ S n wird auch mit ~s bezeichnet. Wir betrachten FO-Formeln ϕ = ϕ(x1 , . . . , xn ) mit n freien Variablen x1 , . . . , xn . Dann wird ϕ so interpretiert: (S, ~s) |= ϕ(~x)
(~x = (x1 , . . . , xn ))
in der u ¨blichen Weise: die Variablen xi werden durch die Elemente si ersetzt (1 ≤ i ≤ n), und ϕ wird ausgewertet, indem die Relationensymbole in ϕ durch die konkreten Relationen ersetzt werden. Definition 3.2.1 Partieller Isomorphismus auf Strukturen Seien S = (S, QS1 , . . . , QSk , R1S , . . . , RlS ) und T = (T, QT1 , . . . , QTk , R1T , . . . , RlT ) zwei Strukturen.Ein partieller p Isomorphismus (von S nach T) ist eine partielle Funktion p : S → T mit folgenden Eigenschaften: (0) p ist injektiv und dom(p) ist endlich. (1) ∀s ∈ dom(p) : ∀i, 1 ≤ i ≤ k : s∈QSi ⇔ p(s)∈QTi . (2) ∀s, s0 ∈ dom(p) : ∀j, 1 ≤ j ≤ l : (s, s0 )∈RjS ⇔ (p(s), p(s0 ))∈RjT .
3.2.1
Die Punkte (1) und (2) in dieser Definition dienen der Erhaltung der Relationenstruktur. Gilt p = {(s1 , t1 ), . . . , (sn , tn )}, schreiben wir abk¨ urzend auch p = (~s 7→ ~t); dazu muss p nicht auch schon ein partieller Isomorphismus sein. Die leere Relation p = ∅ ⊆ S × T ist eine spezielle partielle Funktion von S nach T mit dom(p) = ∅, die auch alle Bedingungen eines partiellen Isomorphismus bereits erf¨ ullt. Gegeben seien zwei Strukturen S, T und zwei Vektoren von ausgezeichneten Elementen ~s und ~t (gleich lang). Das EF-Spiel ist ein Zweipersonenspiel zwischen einem Duplikator“ und einem Spoiler“. Der Duplikator ” ” versucht, eine partielle Isomorphie herzustellen, die (~s 7→ ~t) einschließt, und der Spoiler“ versucht, dies zu ” verhindern.
Automatentheorie und Logik - Wintersemester 2004/05
25
´-Spiel Definition 3.2.2 Ehrenfeucht-Fraisse Seien S, T, ~s, ~t wie oben und m ≥ 0. Das EF-Spiel Gm ((S, ~s), (T, ~t)) besteht aus folgenden Elementen und Spielregeln: • Es gibt m Runden. • Die initiale Konfiguration ist (~s 7→ ~t). • In einer Runde sind folgende Spielz¨ uge erlaubt: gegeben eine Konfiguration r, – w¨ahlt erst der Spoiler ein Element s ∈ S oder ein Element t ∈ T ; – dann w¨ahlt danach der Duplikator ein Element t ∈ T bzw. ein Element s ∈ S; die neue Konfiguration nach einer solchen Runde ist r ∪ {(s, t)}. • Nach m Runden gewinnt der Duplikator“, genau dann, wenn die letzte Konfiguration ein partieller ” Isomorphismus ist; andernfalls gewinnt der Spoiler“. ” Der Duplikator gewinnt Gm ((S, ~s), (T, ~t)) genau dann, wenn er eine Gewinnstrategie hat, d.h., wenn er, was immer der Spoiler f¨ ur Z¨ uge spielt, gewinnen kann. 3.2.2 Im Spezialfall m = 0 gewinnt der Duplikator das Spiel G0 ((S, ~s), (T, ~t)) genau dann, wenn (~s 7→ ~t) schon ein partieller Isomorphismus ist. Beispiel 3.2.3 Ein verlorenes Spiel Wir betrachten zwei W¨orter u = aabaacaa (f¨ ur S) und v = aacaabaa (f¨ ur T). Also: S=u:
S = {0, 1, . . . , 7}
T=v:
T = {0, 1, . . . , 7}
QSa = {0, 1, 3, 4, 6, 7}, QSb = {2}, QSc = {5} S S : successor auf S <S : kleiner“ auf S. ” QTa = {0, 1, 3, 4, 6, 7}, QTb = {5}, QTc = {2} S T : successor auf T
S und T unterscheiden sich u ¨berhaupt nur in Qb und Qc . Wir betrachten das Spiel G2 (S, T) (ohne ausgezeichnete Elemente, d.h. (~s 7→ ~t) = ∅) und behaupten, dass der Duplikator verliert, d.h., dass er keine Gewinnstrategie hat. Beweis dieser Behauptung (es gibt genau m = 2 Runden): 1. Runde: Der Spoiler w¨ahlt 2 ∈ S (die Position mit b in S = u). Der Duplikator muss jetzt 5 ∈ T w¨ahlen (die einzige Position mit b in T = v), sonst ist die Erhaltung von Qb nicht gew¨ahrleistet. 2. Runde: Der Spoiler w¨ahlt 5 ∈ S (die Position mit c in u). Der Duplikator muss entsprechend 2 ∈ T w¨ahlen, um Qc zu erhalten. Die nach diesen beiden Runden entstandene Konfiguration r ist r = {(2, 5), (5, 2)}; diese ist aber kein partieller Isomorphismus, da die <-Relation verletzt ist: 2 <S 5,
aber r(2) = 5 6
Somit konnte der Spoiler den Verlust des Duplikators erzwingen.
3.2.3
26
Vorlesungsskript von E. Best / Stand: 19. September 2005
Beispiel 3.2.4 Ein gewonnenes Spiel Hier betrachten wir das gleiche Beispiel wie in 3.2.3, außer dass wir die Relationen < S und
01234567 0 4 5 6 1 2 3 7.
(in S oder analog in T )
2. Runde: Der Spoiler w¨ahlt beliebig. Der Duplikator kann entsprechend (ohne R¨ ucksicht auf <) w¨ahlen. Es existiert also eine Gewinnstrategie f¨ ur den Duplikator. Dieser muss in der ersten Runde u ¨brigens ¨außerst genau spielen, um nicht zu verlieren. W¨ahlt er z.B. auf die 0 des Spoilers eine 7 (wo auch ein Buchstabe a steht), so verliert er nach Wahl von Position 1 durch den Spoiler in der zweiten Runde, denn 7 ist die letzte 3.2.4 Position, und daher kann die unmittelbare Nachfolgerelation S S nicht aufrecht erhalten werden. Man kann den Gewinn eines Spiels Gm ((S, ~s), (T, ~t)) mengentheoretisch charakterisieren. Sei I0 , I1 , . . . , Im−1 , Im eine Folge, so dass (0), (1) und (2) gelten: (0) Jedes Ik (0 ≤ k ≤ m) ist eine nicht leere Menge von partiellen Isomorphismen, so dass (~s 7→ ~t) ⊆ p f¨ ur jedes p ∈ Ik ; (1) ∀p ∈ Ik−1
(2) ∀p ∈ Ik−1
∀s ∈ S} | {z
∃t ∈ T} | {z
: p ∪ {(s, t)} ∈ Ik
(f¨ ur jedes k mit 0 < k ≤ m) ;
vom Spoiler gew¨ ahlt
kann vom Duplikator gew¨ ahlt werden
∀t ∈ T} | {z
∃s ∈ S} | {z
: p ∪ {(s, t)} ∈ Ik
(f¨ ur jedes k mit 0 < k ≤ m) .
vom Spoiler gew¨ ahlt
kann vom Duplikator gew¨ ahlt werden
Die Bedingungen (1) und (2) dr¨ ucken gerade aus, dass, was immer vom Spoiler gew¨ahlt wird, vom Duplikator beantwortet werden kann, und zwar mit (0) zusammen so, dass in der n¨achsten Runde“ (wenn noch k − 1 ” Runden bis zum Ende u ¨brig sind) ein Gewinn m¨oglich ist. Diese Mengen sind (wenn sie existieren) keineswegs eindeutig, weil der Duplikator ggfs. mehrere Gewinnwege hat. Bezogen auf das Beispiel 3.2.4 definieren wir beispielsweise: I0 I1
I2
= =
=
{∅} {{(0, 0)}, {(1, 4)}, . . . , {(7, 7)}} {{(0, 0), (1, 1)}, {(0, 0), (2, 5)}, {(0, 0), (3, 3)}, . . . , {(0, 0), (7, 7)}, {(1, 4), (0, 3)}, {(1, 4), (2, 5)}, {(1, 4), (3, 6)}, . . . , {(1, 4), (7, 7)}, .. . {(7, 7), (0, 0)}, {(7, 7), (1, 1)}, {(7, 7), (2, 5)}, . . . , {(7, 7), (6, 3)}}.
Es existieren also Mengen mit den oben geforderten Eigenschaften, und damit zeigt sich schon der noch zu beweisende Satz am Horizont; denn die I0 , . . . , Im existieren genau dann, wenn der Duplikator eine Gewinnstrategie f¨ ur das m-Runden-Spiel hat.
Automatentheorie und Logik - Wintersemester 2004/05
27
∼ ¨ Definition 3.2.5 Aquivalenz =m ∼ (S, ~s) =m (T, ~t) genau dann, wenn eine Folge I0 , . . . , Im mit obigen Eigenschaften (0), (1) und (2) existiert. 3.2.5 Die n¨achste Definition schl¨agt eine Br¨ ucke zur Logik. Die Quantorentiefe qd(ϕ) ( quantifier depth“) einer ” Formel ϕ (der FO-Logik) ist die maximale Anzahl geschachtelter Quantoren. Genauer wird dies induktiv definiert: qd(ϕ) = 0, falls ϕ quantorenfrei ist, qd(¬ϕ) = qd(ϕ), qd(ϕ1 ∨ ϕ2 ) = max(qd(ϕ1 ), qd(ϕ2 )), qd(∃x ϕ) = qd(ϕ) + 1. F¨ ur andere Operatoren (∧, ∀) ist die Definition analog. Beispiel: qd( (∃x∃y(x=y)) ∨ (∃zQa (z)) ) = 2 (und zwar wegen des ersten der beiden Disjunktionsterme). ¨ Definition 3.2.6 Aquivalenz ≡m ~ (S, ~s) ≡m (T, t) genau dann, wenn (S, ~s) |= ϕ(~x)
⇐⇒
(T, ~t) |= ϕ(~x).
f¨ ur alle Formeln ϕ mit qd(ϕ) ≤ m gilt.
3.2.6
In Worten: es gilt (S, ~s) ≡m (T, ~t) dann, wenn (S, ~s) und (T, ~t) durch einfache“ Formeln niederer Quantoren” tiefe nicht zu unterscheiden sind. Um die beiden zu unterscheiden, br¨auchte man Formeln mit Quantorentiefe mindestens m+1 (vorausgesetzt, sie sind u ¨berhaupt unterscheidbar). ucken, und dass Im n¨achsten Satz wird behauptet, dass die beiden Relationen ∼ =m und ≡m das gleiche ausdr¨ beide auch den Gewinn des Spiels Gm ((S, ~s), (T, ~t)) durch den Duplikator charakterisieren. Satz 3.2.7 Charakterisierung des Gewinns in m Runden bei EF-Spielen Seien m ≥ 0 und (S, ~s), (T, ~t) wie oben. Es sind ¨ aquivalent: (i) (S, ~s) ≡m (T, ~t), (ii) (S, ~s) ∼ =m (T, ~t), (iii) Der Duplikator gewinnt Gm ((S, ~s), (T, ~t)). Beispiel 3.2.8 Wir kehren zu Beispiel 3.2.3 zur¨ uck. Der Duplikator verliert das 2-Runden-Spiel, also sollte sich wegen (i) ⇒ (iii) des Satzes eine Formel der Quantorentiefe ≤ 2 finden lassen, die u = aabaacaa und v = aacaabaa unterscheidet. Hier ist eine: ∃x ∃y ( Qb (x) ∧ (x < y) ∧ Qc (y) ) . | {z } erf¨ ullt in u, aber nicht in v
3.2.8
Beispiel 3.2.9 Wir betrachten wieder Beispiel 3.2.4. Der Duplikator gewinnt. Also gibt es (wegen (iii) ⇒ (i) des Satzes) keine Formel, die gleichzeitig: • W¨orter u = aabaacaa und v = aacaabaa unterscheidet, • nur die Zeichen S (successor) und Qa , Qb und Qc (nicht aber <) enth¨alt, • und eine Quantorentiefe maximal 2 hat.
3.2.9
28
Vorlesungsskript von E. Best / Stand: 19. September 2005
Beweis von Satz 3.2.7: (i) ⇒ (ii): durch Induktion u ¨ber m. m = 0: Sei (S, ~s) ≡0 (T, ~t), (~s = (s1 , . . . , sn ), ~t = (t1 , . . . , tn )). Wir zeigen (S, ~s) ∼ =0 (T, ~t), d.h. es gibt eine nicht leere Menge I0 von partiellen Isomorphien, die (~s 7→ ~t) erweitern. Das ist genau dann der Fall, wenn (~s 7→ ~t) selbst ein partieller Isomorphismus ist; wir zeigen also, dass dies der Fall ist. Betrachte die folgende Formel, die von (S, ~s) abh¨angt: ^
ϕ0(S,~s) (~x) =
ϕ(~x)
ϕ(~ x) atomar, (S,~ s)|=ϕ(~ x)
^
∧
¬ϕ(~x) .
(3.4)
ϕ(~ x) atomar, (S,~ s)|=¬ϕ(~ x)
Die Konjunktionen sind endlich, weil es wegen der endlichen Signatur ({1, . . . , k}, {1, . . . , l}) nur endlich viele atomare Formeln mit freien Variablen x1 , . . . , xn gibt. Die Formel ist also wohlgeformt. Außerdem hat sie Quantorentiefe 0. Weiterhin gilt (S, ~s) |= ϕ0(S,~s) (~x) nach Definition von ϕ0(S,~s) (~x). Wegen (S, ~s) ≡0 (T, ~t) und weil ϕ0(S,~s) eine Formel mit Quantorentiefe 0 ist, gilt auch (T, ~t) |= ϕ0(S,~s) (~x). Dann muss aber auch (~s 7→ ~t) ein partieller Isomorphismus sein, denn die atomaren Formeln sind gerade diejenigen, die in der Definition des partiellen Isomorphismus vorkommen. Betrachten wir z.B. die atomare Formel Q1 (x1 ) in einer Variablen; wegen (S, ~s) ≡0 (T, ~t) gilt dann f¨ ur ~s = (s1 ) und ~t = (t1 ) entweder s1 ∈ QS1 ∧ t1 ∈ QT1 oder s1 6∈ QS1 ∧ t1 6∈ QT1 , d.h., (~s 7→ ~t) bildet die (un¨are) Relation QS1 bijektiv auf QT1 ab. m ; m + 1: ∼m+1 (T, ~t). Dazu codieren wir die Bedingungen (1) und (2) der Sei (S, ~s) ≡m+1 (T, ~t); wir zeigen (S, ~s) = Definition von ∼ =m+1 (siehe Definition 3.2.5) induktiv, abh¨angig von (S, ~s) und beginnend mit der Formel 3.4 f¨ ur m = 0: ^ _ ∃xn+1 ϕm ϕm ϕm+1 x) = x, xn+1 ) ∧ ∀xn+1 x, xn+1 ) (3.5) (S,(~ s,s)) (~ (S,(~ s,s)) (~ (S,~ s) (~ s∈S
s∈S
Man kann durch Induktion (¨ uber m) zeigen, dass es nur endlich viele logisch in¨aquivalente Formeln ϕm x) (S,~ s) (~ V W einer festen L¨ange n von ~s gibt. Die und sind also eine Konjunktion bzw. eine Disjunktion u ¨ber endlich viele Formeln ϕm x, xn+1 ) also handelt es sich bei (3.5) in der Tat um eine FO-Formel. Intuitiv besagen (S,(~ s,s)) (~ die beiden Konjunkte:
und
welches s ∈ S auch immer vom Spoiler gew¨ahlt wird, dann kann ” der Duplikator xn+1 stets mit einem Element (aus T ) geeignet belegen“ wie auch immer der Spoiler xn+1 (aus T ) belegt, dann kann ” der Duplikator stets mit einem geeigneten s ∈ S entgegnen“.
Per Induktion ist auch klar: (S, ~s) |= ϕm+1 x). (S,~ s) (~ x) genau m+1 ist, gilt auch Nun benutzen wir (S, ~s) ≡m+1 (T, ~t). Da die Quantorentiefe von ϕm+1 (S,~ s) (~ m+1 (T, ~t) |= ϕ(S,~s) (~x). Aus (S, ~s) ≡m+1 (T, ~t) folgt auch (S, ~s) ≡m (T, ~t) und wegen der Induktionshypothese (S, ~s) ∼ =m (T, ~t). Also gibt es schon eine Folge I0 , . . . , Im von Mengen von partiellen Isomorphismen mit den gew¨ unschten Eigenschaften. Wir erweitern Im zu Im+1 : nehme jeden partiellen Isomorphismus auf, der x) erweitert. Die Folge I0 , . . . , Im , Im+1 einen partiellen Isomorphismus aus Im im Sinne der Formel ϕm+1 (S,~ s) (~ m+1 ~ erf¨ ullt (1) und (2), da sowohl (S, ~s) als auch (T, t) die Formel ϕ (~x) erf¨ ullen. (S,~ s)
(i) ⇐ (ii): ebenfalls durch Induktion u ¨ber m. m = 0:
Automatentheorie und Logik - Wintersemester 2004/05
29
Es existiere eine nicht leere Menge I0 von partiellen Isomorphismen, die (~s 7→ ~t) erweitern. Daraus folgt, dass (~s 7→ ~t) selbst ein partieller Isomorphismus ist, und daraus folgt wiederum, dass (S, ~s) und (T, ~t) die gleichen atomaren Formeln in n Variablen ~x erf¨ ullen. m ; m + 1: Annahme: Es existiert eine Folge I0 , . . . , Im , Im+1 mit obigen Eigenschaften, aber (S, ~s) 6≡m+1 (T, ~t). Dann gibt es eine Formel ϕ der Quantortiefe ≤ m+1 mit (S, ~s) |= ϕ(~x)
und
(T, ~t) 6|= ϕ(~x)
O.B.d.A. ϕ = ∃xn+1 ψ(~x, xn+1 ) mit qd(ψ) ≤ m. Da (S, ~s) |= ϕ, gibt es ein s˜ ∈ S, so dass ψ(~x, xn+1 ) in (S, (~s, s˜)) erf¨ ullt ist. Sei t˜ ein laut (1) in der Definition von ∼ =m+1 existierendes Element in T . Wegen (T, ~t) 6|= ϕ(~x) und wegen ϕ = ∃xn+1 ψ(~x, xn+1 ) gilt (T, (~t, t˜)) 6|= ψ(~x, xn+1 ). Andererseits gilt wegen der Existenz der I0 , . . . , Im und wegen der Induktionshypothese: (S, (~s, s˜)) ≡m (T, (~t, t˜)), ein Widerspruch, da es eine Formel der Quantortiefe ≤ m (n¨amlich ψ) gibt, die von (S, (~s, s˜)), aber nicht von (T, (~t, t˜)) erf¨ ullt wird. (ii) ⇔ (iii): ebenfalls durch Induktion u ¨ber m. m = 0: ∼0 (T, ~t) ⇔ ( Def. von = ∼0 ) (S, ~s) = es gibt eine Menge I0 6= ∅ von partiellen Isomorphismen mit (~s 7→ ~t) ⊆ p f¨ ur alle p ∈ I0 ⇔ ( Logik ) (~s 7→ ~t) ist ein partieller Isomorphismus ⇔ ( Definition des EF-Spiels ) der Duplikator gewinnt G0 ((S, ~s), (T, ~t)). m ; m + 1: (ii) ⇒ (iii): Es gelte (S, ~s) ∼ =m+1 (T, ~t). Dann gibt es eine Folge von Mengen I0 , . . . , Im , Im+1 mit den Eigenschaften (0), (1) und (2). Nach Induktionsvoraussetzung (angewendet auf die Teilfolge I 0 , . . . , Im ) gewinnt der Duplikator das Spiel Gm ((S, ~s), (T, ~t)). Annahme: der Duplikator gewinnt nicht auch Gm+1 ((S, ~s), (T, ~t)). Dann gibt es einen partiellen Isomorphismus p ∈ Im und einen Zug des Spoilers (z.B. s ∈ S), so dass es f¨ ur den Duplikator keinen Zug (t ∈ T ) gibt, der das m+1-Runden-Spiel gewinnt. Dann gibt es auch kein Paar (s, t), so dass p ∪ {(s, t)} ∈ Im+1 gilt, im Widerspruch zu Eigenschaft (1) f¨ ur Im , Im+1 . W¨ahlt der Spoiler t ∈ T mit der gleichen Eigenschaft, ist Bedingung (2) verletzt. Also ist die Annahme falsch, und der Duplikator gewinnt Gm+1 ((S, ~s), (T, ~t)). (ii) ⇐ (iii): Der Duplikator gewinne das Spiel Gm+1 ((S, ~s), (T, ~t)). Dann gewinnt er auch das Spiel Gm ((S, ~s), (T, ~t)), und nach Induktionsvoraussetzung gibt es eine Folge I0 , . . . , Im mit den Eigenschaften (0) bis (2). Wir konstruieren eine geeignete Folge I0 , . . . , Im , Im+1 , um (S, ~s) ∼ =m+1 (T, ~t) zu zeigen. Setze Im+1
{ p ∪ {(s, t)} |
= ∪
{ p ∪ {(s, t)} |
p ∈ Im , und falls der Spoiler in der (m+1) ten Runde s ∈ S w¨ahlt, gewinnt der Duplikator mit t ∈ T das Spiel Gm+1 ((S, ~s), (T, ~t)) p ∈ Im , und falls der Spoiler in der (m+1) ten Runde t ∈ T w¨ahlt, gewinnt der Duplikator mit s ∈ S das Spiel Gm+1 ((S, ~s), (T, ~t)).
Offenbar erf¨ ullt Im+1 die Eigenschaften (1) und (2) per Konstruktion, und außerdem sind, ebenfalls per 3.2.7 Konstruktion, alle Elemente von Im+1 partielle Isomorphismen. Korollar 3.2.10 Die rationalen und die reellen Zahlen sind nicht FO-unterscheidbar (Q, <) und (R, <) erf¨ ullen genau die gleichen FO-Aussagen.
30
Vorlesungsskript von E. Best / Stand: 19. September 2005
Beweis: Was immer der Spoiler w¨ahlt, der Duplikator kann (wegen der Dichte beider Strukturen) stets ein <-erhaltendes Element w¨ahlen. 3.2.10 Es gibt allerdings eine MSO[<]-Aussage, die (Q, <) und (R, <) unterscheidet; man kann daf¨ ur zum Beispiel ¨ eine Aussage w¨ahlen, die die Eigenschaft kleinste obere Schranke“ codiert (Ubungsaufgabe). Es folgt, dass ” die Eigenschaft kleinste obere Schranke“ nicht FO[<]-definierbar ist, sowie (zum ersten Mal), dass die ” Logik MSO[<] m¨achtiger als FO[<] ist (allerdings auf Strukturen, die keine W¨orter sind). Wir zeigen, dass letzteres auch im Bereich der ∗-Sprachen gilt, worin ja die MSO[<]-Definierbarkeit genau das gleiche ist wie die Regularit¨at. Wir finden also eine Sprache, die regul¨ar ist, aber nicht FO-definierbar: Korollar 3.2.11 Die Sprache {a2n | n ∈ N} u ¨ber A = {a} ist nicht FO-definierbar. Beweis: Zuerst machen wir drei Bemerkungen u ¨ber Wortmodelle nur mit < (ohne S). • Der Duplikator gewinnt G2 (aaa, aj ) f¨ ur jedes j ≥ 3. Beweis: 1. Runde: Der Spoiler w¨ahlt linkes Ende, rechtes Ende oder anders. Der Duplikator antwortet genauso im anderen Wort. 2. Runde: Was immer der Spoiler dann w¨ahlt, der Duplikator kann <-erhaltend antworten. • Der Duplikator gewinnt G3 (ai , aj ), falls i = j oder i, j ≥ 7. Beweis: 1. Runde: Der Spoiler zerteilt (o.B.d.A.) das erste Wort in zwei Teile: ai = ai1 aai2 . Falls i=j, kann der Duplikator aj = aj1 aaj2 mit i1 =j1 , i2 =j2 antworten. Falls i, j ≥ 7, kann der Duplikator auf jeden Fall so antworten, dass aj = aj1 aaj2 mit (i1 =j1 ∨ i1 , j1 ≥3) ∧ (i2 =j2 ∨ i2 , j2 ≥3). Danach geht es weiter wie oben. • Allgemein: Der Duplikator gewinnt Gm (ai , aj ), falls i = j oder i, j ≥ 2m −1. Der Beweis folgt durch eine Verallgemeinerung der obigen Argumente. Nehmen wir nun an, dass ϕ eine FO[<]-Formel ist, die {a2n | n ∈ N} definiert. O.B.d.A. ist ϕ S-frei. Sei m m m = qd(ϕ). Nat¨ urlich muss m > 0 gelten. Dann hat das Wort a2 eine gerade L¨ange, also gilt a2 |= ϕ. m m Laut dem Vorangegangenen gewinnt der Duplikator das Spiel Gm (a2 , a2 +1 ), da beide W¨orter eine L¨ange m m > 2m −1 haben. Also gilt a2 ∼ =m a2 +1 , und nach Satz 3.2.7((i) ⇐ (ii)) auch m
a2 ≡ m a2
m
+1
.
(3.6) m
m
m
Da qd(ϕ) = m und a2 |= ϕ, gilt wegen (3.6) auch a2 +1 |= ϕ, aber a2 +1 hat eine ungerade L¨ange, Widerspruch. Die Annahme ist also falsch, und man kann in der Tat keine FO[<]-Formel finden, die die Sprache {a2n | n ∈ N} definiert. 3.2.11 Die Sprache {a2n | n ∈ N} liegt außerhalb der FO[S, <]-definierbaren Sprachen. Dass sie innerhalb der regul¨aren Sprachen liegt, wird durch den Automaten in Abbildung 3.5 bewiesen. a a Abbildung 3.5: Ein endlicher Automat, der die Sprache {a2n | n ∈ N} akzeptiert. Wir sind also bei einer ersten Verfeinerung des Bildes 3.4 angelangt: siehe Abbildung 3.6, das die Sprache {a2n | n ∈ N} in der bisher untersuchten Sprachenhierarchie unterbringt.
Automatentheorie und Logik - Wintersemester 2004/05
º MSO-definierbare = regul¨are Sprachen ® © FO-definierbare Sprachen ¹
ª
· •{a2n |n ∈ N}
31
¸
Abbildung 3.6: Inklusionsbeziehungen (zweites Bild).
3.3
Regul¨ are Sprachen und Monoide ... worin eine noch feinere Unterteilung vorbereitet wird ...
Wir wissen schon, dass die MSO-Definierbarkeit das Gleiche ist wie die MSO[<]-Definierbarkeit und auch das Gleiche wie die MSO[S]-Definierbarkeit. Wir wissen auch, dass FO-Definierbarkeit und FO[<]-Definierbarkeit das Gleiche sind. Wir wissen jedoch noch nicht, ob die Logik FO[<] strikt m¨achtiger ist als die Logik FO[S]. Um diese Frage zu beantworten (und mehr: um n¨amlich die Logik FO[<] zu charakterisieren), machen wir einen Exkurs u ¨ber Halbgruppen und Monoide.
3.3.1
Endliche Halbgruppen und Monoide
Eine Halbgruppe (S, ·) ist eine Menge S mit assoziativer Multiplikation ·, d.h.: ∀x, y, z ∈ S : x(yz) = (xy)z. ¨ (Man l¨asst den Malpunkt · oft einfach weg.) Eine Aquivalenzrelation ≡ auf S heißt Kongruenz, wenn aus x1 ≡ y1 ∧ x2 ≡ y2 stets x1 y1 ≡ x2 y2 folgt. Eine Funktion φ : S → T heißt Homomorphismus von einer Halbgruppe (S, ·) in eine Halbgruppe (T, ·), wenn gilt: ∀x, y ∈ S : φ( xy ) = φ(x)φ(y). |{z} | {z } · in S
· in T
¨ Die von φ induzierte Aquivalenzrelation ≡φ ist x ≡φ y ⇔ φ(x) = φ(y). Lemma 3.3.1 ≡φ ist eine Kongruenz auf (S, ·). ¨ Beweis: Es ist klar, dass ≡φ eine Aquivalenzrelation ist. Des Weiteren gilt: x 1 ≡ φ y1 ∧ x 2 ≡ φ y2
⇒ ⇒ ⇒
φ(x1 ) = φ(y1 ) ∧ φ(x2 ) = φ(y2 ) φ(x1 x2 ) = φ(x1 )φ(x2 ) = φ(y1 )φ(y2 ) = φ(y1 y2 ) x 1 x 2 ≡ φ y1 y2 ,
woraus die Behauptung folgt.
3.3.1
¨ Sei (S, ·) eine Halbgruppe und sei ≡ eine Kongruenz. Die Menge S/≡ (d.h. die Menge aller Aquivalenzklassen von ≡) kann dann so zu einer Halbgruppe gemacht werden: [x]≡ · [y]≡ = [xy]≡ .
¨ (wobei [x]≡ die Aquivalenzklasse von x ∈ S ist.)
Diese Operation ist repr¨asentantenunabh¨angig (also wohldefiniert) und assoziativ. Die Halbgruppe (S/≡ , ·) ¨ heißt die durch ≡ induzierte Quotientenhalbgruppe. Allgemein bezeichnet man die Anzahl der Aquivalenz¨ klassen einer Aquivalenzrelation als ihren Index. Im obigen Fall gilt also Index (≡) = |S/ ≡ |. Seien φ : S → T1 und ψ : S → T2 Halbgruppenhomomorphismen mit ≡φ ⊆≡ψ . Dann gibt es einen Halbgruppenhomomorphismus θ : φ(S) → T2 mit ψ = φ◦θ. Denn sei t ∈ φ(S), w¨ahle ein beliebiges x ∈ S mit t = φ(x) und setze θ(t) = ψ(x). Die Bedingung ≡φ ⊆≡ψ stellt sicher, dass diese Definition unabh¨angig von der Wahl von x ist. Man sagt: ψ wird durch φ faktorisiert. Die Abbildung 3.7 veranschaulicht diese Beziehung.
32
Vorlesungsskript von E. Best / Stand: 19. September 2005 φ(S) T1 φ
S
θ
ψ
T2
Abbildung 3.7: Faktorisierung von ψ durch φ. Ein Element e ∈ S heißt idempotent, wenn e = ee. Endliche Halbgruppen enthalten immer idempotente Elemente; der Beweis hiervon ist einfach. Ein Element heißt Einheit, wenn gilt: ∀x ∈ S : ex = x = xe. Sind e1 und e2 Einheitselemente, gilt e1 = e1 e2 = e2 , und deswegen sind Einheiten eindeutig. Ein Monoid (S, ·, e) ist eine Halbgruppe (S, ·) mit einem ausgezeichneten Einheitselement e = e S . Monoidhomomorphismen sind Halbgruppenhomomorphismen, die zus¨atzlich das Einheitselement respektieren, d.h., wenn φ : S → T , dann φ(eS ) = eT . Eine Gruppe ist ein Monoid, in dem zu jedem Element x ein inverses Element x −1 mit xx−1 = e = x−1 x existiert. Beispiel: Die Menge A∗ der endlichen W¨orter u ¨ber einem Alphabet A bildet mit der Konkatenation als Verkn¨ upfung ein Monoid: ( |{z} A∗ , W¨ orter u ¨ ber A
· |{z}
,
Konkatenation von W¨ ortern
ε ) |{z}
leeres Wort
Hier ist ein Beispiel einer Halbgruppe, die kein Monoid ist: (
A+ |{z}
,
Menge aller nicht leeren W¨ orter u ¨ ber A
3.3.2
· |{z}
)
Konkatenation
Das syntaktische Monoid einer Sprache
Wir wenden uns nun wieder der Charakterisierung der in Abbildung 3.6 gezeigten Sprachklassen (insbesondere der FO-definierbaren Sprachen) zu. ¨ Sei A ein festes Alphabet. Sei L ⊆ A∗ eine Sprache. Wir definieren die durch L induzierte Aquivalenzrelation ∗ ∗ ≡L auf A : f¨ ur x, y ∈ A gelte x ≡L y
genau dann, wenn
{(u, v) ∈ A∗ ×A∗ | uxv ∈ L} = {(u, v) ∈ A∗ ×A∗ | uyv ∈ L}.
Wir betrachten zwei Spezialf¨alle: Wenn L = ∅, dann ≡L = A∗ ×A∗ . Und wenn L = A∗ , dann gilt ebenfalls ¨ ≡L = A∗ ×A∗ . (Ubungsaufgabe.) Es gelte x ≡L y und es sei a ∈ A. Dann gelten auch die beiden Beziehungen xa ≡L ya und ax ≡L ay. ¨ (Ubungsaufgabe.)
Automatentheorie und Logik - Wintersemester 2004/05
33
Daraus folgt (induktiv): seien x1 ≡L y1 und x2 ≡L y2 , dann auch x1 x2 ≡L y1 y2 . Also ist die Relation ≡L eine Kongruenz; sie wird als die syntaktische Kongruenz von L bezeichnet. Das Quotientenmonoid (A∗ /≡L , ·, [ε]≡L ) heißt syntaktisches Monoid von L und wird mit M (L) bezeichnet.Der Homomorphismus ηL : A∗ → M (L) mit ηL (w) = [w]≡L heißt syntaktischer Morphismus von L. Beispiel 3.3.2 Sei L = {w ∈ {a, b}∗ | die L¨ange von w, |w|, ist gerade}. Dann ist {(u, v) ∈ A∗ × A∗ | uxv ∈ L} die Menge aller Paare (u, v), so dass |u|+|v| ≡ |x| (mod 2). Also gilt x ≡L y genau dann, wenn |x| ≡ |y| (mod 2). Dann hat M (L) zwei Elemente und
m0 m1
= =
{w ∈ {a, b}∗ | |w| ist gerade} {w ∈ {a, b}∗ | |w| ist ungerade}.
Es gilt m0 m0 = m0 , m0 m1 = m1 , m1 m0 = m1 , m1 m1 = m0 , d.h., m0 ist Einheit und (M (L), ·, m0 ) ist eine Gruppe der Gr¨oße 2 mit der folgenden Gruppentafel: · m0 m1
m0 m0 m1
m1 m1 m0 3.3.2
¨ (Ubungsaufgabe: Betrachte A = {a, b} und L = {w ∈ A∗ | w hat eine gerade Anzahl von Buchstaben a}. Berechne M (L) und ηL .) Bisher war L eine beliebige Teilmenge von A∗ . F¨ ur regul¨are L gilt: Satz 3.3.3 Charakterisierung regul¨ arer Sprachen durch syntaktische Monoide ∗ L ⊆ A ist regul¨ ar genau dann, wenn M (L) endlich ist. Beweis: (⇒): Sei A = (Q, A, q0 , ∆, F ) ein deterministischer endlicher Automat, der L akzeptiert. Definiere ∼ = ⊆ A∗ × A∗ durch x
y
x∼ = y g.d.w. ∀q ∈ Q ∀q1 , q2 ∈ Q : q → q1 ∧ q → q2 ⇒ q1 =q2 , d.h. wenn x und y von gleichen Zust¨anden in gleiche Zust¨ande f¨ uhren. ∼ Wenn x = y und uxv ∈ L, dann f¨ uhrt uxv q0 in einen Endzustand u ¨ber, ebenso wie uyv; und umgekehrt. Also gilt x ≡L y, und insgesamt: ∼ = ⊆ ≡L , und damit Index (≡L ) ≤ Index (∼ =)
( ≤ |Q||Q| nach Definition).
(⇐): Falls x ∈ L und x ≡L y, dann auch y ∈ L mit (u, v) = (ε, ε). Annahme: M (L) ist endlich. Wir konstruieren folgendermaßen einen deterministischen endlichen Automaten A = (Q, A, q0 , ∆, F ) u ¨ber A mit L = L(A):
und ∆:
Q q0 F ([w1 ], a, [w2 ]) ∈ ∆
= M (L); = [ε]; = {[w] | w ∈ L}; = [w2 ] = [aw1 ].([ ] = [ ]≡L .)
Wie bei der Konstruktion des Minimalautomaten (Grundvorlesung) gilt L = L(A).
3.3.3
34
Vorlesungsskript von E. Best / Stand: 19. September 2005
3.3.3
Das Transitionsmonoid eines Automaten
Wir konstruieren jetzt ein anderes Monoid, das nicht zu Sprachen, sondern zu Automaten geh¨ort: das Transitionsmonoid. Sei A = (Q, A, q0 , ∆, F ) ein deterministischer endlicher Automat. Zu jedem Wort w ∈ A∗ definieren wir eine Funktion fw : Q → Q durch: fw (q) =
Zustand, der entsteht, wenn A auf w im Zustand q angesetzt wird.
fw ist wohldefiniert, da A deterministisch ist. Die Menge dieser Funktionen wird mit der Verkn¨ upfung fxy = fx ◦ fy (relationale Komposition) und der Einheit fε = id |Q zu einem Monoid. Dieses Monoid heißt Transitionsmonoid und wird mit M (A) bezeichnet. Satz 3.3.4 Isomorphie von M (A) und M (L) f¨ ur minimale A Sei A der minimale endliche Automat, der L erkennt. Dann sind M (A) und M (L) isomorph. Beweis: ¨ Wir zeigen die Aquivalenz fx = fy gdw. x ≡L y, f¨ ur beliebige x, y ∈ A∗ . (⇒): Das war schon im letzten Satz bewiesen worden und h¨angt nicht von der Minimalit¨at von A ab. (⇐): u
ur ein Wort u (denn sonst ist A nicht minimal). Sei x ≡L y. Sei q ein Zustand von A. Dann gilt q0 → q f¨ Seien q1 , q2 die Zust¨ande, die von q aus mit x bzw. mit y (also von q0 aus mit ux bzw. mit uy) erreichbar sind. Aus x ≡L y folgt uxv ∈ L genau dann, wenn uyv ∈ L. Also ist der von q1 mittels v erreichbare Zustand genau dann in F , wenn es der aus q2 mittels v erreichbare ist, und die Minimalit¨at des Automaten liefert q1 = q2 ; d.h. fx = fy . 3.3.4 Beispiel 3.3.5 Wir betrachten die Sprache L = a∗ ba∗ ca∗ u ¨ber A = {a, b, c}, die der Einfachheit halber als regul¨arer Ausdruck geschrieben wird. Der Minimalautomat f¨ ur L ist in Figur 3.8 abgebildet. a
a c
b 0
a
1
2 b
c
3
b, c
a, b, c Abbildung 3.8: Der Minimalautomat f¨ ur L = a∗ ba∗ ca∗ . Wir berechnen die Funktionen fw f¨ ur w ∈ {a, b, c}∗ : µ ¶ 0 1 2 3 w ∈ a∗ , dann fw = (= id|Q ) 0 1 2 3 (Die Matrix-Schreibweise soll bedeuten: µ 0 1 2 ∗ ∗ w ∈ a ba , dann fw = 1 3 3
e
0 7→ 0, 1 7→ 1, etc.) ¶ 3 α 3
Automatentheorie und Logik - Wintersemester 2004/05 (D.h.: 0 7→ 1, 1 7→ 3, 2 7→ 3, 3 7→ 3.) µ ¶ 0 1 2 3 ∗ ∗ w ∈ a ca , dann fw = β 3 2 3 3 ¶ µ 0 1 2 3 γ w ∈ L, dann fw = 2 3 3 3 ¶ µ 0 1 2 3 0 f¨ ur alle anderen w: fw = 3 3 3 3 Multiplikationstabelle von (M (A), ·): e α β γ 0 e e α β γ 0 Dies ist auch das syntaktische Monoid α α 0 γ 0 0 von a∗ ba∗ ca∗ , da A minimal ist. β β 0 0 0 0 γ γ 0 0 0 0 0 0 0 0 0 0
35
3.3.5
Beispiel 3.3.6 Mit A = {a, b, c} sei L = A∗ \ (A∗ bbA∗ ) (d.h., L ist die Menge aller W¨orter, die bb nicht enthalten). Wir berechnen die ≡L -Klassen direkt: e = {ε} α = L ∩ (A∗ b \ bA∗ ) ¨ ∗ ∗ β = L ∩ (bA \ A b) (Ubungsaufgabe: γ = L ∩ bA∗ ∩ A∗ b ur jede, dass sie ≡L -Klasse ist.) verifiziere f¨ δ = L \ (e ∪ α ∪ β ∪ γ) 0 = A∗ bbA∗ .
Die Multiplikation wird dadurch bestimmt, dass man ein Element aus jeder Klasse nimmt, sie paarweise konkateniert und nachschaut, zu welcher Klasse das Resultat geh¨ort. Daraus folgt: e α β γ δ 0 e e α β γ δ 0 α α α 0 0 δ 0 β β γ β γ β 0 γ γ γ 0 0 α 0 δ δ α δ α δ 0 0 0 0 0 0 0 0 3.3.6
Beispiel 3.3.7 Sei A = {a, b} und sei A der in Abbildung 3.9 angegebene Automat. A ist minimal (f¨ ur jedes n > 0). Der Buchstabe a induziert die zyklische Permutation µ ¶ 0 . . . n−2 n−1 , 1 . . . n−1 0 der Buchstabe b die Transposition ¶ µ 0 1 2 . . . n−1 . 1 0 2 . . . n−1 Da diese beiden Permutationen die gesamte Permutationsgruppe Sn generieren, ist das syntaktische Monoid von L(A) gerade Sn . 3.3.7
36
Vorlesungsskript von E. Best / Stand: 19. September 2005 b
b a 0
b
a 1
a
a
...
2
b
b
a n−2
n−1
a Abbildung 3.9: Permutationsgruppenautomat.
3.3.4
Charakterisierung der FO-Definierbarkeit einer Sprache
Wir wenden diese Theorie nun an, um eine Charakterisierung der F O[<]-definierbaren Sprachen zu erhalten. Ein endliches Monoid heißt aperiodisch, wenn es keine nichttriviale (d.h. zwei- oder mehrelementige) Gruppe enth¨alt. Satz 3.3.8 Charakterisierung von Aperiodizit¨ at Ein endliches Monoid (M, ·, e) ist aperiodisch genau dann, wenn es eine Zahl K > 0 gibt, so dass ∀m ∈ M : mK = mK+1 . Beweis: (⇒): M sei aperiodisch. Sei m ∈ M beliebig. Betrachte {m, m2 , m3 , . . .} ⊆ M . Diese Menge ist endlich, also m¨ ussen k, l ≥ 1 mit mk = mk+l existieren. Betrachte G = {mk , mk+1 , . . . , mk+l−1 }. Diese Menge bildet eine Gruppe, weil sie unter Multiplikation abgeschlossen ist und f¨ ur alle h ∈ G die Abbildung g 7→ gh = hg (g ∈ G) G permutiert. Beispiel: k = 3, l = 3, G = {m3 , m4 , m5 }, m3 = m6 .
3
m m4 m5
m3 m3 m4 m5
m4 m4 m5 m3
m5 m5 m3 m4
Hier ist m3 das Einselement. Im Allgemeinen ist aber nicht immer mk das Einselement. Da M aperiodisch ist, gilt |G| = 1, also auch mk = mk+1 (= mk+2 , usw). W¨ahle K als das Maximum aller solchen Zahlen k, u ¨ber alle m ∈ M . K ist wohldefiniert, da M endlich ist. (⇐): Beweis durch Kontraposition: Sei M nicht aperiodisch und sei G eine nichttriviale Gruppe in M . Sei g ∈ G nicht das Einselement dieser Gruppe. Die Menge {g 0 , g 1 , g 2 , . . .} ist wegen der Endlichkeit von M (und also auch von G) eine endliche, zyklische Untergruppe von G, die auf Grund der Wahl von g mindestens zwei Elemente hat. Offenbar durchl¨auft die Folge g 0 , g 1 , g 2 , . . . die Elemente dieser Untergruppe zyklisch, und da es mindestens zwei 3.3.8 Elemente gibt, gilt g k 6= g k+1 f¨ ur alle k ≥ 0. Nun kommen wir zu der angek¨ undigten Charakterisierung der FO[<]-definierbaren Sprachen, von der wir allerdings nur einen Teil beweisen. Sei ϕ eine FO[<]-Formel. Wir k¨ urzen ab: M (Lϕ ) = M (ϕ), ≡Lϕ =≡ϕ , etc.
Automatentheorie und Logik - Wintersemester 2004/05
37
Satz 3.3.9 Charakterisierung der FO-definierbaren Sprachen L ist FO[<]-definierbar genau dann, wenn M (L) endlich und aperiodisch ist. Dieser Satz verallgemeinert die Beobachtung (siehe Korollar 3.2.11), dass bei FO[<]-definierbaren Sprachen L ab einer gewissen gen¨ ugend großen Zahl m f¨ ur alle u, x, v uxm v ∈ L ⇔ uxm+1 v ∈ L gilt ( starkes ” Pumping-Lemma“, auch die non-counting-Eigenschaft genannt). Direkt aus Teil (⇒) des Satzes gewinnen wir einen zweiten Beweis f¨ ur Korollar 3.2.11: Korollar 3.3.10 {a2n | n ∈ N} ist nicht FO[<]-definierbar. Beweis: M ({a2n | n ∈ N}) ist eine Gruppe mit zwei Elementen. Ebenso folgt (aus Teil (⇐) des Satzes):
3.3.10
Korollar 3.3.11 a∗ ba∗ ca∗ ist FO[<]-definierbar.
3.3.11
Beweis von Satz 3.3.9: (⇐): Der Beweis dieser Richtung ist schwer und sprengt den Rahmen unserer Vorlesung. Einer der aus der Literatur bekannten Beweise (reproduziert im bereits zitierten Buch von Howard Straubing) benutzt S¨atze der Strukturtheorie von Monoiden. (⇒): Wir wollen den Satz per Induktion u ¨ber den Aufbau einer FO-Formel ϕ beweisen und stehen vor dem gleichen Problem wie vorher: ∃xϕ(x) ist geschlossen, aber eine Teilformel, ϕ(x), ist nicht geschlossen. Wir verwenden daher die am Ende des Abschnitts 2.4 angegebene Konstruktion eines erweiterten Alphabets. Wir beweisen den Satz zuerst f¨ ur Qa (x) mit einer freien Variablen x. Wie in Satz 3.1.1 kann man wieder leicht einen endlichen Automaten finden, der L(Qa (x)) ⊆ A∗x akzeptiert. Aus Satz 3.3.3 folgt, dass M (Qa (x)) endlich ist. Zu zeigen ist noch, dass M (Qa (x)) ein aperiodisches Monoid bildet. Nehmen wir zun¨achst uw 2 v |= Qa (x) an. Dann kann x nicht in w vorkommen (sonst k¨onnte, da x nur einmal vorkommt, w nicht doppelt vorkommen). Also gilt auch uw 3 v |= Qa (x). Genauso zeigt man: uw 3 v |= Qa (x) ⇒ uw 2 v |= Qa (x). (Alles W¨orter u ¨ber Ax !) 2 3 Demzufolge gilt w ≡Qa (x) w f¨ ur alle w ∈ A∗x , und da ≡Qa (x) die Gleichheit auf dem Monoid M (Qa (x)) bedeutet, folgt aus Satz 3.3.8, dass M (Qa (x)) aperiodisch ist. Genauso zeigt man die Behauptung f¨ ur x < y. Wir zeigen den Satz nun f¨ ur die logische Disjunktion. Seien ϕ und ψ Formeln, so dass M (ϕ) und M (ψ) beide aperiodisch sind. Dann gibt es eine Zahl k > 1, so dass in beiden Monoiden gilt: m k = mk+1 f¨ ur alle Elemente m. Also uwk v |= ϕ ∨ ψ
gdw.
uw k+1 v |= ϕ ∨ ψ,
und daher ist M (ϕ ∨ ψ) (konstruiert wie in B¨ uchis Satz) aperiodisch. ¬ϕ: ¨ahnlich. ∃xϕ: Wir nehmen an, dass M (ϕ) mit einer gewissen Zahl k die Gleichung mk = mk+1 erf¨ ullt, und betrachten uw2k+1 v |= ∃xϕ. Dann bekommen wir, indem wir x zu einem der Buchstaben hinzuf¨ ugen, eine Struktur, die ϕ erf¨ ullt. Diese Struktur hat auf jeden Fall k aufeinanderfolgende Vorkommen von w (ohne x): u0 wk v 0 |= ϕ. Wegen der Annahme gilt auch u0 wk+1 v 0 |= ϕ. Jetzt l¨oschen wir wieder x aus u0 wk+1 v 0 und erhalten ein Wort uw2k+2 v mit uw 2k+2 v |= ∃xϕ. Genauso schließen wir: aus uw 2k+2 v |= ∃xϕ folgt uw 2k+1 v |= ∃xϕ. Also gilt m2k+1 = m2k+2 f¨ ur alle m ∈ M (∃xϕ), und dieses Monoid ist aperiodisch. 3.3.9 Teil (⇒) des Satzes ist gerade der Fall, dass keine freien Variablen vorkommen.
38
Vorlesungsskript von E. Best / Stand: 19. September 2005
3.3.5
Die Sternh¨ ohe einer Sprache
In diesem Kontext gibt es eine Reihe nicht leicht zu beweisender Resultate, von denen wir zwei bekannte zitieren. Im Jahr 1965 hat Sch¨ utzenberger eine Beziehung zwischen der Aperiodizit¨at eines Sprachmonoids und der Sternh¨ ohe einer Sprache festgestellt. Definition 3.3.12 Regul¨ are Ausdr¨ ucke und Sternh¨ ohe Sei A ein Alphabet. • Ein regul¨ arer Ausdruck ρ u ugt der Syntax: ¨ber A gen¨ ρ
::=
∅ | ε | a (wobei a ∈ A) | ρ1 ∪ ρ2 | ρ1 ρ2 | ρ∗ .
• Ein erweiterter regul¨ arer Ausdruck ρ u ugt der Syntax: ¨ber A gen¨ ρ
::=
∅ | ε | a (wobei a ∈ A) | ρ1 ∪ ρ2 | ρ1 ρ2 | ρc | ρ∗ .
Wir lassen hier also auch die Komplementbildung zu. Die von einem (erweiterten) regul¨aren Ausdruck ρ definierte Sprache L(ρ) ⊆ A∗ und die Sternh¨ohe h(ρ) ∈ N von ρ sind induktiv definiert: L(∅) = ∅ L(ε) = {ε} L(a) = {a} L(ρ1 ∪ ρ2 ) = L(ρ1 ) ∪ L(ρ2 ) L(ρ1 ρ2 ) = L(ρ1 )L(ρ2 ) L(ρc ) = A∗ \L(ρ) L(ρ∗ ) = (L(ρ))∗
h(∅) = 0 h(ε) = 0 h(a) = 0 h(ρ1 ∪ ρ2 ) = max(h(ρ1 ), h(ρ2 )) h(ρ1 ρ2 ) = max(h(ρ1 ), h(ρ2 )) h(ρc ) = h(ρ) h(ρ∗ ) = h(ρ) + 1 .
Die Sternh¨ ohe einer regul¨aren Sprache L ⊆ A∗ ist die Zahl min{ h(ρ) | ρ ist ein regul¨arer Ausdruck mit L = L(ρ) }. Die verallgemeinerte Sternh¨ ohe einer regul¨aren Sprache L ⊆ A∗ ist die Zahl min{ h(ρ) | ρ ist ein verallgemeinerter regul¨arer Ausdruck mit L = L(ρ) } . Eine Sprache heißt (verallgemeinert) sternfrei, wenn ihre (verallgemeinerte) Sternh¨ohe gleich 0 ist. 3.3.12
Satz 3.3.13 Sch¨ utzenberger Eine regul¨ are Sprache L ist genau dann verallgemeinert sternfrei, wenn M (L) aperiodisch ist.
3.3.13
Dieser Satz liefert (mit dem vorigen Satz zusammen) die verallgemeinerte Sternfreiheit als eine weitere Charakterisierung der FO[<]-definierbaren Sprachen. Es folgt daraus auch, dass es u ¨berhaupt Sprachen der verallgemeinerten Sternh¨ohe 1 gibt, n¨amlich alle regul¨aren, nicht FO[<]-definierbaren (wie zum Beispiel {a2n | n ∈ N}). Es ist aber bis heute unbekannt, ob es Sprachen der verallgemeinerten Sternh¨ohe 2 gibt. F¨ ur die nicht-verallgemeinerte Sternh¨ohe hat Hashiguchi 1983 bewiesen, dass eine echte Hierarchie besteht:
Automatentheorie und Logik - Wintersemester 2004/05
39
Satz 3.3.14 Hashiguchi F¨ ur jede Zahl n ∈ N gibt es eine Sprache Ln mit (nicht verallgemeinerter) Sternh¨ ohe n. Dar¨ uber hinaus gibt es einen Algorithmus, der die (nicht verallgemeinerte) Sternh¨ ohe einer regul¨ aren Sprache bestimmt. 3.3.14 Auch dieser Satz hat einen sehr komplizierten Beweis. Dass die Sprache a∗ ba∗ ca∗ FO[<]-definierbar ist, steht in Korollar 3.3.11, k¨onnte aber auch direkt durch ¨ die Angabe eine Formel gezeigt werden (Ubungsaufgabe). Nach Satz 3.3.13 hat a∗ ba∗ ca∗ also die verallgemeinerte Sternh¨ohe 0. Demzufolge existiert ein erweiterter regul¨arer Ausdruck ohne ∗-Operator, der diese Sprache beschreibt. Hier ist ein solcher Ausdruck: ( ( ∅ c b ∅ c b ∅ c ) ∪ ( ∅ c b ∅ c )c ∪ ( ∅ c c ∅ c c ∅ c ) ∪ ( ∅ c c ∅ c )c ∪ ( ∅ c c ∅ c b ∅ c ) ) c ,
(3.7)
der nebenbei die Ausdruckskraft des Komplementoperators ausdr¨ ucklich best¨atigt: der Ausdruck ∅c b ∅c b ∅c beschreibt W¨orter, die zwei oder mehr Buchstaben b haben, der Ausdruck ( ∅c b ∅c )c W¨orter, die kein b enthalten, und der Ausdruck ∅c c ∅c b ∅c W¨orter, in denen ein c vor einem b vorkommt. nach der ¨außeren Komplementbildung bleiben in (3.7) genau die W¨orter in a∗ ba∗ ca∗ u ¨brig.
3.4
FO-Logik mit Nachfolgerelation ... worin regul¨are Sprachen lokalisiert werden ...
Wir zeigen in diesem Abschnitt, dass die Logik FO[S] (ohne <) eine noch kleinere Sprachklasse definiert. Unser Ziel ist es, zu zeigen, dass die Sprache a∗ ba∗ ca∗ FO[<]-definierbar, aber nicht FO[S]-definierbar ist. Der Nachweis geschieht in mehreren Schritten. Seien v ∈ A∗ und w ∈ A∗ . Wir definieren induktiv #(v, w) als die Anzahl der Faktoren v in w (a ∈ A), genauer: ½ 1 falls v = ε #(v, ε) = 0 falls v = 6 ε. ½ 1 falls ∃u : wa = uv #(v, wa) = #(v, w) + 0 sonst. Zum Beispiel gilt #(bb, abbababbba) = 3. Seien k, r > 0. Wir definieren eine Relation ∼kr ⊆ A∗ ×A∗ . Falls |w1 | < k, dann w1 ∼kr w2 genau dann, wenn w1 = w2 (und dann ist nat¨ urlich auch |w2 | < k). Falls aber |w1 | ≥ k, dann w1 ∼kr w2 genau dann, wenn alle drei folgenden Bedingungen gelten: (a) w1 und w2 haben den gleichen Pr¨afix der L¨ange k−1; (b) w1 und w2 haben den gleichen Suffix der L¨ange k−1; (c) F¨ ur alle v ∈ A+ mit |v| ≤ k gilt entweder (c1): #(v, w1 ) = #(v, w2 ) < r
oder
(c2): #(v, w1 )≥r ∧ #(v, w2 )≥r.
¨ Es ist leicht zu sehen, dass ∼kr eine Aquivalenzrelation ist. Außerdem hat diese Relation endlichen Index, ¨ denn die Aquivalenzklasse eines Wortes w der L¨ange ≥ k ist bestimmt durch den Pr¨afix von w der L¨ange k−1 (daf¨ ur gibt es endlich viele M¨oglichkeiten), den Suffix von w der L¨ange k−1 (daf¨ ur gibt es wiederum endlich viele M¨oglichkeiten), sowie der Abbildung v 7→ max(#(v, w), r),
40
Vorlesungsskript von E. Best / Stand: 19. September 2005
beschr¨ankt auf die Menge {v | |v| ≤ k} (die ebenfalls endlich ist), weil je nach #(v, w) < r oder #(v, w) ≥ r die Bedingung (c1) oder die Bedingung (c2) greift. Eine Sprache L ⊆ A∗ heißt lokal schwellwert-testbar, wenn es k und r gibt, so dass L die Vereinigung von ¨ ∼kr -Aquivalenzklassen ist. Zur Terminologie: r ist der Schwellwert“ und der Begriff lokal testbar“ bezieht ” ” sich darauf, dass man zwei W¨orter mit einem Fenster der Gr¨oße k abgehen“ kann (um dabei bis zu r ” Vorkommen der Teilw¨orter zu z¨ahlen), um zu testen, ob sie ¨aquivalent sind. Lemma 3.4.1 Wenn L ⊆ A∗ lokal schwellwert-testbar ist, dann ist L FO[S]-definierbar. ¨ Beweis: Es gen¨ ugt, zu beweisen, dass jede ∼kr -Aquivalenzklasse FO[S]-definierbar ist. Denn da es hiervor ¨ nur endlich viele gibt, k¨onnen die FO[S]-Formeln f¨ ur die einzelnen Aquivalenzklassen zu einer FO[S]-Formel f¨ ur L disjunktiv verkn¨ upft werden. Dazu kann man die Beziehungen v ist ein Pr¨afix von w“, v ist ein Suffix von w“ und #(v, w) = s (f¨ ur ” ” ” ¨ 3.4.1 s∈N)“ jeweils durch FO-Formeln (ohne Benutzung von <) ausdr¨ ucken1 . (Ubungsaufgabe.) Nun beweisen wir auch die Umkehrung der Aussage dieses Lemmas. Die entscheidende technische Voraussetzung daf¨ ur ist die folgende. Lemma 3.4.2 Es seien w1 , w2 ∈ A∗ und r ∈ N. Setze R = 3r . 2 Aus w1 ∼R 3R w2 folgt dann w1 ≡r w2 . Beweis: (Nur die Idee.) Man zeigt, dass unter den gegebenen Voraussetzungen der Duplikator das r-Runden-Spiel gewinnt 3 und wendet danach Satz 3.2.7((iii)⇒(i)) an. Die Zahl R ist gerade so groß gew¨ahlt, dass der Duplikator gen¨ ugend viele gleiche Faktoren (die auch noch gen¨ ugend Abstand voneinander haben) in beiden W¨ortern vorfindet. 3.4.2 Nun folgt: Satz 3.4.3 Charakterisierung der FO[S]-Definierbarkeit L ist FO[S]-definierbar, genau dann, wenn L lokal schwellwert-testbar ist. Beweis: Der Teil (⇐) ist die Aussage des Lemmas 3.4.1. Es sei L FO[S]-definierbar. Dann gibt es eine FO[S]-Formel ϕ mit L = L(ϕ). Sei r = min{qd (ψ) | L = L(ψ)}. Wegen der Existenz von ϕ ist r eine wohldefinierte nat¨ urliche Zahl, und L ist die Vereinigung von ≡r ¨ Aquivalenzklassen. (Denn es gilt w1 ≡r w2 ⇒ (w1 ∈L ⇔ w2 ∈L).) Nach Lemma 3.4.2 ist L dann auch eine r ¨ Vereinigung von ∼R 3.4.3 3R -Aquivalenzklassen, wobei R = 3 . Schließlich folgt auch: Korollar 3.4.4 Es gibt eine Sprache, die FO-definierbar, aber nicht FO[S]-definierbar ist. Beweis: Wir betrachten A = {a, b, c} und L = a∗ ba∗ ca∗ . Wie wir gesehen haben, ist L FO-definierbar. Nehmen wir an, dass L FO[S]-definierbar ist. Nach Satz 3.4.3(⇒) gibt es r > 0 und k > 0, so dass L eine ¨ Vereinigung von ∼kr -Aquivalenzklassen ist. Es gilt jedoch ak bak cak ∼kr ak cak bak f¨ ur jede Zahl r > 0, und damit auch ak cak bak ∈ L. Das ist jedoch ein Widerspruch zur Definition von L. Die Annahme f¨ uhrt auf einen Widerspruch. Also ist L nicht FO[S]-definierbar. 3.4.4 Es gibt noch ein weiteres (unmittelbares) Korollar: 1 Es
geht sogar mit Σ3 - bzw. Π3 -Formeln. sich ≡r auf Formeln von FO[S] bezieht. 3 Mit Regeln, die sich auf FO[S]-Formeln beziehen. 2 Wobei
Automatentheorie und Logik - Wintersemester 2004/05
41
Korollar 3.4.5 Die Relation x < y kann nicht durch eine FO[S]-Formel ausgedr¨ uckt werden. Wir erhalten – zusammenfassend – die Sprachhierarchie in Abbildung 3.10. # regul¨are = MSO-definierbare Sprachen •{a2n |n» ∈ N} ¾ ∗ ∗ ∗ F O-definierbare Sprachen •a ba ca ¯ ² F O[S]-definierbare Sprachen
Ã
¼
!
± ½ "
°
3.4.5
Abbildung 3.10: Inklusionsbeziehungen (drittes Bild).
3.5
Zusammenfassung
Durch den Satz von B¨ uchi (Abschnitt 3.1) ist eine Beziehung zwischen Formeln der Logik MSO und den endlichen Automaten hergestellt worden: diese k¨onnen ineinander u ¨bersetzt werden. Wir wissen jetzt auch, dass die FO-Logik echt schw¨acher als die MSO-Logik ist (Abschnitt 3.2) und dass man den Begriff der Unterscheidbarkeit von Strukturen durch FO-Formeln einer gegebenen Schachtelungstiefe durch ein Zweipersonenspiel charakterisieren kann. Die FO-Logik kann auch gruppentheoretisch und mit Hilfe des Begriffs der Sternfreiheit charakterisiert werden (Abschnitt 3.3). L¨asst man nur die unmittelbare Nachfolgerelation S zu und l¨asst < weg, so erh¨alt man keine Einbußen bei der MSO-Logik, wohl aber bei der FO-Logik: die FO[S]-Logik ist echt schw¨acher als die FO[<]-Logik (Abschnitt 3.4).
42
Vorlesungsskript von E. Best / Stand: 19. September 2005
Kapitel 4
Omega-Automaten In diesem Kapitel wird der Satz von B¨ uchi dahingehend erweitert, dass statt endlichen nun unendliche W¨orter (und auch B¨aume) betrachtet werden. Abschnitt 4.1 ist der ersten Verallgemeinerung von endlichen auf unendliche W¨orter gewidmet. Der Abschnitt 4.2 betrachtet |A| = 1 als einen wichtigen Spezialfall. Der Abschnitt 4.3 enth¨alt eine zweite Verallgemeinerung von B¨ uchis Satz: wir betrachten unendliche B¨aume anstelle von unendlichen W¨ortern.
4.1
Automaten auf unendlichen W¨ ortern ... worin wir ω akzeptieren ...
Wir wollen jetzt den Satz von B¨ uchi auf ω-Sprachen erweitern. Dazu betrachten wir zun¨achst einige Automaten, die ω-Sprachen (d.h. Mengen von unendlichen W¨ortern) akzeptieren k¨onnen. Sei A, wie bisher, ein festes Alphabet.
4.1.1
Bu ¨ chi-, Muller-, Rabin- und Streett-Automaten
Wir modifizieren zun¨achst die Definition eines endlichen Automaten dahingehend, dass er nicht endliche, sondern unendliche W¨orter akzeptiert. Dazu ¨andern wir nur die Akzeptanzkomponente, nicht aber die anderen Parameter; insbesondere bleibt die Zustandsmenge immer endlich. Die Akzeptanzkomponente kann allerdings auf viele verschiedene Weisen ge¨andert werden, von denen wir vier oder f¨ unf genauer betrachten. Definition 4.1.1 Endlicher ω-Automat Ein endlicher ω-Automat u ¨ber A hat die Form A = (Q, A, q0 , ∆, Acc), wobei Q, A, q0 und ∆ ⊆ (Q × A) × Q die gleiche Funktion wie bei einem endlichen Automaten erf¨ ullen und an der Stelle von F eine noch genauer zu erkl¨arende Akzeptanzkomponente Acc gegeben ist. A heißt, wie vorher, deterministisch, wenn ∆ eine Funktion ∆ : Q × A → Q ist. Der Automat A akzeptiert ein ω-Wort α
=
α(0)α(1)α(2) . . .
∈
Aω
(wobei α(i) ∈ A f¨ ur 0 ≤ i),
wenn es eine Folge ρ
=
ρ(0)ρ(1)ρ(2) . . .
∈
Qω
(einen Lauf oder run) 43
44
Vorlesungsskript von E. Best / Stand: 19. September 2005
gibt, so dass gilt: ρ(0) = q0 ; (ρ(i), α(i), ρ(i+1)) ∈ ∆ f¨ ur alle 0 ≤ i; Acc ist bei ρ erf¨ ullt.
(Startbedingung) ¨ (Ubergangsbedingung) (Endbedingung)
¨ Diese Definition unterscheidet sich von (3.1) in der Endbedingung und dadurch, dass in der Ubergangsbedingung die obere Schranke f¨ ur i aufgehoben ist. 4.1.1 Wichtige Akzeptanzbedingungen werden in der n¨achsten Definition vorgestellt. Zun¨achst f¨ uhren wir die folgende Notation ein: ∃ω i : H Inf (ρ)
bedeutet: =
es existieren unendlich viele i mit H“ ” {q ∈ Q | ∃ω (Inf deutet das Wort Infinite“ an). i : ρ(i) = q} ” Zum Beispiel gilt Inf (q2 q1 q0 q1 q0 q1 . . .) = {q0 , q1 }. Definition 4.1.2 Akzeptanzbedingungen • B¨ uchi-Bedingung: Acc besteht aus einer Menge F ⊆ Q von Zust¨anden, und von ρ wird gefordert: Inf (ρ) ∩ F 6= ∅, d.h., mindestens ein Endzustand muß unendlich oft in ρ vorkommen. Ein Automat A mit B¨ uchiBedingung heißt B¨ uchi-Automat. • Verallgemeinerte B¨ uchi-Bedingung: Acc besteht aus einer Menge von k Endzustandsmengen F1 , . . . , Fk ⊆ Q (k ∈ N). Die Akzeptanzbedingung lautet: ein ω-Wort ρ wird akzeptiert, wenn es einen Lauf gibt, in welchem aus jeder der k Endzustandsmengen mindestens ein Zustand unendlich oft vorkommt. Ist insbesondere k = 0, dann ist die Menge der Endzustandsmengen leer, und jeder unendliche Lauf wird akzeptiert. Ein Automat A mit verallgemeinerter B¨ uchi-Bedingung heißt verallgemeinerter B¨ uchi-Automat. • Muller-Bedingung: Acc ist eine Menge F ⊆ 2Q von Mengen von Endzust¨anden, und ρ muß folgende Eigenschaft erf¨ ullen, um akzeptiert zu werden: Inf (ρ) ∈ F; d.h., die in ρ unendlich oft besuchten Zust¨ande sind eine Menge aus F. Ein Automat A mit MullerBedingung heißt Muller-Automat. • Rabin-Bedingung: Acc ist eine Folge Ω = (E1 , F1 ), . . . , (En , Fn ) (n ∈ N) mit Ei , Fi ⊆ Q, und die Akzeptanzeigenschaft f¨ ur ρ lautet: ∃i, 1 ≤ i ≤ n : Inf (ρ) ∩ Ei = ∅ ∧ Inf (ρ) ∩ Fi 6= ∅. D.h.: alle Ei -Zust¨ande werden nur endlich oft besucht und ein Fi -Zustand wird unendlich oft besucht (E steht f¨ ur excluded, F steht f¨ ur final). Ein Automat A mit Rabin-Bedingung heißt Rabin-Automat. • Streett-Bedingung: Acc ist eine Folge Ω = (E1 , F1 ) . . . (En , Fn ) (n ∈ N) mit Ei , Fi ⊆ Q, und ρ muß, um akzeptiert zu werden, folgende Bedingung erf¨ ullen: ∀i, 1 ≤ i ≤ n : Inf (ρ) ∩ Ei 6= ∅ ∨ Inf (ρ) ∩ Fi = ∅. D.h.: falls ein Fi -Zustand unendlich oft besucht wird, dann auch ein Ei -Zustand. Ein Automat A mit 4.1.2 Streett-Bedingung heißt Streett-Automat.
Automatentheorie und Logik - Wintersemester 2004/05
45
Die von einem dieser Automaten A = (Q, A, q0 , ∆, Acc) akzeptierte ω-Sprache ⊆ Aω heißt L(A) (oder noch genauer: Lω (A)). Die von A (mit Acc = F ) als normalem endlichen Automaten akzeptierte Sprache ⊆ A ∗ wird zur Unterscheidung davon mit L∗ (A) bezeichnet. B¨ uchi-Automaten Wir untersuchen zun¨achst die erste (und einfachste) der Akzeptanzbedingungen, d.h., die normalen B¨ uchiAutomaten. Beispiel 4.1.3 Wir betrachten das Alphabet A = {a, b, c}.
A1 : a, c
b, c b a
L1 = L(A1 ) = {α ∈ Aω | α enth¨alt nach jedem a irgendwann ein b}.
4.1.3
Beispiel 4.1.4 Wir betrachten wieder A = {a, b, c}.
A2 : a, b, c
b, c a
L2 = L(A2 ) = {α ∈ Aω | es existiert ein letztes a in α}.
4.1.4
Beispiel 4.1.5 Sei wieder A = {a, b, c}.
A3 : c
b, c b a
L3 = L(A3 ) = {α ∈ Aω | zwischen je zwei a kommt in α ein b vor}.
4.1.5
46
Vorlesungsskript von E. Best / Stand: 19. September 2005
Beispiel 4.1.6 Sei diesmal A = {a, b}.
A4 : a
a, b a
L4 = L(A4 ) = {α ∈ Aω | in α kommen nur endlich viele b’s vor}.
4.1.6
Beispiel 4.1.7 Sei schließlich wieder A = {a, b}.
A5 : a a
b
b L5 = L(A5 ) = {α ∈ Aω | in α kommen unendlich viele b’s vor}. Man beachte, dass L5 das Komplement von L4 ist, d.h., L5 = {a, b}ω \L4 .
4.1.7
Die zweite der Akzeptanzbedingungen kann, wie wir jetzt zeigen, unschwer auf die erste zur¨ uckgef¨ uhrt werden. Jeder normale B¨ uchi-Automat ist mit k = 1 auch ein verallgemeinerter. Andersherum l¨asst sich jeder verallgemeinerte B¨ uchi-Automat durch die folgende Konstruktion in einen ¨aquivalenten normalen B¨ uchi-Automat umwandeln: Lemma 4.1.8 Verallgemeinerter B¨ uchiautomat ; B¨ uchiautomat Jeder verallgemeinerte B¨ uchiautomat A mit einer Menge F1 , . . . , Fk von Endzustandsmengen kann in einen B¨ uchiautomaten A0 u ¨ber dem gleichen Alphabet mit einer Endzustandsmenge F umgewandelt werden, so dass gilt: Lω (A) = Lω (A0 ). Beweis: Sei A = (Q, A, q0 , ∆, {F1 , . . . , Fk }) ein verallgemeinerter B¨ uchi-Automat. Wir konstruieren A0 als A0 = ( Q×{0, 1 . . . , k}, A, (q0 , 0), ∆0 , Q×{0} ) mit ((q, j), a, (q 0 , j 0 )) ∈ ∆0 genau dann, wenn (q, a, q 0 ) ∈ ∆ sowie j 0 = if j=0 or q 0 ∈Fj then j+1 mod k+1 else j f i. Durch diese Konstruktion wird A k+1-mal vervielfacht, und (q, j) bedeutet, wenn 1≤j≤k: bin im Zustand ” 4.1.8 q und erwarte Zustand aus Fj“. Diese beiden Automaten akzeptieren die gleichen ω-Sprachen. Das Beispiel A4 zeigt, dass es zwischen endlichen Automaten und B¨ uchiautomaten einen wichtigen Unterschied in Bezug auf Determinierung“ gibt. Wir behaupten n¨amlich, dass es keinen deterministischen ” B¨ uchiautomaten gibt, der L4 akzeptiert. Um dies zu beweisen, nehmen wir an, dass A ein solcher Automat
Automatentheorie und Logik - Wintersemester 2004/05
47
sei und betrachten das Wort α = baaa . . ., das in L4 liegt. Weil L4 = L(A), gibt es einen Lauf ρ, der α akzeptiert und einen Endzustand unendlich oft enth¨alt, und weil A deterministisch ist, ist ρ eindeutig. Es uhrt. Betrachte nun das Wort gibt also eine Zahl k0 >0, so dass bak0 vom Anfangs- zu einem Endzustand f¨ bak0 baaa . . ., das ebenfalls in L4 liegt. Das gleiche Argument zeigt: es gibt eine Zahl k1 >0, so dass bak0 bak1 vom Anfangs- zu einem Endzustand f¨ uhrt. Das Argument kann ad infinitum wiederholt werden und zeigt die Existenz von Zahlen k0 , k1 , k2 , . . . >0, so dass A das ω-Wort bak0 bak1 bak2 . . . akzeptiert (denn wegen der Determiniertheit von A wird weiterhin nach jedem Pr¨afix bak0 . . . baki , i≥0, ein Endzustand erreicht). Dieses Wort ist allerdings nicht in L4 , und damit ist ein Widerspruch erreicht. Es gibt also zwar einen nichtdeterministischen, aber keinen deterministischen B¨ uchi-Automaten A, der L4 akzeptiert. Die Frage, ob das Komplement jeder B¨ uchi-akzeptierbaren Sprache ebenfalls B¨ uchi-akzeptierbar ist (wenn auch nicht unbedingt durch einen deterministischen Automaten), bleibt davon unber¨ uhrt. Wir untersuchen das Problem etwas genauer und wollen wissen, wieso die in der Grundvorlesung gelehrte, zum Potenzmengenautomat“ f¨ uhrende Teilmengenkonstruktion, die einen NFA ( nondeterministic finite ” ” automaton“, d.h. nichtdeterministischer endlicher Automat“) A in einen ¨aquivalenten DFA ( deterministic ” ” finite automaton“, d.h. deterministischer endlicher Automat“) D transformiert, hier fehlschl¨agt. Allgemein ” lautet diese Konstruktion folgendermaßen: Q0 (S, a, S 0 ) ∈ ∆D F
= {q0 }, ⇔ S 0 = {q 0 ∈ Q | ∃q ∈ S : (q, a, q 0 ) ∈ ∆A }, = {S ⊆ Q | S ∩ F 6= ∅},
(4.1)
wobei Q0 und q0 die Anfangszust¨ande von D bzw. A, ∆D und ∆A die Transitionsrelationen von D bzw. A, und F und F die Endzustandsmengen von D bzw. A sind. A4 : a
a, b a 0
1
D4 :
a, b b
∅ b
{0}
{1}
b
a
{0, 1}
a a
Abbildung 4.1: A4 ; D4 nach Konstruktion (4.1). Diese Konstruktion bildet aus A4 (als NFA interpretiert) den DFA D4 wie in Abbildung 4.1. Aus der Theorie endlicher Automaten ist bekannt, dass L∗ (A4 ) = L∗ (D4 ) gilt. Als B¨ uchi-Automat gesehen, akzeptiert D4 allerdings nicht die gleiche Sprache wie A4 ; es gilt n¨amlich ababab . . . ∈ L(D4 )\L(A4 ).
48
Vorlesungsskript von E. Best / Stand: 19. September 2005
Wenigstens gilt L(A4 ) ⊆ L(D4 ). Das Problem kann schematisch so dargestellt werden: α
=
a b |{z} | {z | |
a } {z
b {z .. .
a
b
a
}
b
...
}
• Unendlich viele Pr¨afixe von α f¨ uhren in A4 vom Anfangs- zum Endzustand. • Aber α selbst geht nicht unendlich oft durch den Endzustand von A4 . Man kann immerhin jeden nichtdeterministischen B¨ uchiautomaten in einen ¨aquivalenten Muller- (oder Rabin-, oder Streett-) Automaten umwandeln, und nicht nur das: man kann jeden beliebigen B¨ uchi-Automaten in einen deterministischen Muller- (Rabin-, Streett-) Automaten umwandeln. Diese Konstruktion ist aufw¨andig, daher stellen wir erst einige weitere Beobachtungen an. Zun¨achst jedoch betrachten wir weitere Beispiele. Beispiel 4.1.9 Zur Muller-Bedingung Mit A = {a, b} sei A der folgende Muller-Automat: b 0
a
b
a
1
Dann gilt mit F = {{0, 1}} : und mit F = {{0}, {1}} :
L(A) = (a ∪ b)∗ (b∗ aa∗ b)ω L(A) = ((a ∪ b)∗ aω ) ∪ ((a ∪ b)∗ bω ).
Hier haben wir eine hoffentlich leicht zu verstehende Erweiterung der Notation f¨ ur regul¨are Ausdr¨ ucke benutzt. Zum Beispiel bezeichnet (a ∪ b)∗ bω diejenige Menge von ω-W¨ortern, in denen zuerst eine endliche 4.1.9 Reihe von a-s ober b-s, danach aber nur noch b-s, vorkommen. Beispiel 4.1.10 Zur Umwandlung eines ω-Automaten in einen anderen Als n¨achstes geben wir ein Beispiel zum Vergleich der f¨ unf Akzeptanzbedingungen (die ersten beiden wurden bereits verglichen). Wir betrachten A = {a, b, c} und die Sprache L
=
{α ∈ Aω | falls a unendlich oft in α vorkommt, dann auch b}.
Zum Beispiel gilt abcabcabc . . . ∈ L und bacacac . . . 6∈ L. Ein Streett-Automat, der L erkennt, ist in Abbildung 4.2 dargestellt. Die Akzeptanzbedingung dieses Automaten sei ({qb }, {qa }), d.h. intuitiv: wenn unendlich oft qa besucht wurde, dann auch unendlich oft qb .“ ” Um hieraus einen Muller-Automaten zu erhalten, der L erkennt, verwenden wir den gleichen Graphen und die Akzeptanzkomponente {∅, {qa , qb }, {qa , qb , qc }, {qb }, {qc }, {qb , qc }}. Diese kommt folgendermaßen zustande: Wegen der Definition von L nehmen wir
Automatentheorie und Logik - Wintersemester 2004/05 qa
a a
b qb
b
a
c
c
b c
49
qc
Abbildung 4.2: Ein Streett-Automat, der L akzeptiert. alle Mengen F mit qa ∈ F ⇒ qb ∈ F in die Muller-Akzeptanzkomponente auf. Von 2{qa ,qb ,qc } fehlen also nur nur {qa } und {qa , qc }. Um einen Rabin-Automaten zu erhalten, charakterisieren wir L folgendermaßen: α∈L
⇐⇒
(b unendlich oft in α) ∨ (a, b beide endlich oft in α).
(4.2)
Wir k¨onnen deswegen den gleichen Graphen wie in Abbildung 4.2 mit der Rabin-Akzeptanzbedingung {(∅, {qb }), ({qa , qb }, {qc })} benutzen. Um schließlich einen B¨ uchi-Automaten zu erhalten, der L akzeptiert, codieren wir die Bedingung (4.2) mit Hilfe von Nichtdeterminismus; siehe Abbildung 4.3. 4.1.10
qa
a
a c
b
b qb
a
c
c c
b c
q0
qc c
Abbildung 4.3: Ein B¨ uchi-Automat, der L akzeptiert. Dieses Beispiel ist typisch und deutet den Beweis des folgenden Satzes an. ¨ Satz 4.1.11 Aquivalenz nichtdeterministischer ω-Sprachautomaten Die Klassen der von (nichtdeterministischen)
50
Vorlesungsskript von E. Best / Stand: 19. September 2005 • (verallgemeinerten) B¨ uchi-Automaten • Muller-Automaten • Rabin-Automaten • Streett-Automaten
akzeptierten ω-Sprachen stimmen u ¨berein. Beweis: (Unvollst¨ andig.) Ein Teil des Beweises steckt bereits in Lemma 4.1.8. Wir geben hier nur noch die Transformation von Rabin- zu Muller-Automaten formal an, da sie sp¨ater ben¨otigt wird. Sei also A = (Q, A, q0 , ∆, ((E1 , F1 ), . . . , (En , Fn ))) ein Rabin-Automat. Wir definieren eine Menge F ⊆ 2Q durch F = {F ∈ 2Q | ∃i ∈ {1, . . . , n} : F ∩ Ei = ∅ ∧ F ∩ Fi 6= ∅}. Offenbar akzeptiert der so definierte Muller-Automat die gleiche Sprache wie der Rabin-Automat, von dem er stammt. 4.1.11 Nichtdeterministische B¨ uchi-Automaten, Muller-Automaten, Rabin-Automaten und Streett-Automaten beschreiben also genau die gleiche Sprachklasse. Man nennt diese die regul¨ aren ω-Sprachen (oder die ωregul¨ aren Sprachen).
4.1.2
Charakterisierung Bu ¨ chi-akzeptierbarer Sprachen
Es gibt zwischen den regul¨aren (d.h., den B¨ uchi-akzeptierbaren) ω-Sprachen und den regul¨aren ∗-Sprachen (d.h., den regul¨aren Mengen endlicher W¨orter) eine Beziehung. Um dies zu sehen, definieren wir zu einem B¨ uchi-Automaten A = (Q, A, q0 , ∆, F ) u ¨ber A und zwei Zust¨anden q, q 0 ∈ Q die ∗-Sprache ¨ Lqq0 = {w ∈ A∗ | es existiert eine Uberf¨ uhrung von q nach q 0 durch w}. ur jedes Paar q, q 0 . Lqq0 ist regul¨ar f¨ F¨ ur eine Sprache L ⊆ A∗ sei Lω = {w0 w1 w2 . . . | wi ∈ L}. Dann gilt: Lemma 4.1.12 Darstellung von L(A) Sei A = (Q, A, q0 , ∆, F ) ein B¨ uchi-Automat u ¨ber A. Dann gilt [ (Lq0 q · Lω L(A) = qq ). q∈F
Beweis: α ∈ L(A)
⇐⇒
( Definition L(A) ) ∃q ∈ F : α = w0 w1 w2 . . . (mit ∃ω i : wi 6= ε) w2 w1 w0 und q0 → q → q → q → . . . ⇐⇒ ( Definition · und Lω ) ∃q ∈ F : α ∈ Lq0 q · Lω qq ⇐⇒ ( Definition ∪ ) S α ∈ q∈F Lq0 q · Lω qq .
Diese Eigenschaft ist außerdem charakteristisch:
4.1.12
Automatentheorie und Logik - Wintersemester 2004/05
51
Satz 4.1.13 Charakterisierung ω-regul¨ arer Sprachen Es sind ¨ aquivalent: 1. L ⊆ Aω ist ω-regul¨ ar (B¨ uchi-akzeptierbar), Sn 2. L = i=1 Ui · Viω mit einer Zahl n ∈ N und regul¨ aren ∗-Sprachen Ui , Vi ⊆ A∗ .
Beweis: Die Richtung 1. ⇒ 2. folgt aus Lemma 4.1.12. Die Richtung 1. ⇐ 2. ist eine Konsequenz des 4.1.13 folgenden Satzes. Satz 4.1.14 Abschlusseigenschaften (a) V regul¨ ar ⇒ V ω B¨ uchi-akzeptierbar. (b) U regul¨ ar, L B¨ uchi-akzeptierbar ⇒ U · L B¨ uchi-akzeptierbar. (c) L1 , L2 B¨ uchi-akzeptierbar ⇒ L1 ∪ L2 B¨ uchi-akzeptierbar. Beweis: Der Beweis ist konstruktiv. Wir geben nur die Konstruktionen an, ohne im Detail nachzuweisen, dass sie das Behauptete leisten. ¨ (a) O.b.d.A. gelte ε 6∈ V , und weiterhin, dass A die Sprache V ohne Uberg¨ ange nach q0 akzeptiert (d.h.: ω q0 hat keinen Eingangspfeil). Wir erhalten einen V erkennenden B¨ uchi-Automaten, indem wir f¨ ur alle (q, a, q 0 ) ∈ ∆A mit q 0 ∈ F die Transition (q, a, q0 ) hinzuf¨ ugen und {q0 } als die Akzeptanzmenge definieren. (b) A1 erkenne als endlicher Automat U , A2 erkenne als B¨ uchi-Automat L (wobei Ai = (Qi , A, q0i , ∆i , Fi ) f¨ ur i = 1, 2). Wir konstruieren folgendermaßen einen B¨ uchi-Automaten B mit L(B) = U · L: • 2. Zustandsmenge von B : Q1 ∪Q Anfangszustand von B : q01 . Finalkomponente von B : F2 . Transitionen von B : ∆1 ∪ ∆2 ∪ {(q, a, q 0 ) | q ∈ F1 ∧ (q02 , a, q 0 ) ∈ ∆2 }.
¨ (c) Aus zwei B¨ uchi-Automaten A1 und A2 mit Anfangszust¨anden q01 , q02 , Ubergangsrelationen ∆ 1 , ∆2 und Endzustandsmengen F1 , F2 konstruieren wir einen B¨ uchi-Automaten B mit L(B) = L(A1 )∪L(A2 ): • 2 ∪{q • Zustandsmenge von B : Q1 ∪Q 0B }. Anfangszustand von B : q0B . Finalkomponente von B : F1 ∪ F2 . Transitionen von B : ∆1 ∪ ∆2 ∪ {(q0B , a, q 0 ) | ∃i ∈ {1, 2} : q 0 ∈ Qi ∧ (q0i , a, q 0 ) ∈ ∆i }. 4.1.14
B¨ uchi-akzeptierbare Sprachen sind auch unter Komplementbildung abgeschlossen. Diese Tatsache ist schwerer nachzuweisen, und wir gehen erst sp¨ater darauf ein. Wir charakterisieren jetzt die durch deterministische B¨ uchi-Automaten akzeptierten Sprachen. Sei L ⊆ A∗ eine ∗-Sprache. Wir definieren die ω-Sprache lim L ⊆ Aω durch: lim L = { α ∈ Aω | ∃ω i : α(0) . . . α(i) ∈ L }. Beispiel: Wenn A = {a, b} und L = a∗ ba∗ = {b, ab, baa, aba, . . .}, dann ist lim L = {α | α hat genau ein b}.
52
Vorlesungsskript von E. Best / Stand: 19. September 2005
Satz 4.1.15 Charakterisierung deterministisch B¨ uchi-akzeptierbarer Sprachen Die durch deterministische B¨ uchi-Automaten akzeptierten Sprachen sind genau diejenigen von der Form lim W f¨ ur eine regul¨ are Sprache W ⊆ A∗ . Beweis: α ∈ L(A)
⇐⇒ f¨ ur einen eindeutigen Lauf ρ gilt ∃ω i : ρ(i) ∈ F ⇐⇒ (⇐ wegen Determinismus) ∃ω i : α(0) . . . α(i) ∈ L∗ (A) ⇐⇒ α ∈ lim L∗ (A). 4.1.15
4.1.3
Entscheidbarkeitsfragen bei Bu ¨ chi-Automaten
¨ Wir betrachten drei Entscheidungsprobleme: das Leerheits-, das Universalit¨ats- und das Aquivalenzproblem. Das Leerheitsproblem f¨ ur A, wobei A ein B¨ uchi-Automat ist, lautet folgendermaßen: Gegeben A, gilt L(A) = ∅?“ ” Wir charakterisieren zun¨achst, wann ein B¨ uchi-Automat mindestens ein Wort akzeptiert. Ein ω-Wort α ∈ Aω heißt schließlich periodisch, falls gilt: α = uvvv . . . = uv ω f¨ ur W¨orter u, v ∈ A∗ . Beispiele: 011111 . . . 000010001000100 . . . 01 00011011 000001010011100101110111 0000 . . .
ist schließlich periodisch ist schließlich periodisch ist nicht schließlich periodisch.
Eine zuf¨allig gew¨ahlte unendliche 0, 1–Folge ist nur mit sehr geringer Wahrscheinlichkeit schließlich periodisch. Jedoch gilt: Satz 4.1.16 Leerheitskriterium und -test f¨ ur B¨ uchi-Automaten (a) Sei A ein B¨ uchi-Automat. Es gilt L(A) 6= ∅ genau dann, wenn L(A) ein schließlich periodisches Wort enth¨ alt. (b) Sei α ∈ Aω . Die Sprache {α} ist B¨ uchi-akzeptierbar genau dann, wenn α schließlich periodisch ist. (c) Das Leerheitsproblem f¨ ur A ist in polynomieller Zeit (in |Q|) entscheidbar. Beweis: (a) (⇐) Klar. S (⇒) Sei L(A) = q∈F Lq0 q · Lω qq nicht leer. Dann existiert ein Endzustand q ∈ F mit Lq0 q 6= ∅ und so, dass Lqq ein Wort v 6= ε enth¨alt. W¨ahle u ∈ Lq0 q . Dann ist uv ω ∈ L(A) ein schließlich periodisches ω-Wort. (b) (⇒) folgt aus (a). (⇐) Sei α ∈ Aω schließlich periodisch. Dann ist α = uv ω mit u, v ∈ A∗ , und damit auch {α} = {u}{v}ω . Die Behauptung folgt aus Satz 4.1.13(2.⇒1.). (c) Nach Teil (a) dieses Satzes und Lemma 4.1.12 gen¨ ugt es, f¨ ur q ∈ F zu testen, ob Lq0 q 6= ∅ gilt und ob Lqq ein nichtleeres Wort enth¨alt. Das l¨auft auf das Berechnen von gerichteten Wegen in einem 4.1.16 Graphen hinaus und kann durch einen naiven Algorithmus in O(|Q|3 ) Zeit geschehen.
Automatentheorie und Logik - Wintersemester 2004/05
53
Mit Hilfe des Algorithmus von Tarjan (Tiefensuche) kann man den letzten Algorithmus zu Zeit O(|Q| + |∆|) (d.h., linear in der Gr¨oße der Knoten- und Kantenmenge des Automaten) verbessern. Dazu definieren wir eine SZK (stark zusammenh¨angende Komponente) eines Graphen als eine maximal große Teilmenge der Knoten, so dass von jedem Knoten zu jedem (gleichen oder anderen) Knoten ein gerichteter Weg existiert. (Nach dieser Definition ist ein einzelner isolierter Knoten nur dann eine SZK, wenn er eine Schlinge hat, d.h. einen Pfeil von sich zu sich selbst.) Es ist bekannt (Tarjan), dass ein Graph mit k Knoten und l Kanten in Zeit O(k + l) in SZK’n zerlegt werden kann. Da außerdem stets l ∈ O(k 2 ) gilt, kann man die (naive) Schranke O(|Q|3 ) auf O(|Q|2 ) verbessern: O(|Q| + |∆|)-Algorithmus zum Testen, ob L(A) = ∅: 1. Zerlege den (Graphen des) Automaten A in SZK’n, startend mit Anfangszustand q 0 (hierdurch werden nur solche SZK’n erfasst, die von q0 aus erreichbar sind). Zeit: O(|Q| + |∆|). 2. Teste, ob eine der erhaltenen SZK’n einen nichtleeren Schnitt mit F hat. Zeit: O(|Q|). 3. Falls ja: L(A) 6= ∅, falls nein: L(A) = ∅. Zeit: O(1). Das Universalit¨ atsproblem f¨ ur einen B¨ uchi-Automaten A lautet: Gegeben A, gilt L(A) = Aω ?“ ” ¨ und das Aquivalenzproblem f¨ ur B¨ uchi-Automaten A1 , A2 folgendermaßen: Gegeben A1 und A2 , gilt L(A1 ) = L(A2 )?“ ” Beide Probleme sind ebenfalls entscheidbar. Zum Beweis ist es sehr g¨ unstig, zu wissen, ob zu einem gegebenen B¨ uchiautomaten A effektiv ein Komplement-B¨ uchi-Automat Ac konstruiert werden kann, der die Komplementsprache von A, d.h. die Sprache Aω \L(A), akzeptiert. Wir werden eine solche Konstruktion im folgenden Abschnitt tats¨achlich kennen lernen. Nehmen wir f¨ ur den Moment an, dass es sie gibt. Dann l¨osen wir das Universalit¨atsproblem f¨ ur A, indem wir es auf das Leerheitsproblem f¨ ur Ac zur¨ uckf¨ uhren. Das ¨ Aquivalenzproblem f¨ ur A1 , A2 l¨osen wir folgendermaßen: 1. Konstruiere einen Automaten B1 , der L(A1 )\L(A2 ) akzeptiert; 2. konstruiere einen Automaten B2 , der L(A2 )\L(A1 ) akzeptiert; 3. teste, ob L(B1 ) = L(B2 ) = ∅ (genau dann gilt L(A1 ) = L(A2 )). Um in Schritt 1. den Automaten B1 zu finden, der L(A1 )\L(A2 ) akzeptiert, kann nach dem de-MorganMotto L1 \L2 = L1 ∩ L2 = L1 ∪ L2 zuerst die (als existent angenommene und im n¨achsten Abschnitt beschriebene) Komplementkonstruktion auf A1 angewendet werden, danach die Konstruktion des Satzes 4.1.14(c) auf A c1 und A2 , danach die Komplementkonstruktion auf das Resultat dieser Konstruktion. Analog findet man den Automaten B 2 in ¨ Schritt 2. Damit ist das Aquivalenzproblem auf die zweimalige Anwendung des Leerheitsproblems (Schritt 3.) zur¨ uckgef¨ uhrt.
54
Vorlesungsskript von E. Best / Stand: 19. September 2005
4.1.4
Determinierung und Komplementierung von ω-Automaten
Wir kehren nun zur¨ uck zu dem Problem, dass man zu einem B¨ uchi-Automaten im Allgemeinen nicht immer einen deterministischen finden kann, der die gleiche ω-Sprache akzeptiert (siehe Beispiel 4.1.6 und die darauf folgende Diskussion). Die in Definition 4.1.2 vorgestellten Automatentypen sind nicht zum geringen Teil aus dem Wunsch heraus entstanden, determinierbare“ Automaten und – eng damit verkn¨ upft – effektive ” Verfahren zur Komplementierung ω-regul¨arer Sprachen zu erhalten. Es gilt tats¨achlich: Satz 4.1.17 Mac Naughton / Rabin / . . . (ab 1966) Zu einem gegebenen B¨ uchi-Automaten A kann effektiv ein deterministischer Rabin- (Muller-, Streett-) Automaten konstruiert werden, der die gleiche ω-Sprache erkennt. Dies geht in Zeitkomplexit¨ at O(2n log n ), wobei n die Anzahl der Zust¨ ande von A ist (Safra 1988), und außerdem ist diese Zeitschranke (f¨ ur Rabin-Automaten) optimal (Michel 1988). Beweis: Wir beweisen des Satz mit Hilfe einer – auf Safra zur¨ uckgehenden – subtilen Verfeinerung der elementaren Potenzmengen-Konstruktion, durch die ein NFA in einen DFA umwandelt werden kann und die in Abschnitt 4.1.1 angegeben wurde. Beispiel 4.1.18 A a, b b
a 0
a 1
b
2
Es gilt L(A) = (a ∪ b)∗ a(ba∗ b)ω .
4.1.18
Die A ; D-Potenzmengenautomatkonstruktion (4.1), wobei A ein m¨oglicherweise nichtdeterministischer, D ein deterministischer Automat ist, gruppiert Zust¨ande in Mengen. Beginnend mit {q0 }, wird nach Lesen eines Wortes w ∈ A∗ diejenige Menge von Zust¨anden erreicht, die im Ausgangsautomaten A m¨oglich gewesen w¨are. Ist A bereits deterministisch, bleiben die erreichbaren Zustandsmengen einelementig oder werden leer. Jetzt werden stattdessen B¨ aume benutzt, an deren Knoten sich ebenfalls Zustandsmengen befinden. Diese enthalten aber zus¨atzliche Informationen u uhren k¨onnen, ¨ber m¨ogliche Kreise, die zu unendlichen L¨aufen f¨ insbesondere wenn es sich um Kreise handelt, auf denen ein Endzustand liegt. Wir geben zuerst die Konstruktion an und rechtfertigen sie sp¨ater. Sei A = (Q, A, q0 , ∆, F ) mit n = |Q| ein B¨ uchi-Automat, der die ω-Sprache L = Lω (A) akzeptiert. Wir konstruieren einen deterministischen Rabin-Automaten D = (Q0 , A, q00 , ∆0 , ((E1 , F1 ), . . . , (E2n , F2n ))) mit Lω (A) = Lω (D). Die Elemente von Q0 sind Safra-B¨ aume (kurz: S-B¨aume). Ein S-Baum ist ein beschrifteter Baum mit den folgenden Eigenschaften: (E1) Jeder Knoten ist eine Zahl k ∈ {1, . . . , 2n}. (E2) Jeder Knoten k ist mit einer Teilmenge Q(k) ⊆ Q beschriftet. (E3) Die S¨ohne eines Knoten k bilden eine (von links nach rechts) geordnete Menge; links steht der ¨alteste, rechts der j¨ ungste Sohn; das Zeichen à stellt diese Beziehung dar (siehe Abbildung 4.4).
Automatentheorie und Logik - Wintersemester 2004/05
55 k
l1
Ã
l2
Ã
...
Ã
lm
Abbildung 4.4: Eine Schicht (Knoten und S¨ohne) eines S-Baums. (E4) Sind l1 , . . . , lm die S¨ohne von k, gilt Q(k) % Q(l1 ) ∪ . . . ∪ Q(lm ). (E5) Sind l1 , . . . , lm die S¨ohne von k, gilt ∀i, j, i 6= j : Q(li ) ∩ Q(lj ) = ∅. (E6) Jeder Knoten ist entweder weiß oder gr¨ un; weiße Knoten“ werden als ” dargestellt.
, gr¨ une Knoten“ als ”
¨ Die Konstruktion von Q0 geht, zusammen mit der der Ubergangsrelation ∆0 , induktiv vor sich. Dabei wird der folgende Schritt 2. so lange wiederholt, wie sich durch ihn neue S-B¨aume ergeben oder ∆0 noch nicht total ist. 1. Induktionsbeginn: q00 = {1 {q0 }}, d.h. q00 (der Anfangszustand von D) ist ein S-Baum mit nur einer (weiß gef¨arbten) Wurzel mit Namen 1 und Beschriftung {q0 } (d.h., die Beschriftung ist eine Einermenge mit dem Anfangszustand von A). 2. Induktionsschritt: Gegeben seien ein bereits konstruierter S-Baum τ ∈Q 0 sowie ein Buchstabe a∈A. Wir erzeugen daraus einen neuen S-Baum τ 0 und setzen Q0 zu Q0 ∪{τ 0 } sowie ∆0 zu ∆0 ∪ {(τ, a, τ 0 )} gem¨aß folgender Vorschrift (die Schritte (R0) bis (R5) sind in dieser Reihenfolge anzuwenden): (R0) Kopiere τ und f¨arbe alle Knoten weiß. (R1) F¨ ur jeden Knoten k mit Q(k)∩F 6= ∅: erzeuge einen neuen j¨ ungsten Sohn l von k mit Beschriftung Q(l) = Q(k)∩F , der weiß ist; benutze dazu einen gerade nicht verwendeten Namen aus der Menge {1, . . . , 2n}. (R2) Wende auf die Beschriftung jedes Knotens k die NFA;DFA-Potenzmengenkonstruktion an, d.h.: ersetze Q(k) durch [ {q 0 | (q, a, q 0 ) ∈ ∆}. q∈Q(k)
(R3) Horizontales Verschmelzen und Entfernen leerer S¨ohne: Gilt q ∈ Q(l) ∩ Q(l0 ) f¨ ur zwei S¨ohne l, l0 0 0 0 eines Knoten k, wobei l j¨ unger als l ist (l à l ), dann entferne q aus Q(l ). Falls ein Knoten, der nicht die Wurzel ist, mit ∅ beschriftet ist, entferne ihn und alle Nachfolger; tue dies so lange (von den Bl¨attern bis – ausschließlich – zur Wurzel), bis Eigenschaft (E5) (wieder) gilt. (R4) Vertikales Verschmelzen: Gilt f¨ ur einen Knoten k und seine S¨ohne l1 , . . . , lm die Gleichheit Q(k) = Q(l1 ) ∪ . . . ∪ Q(lm ), so entferne l1 , . . . , lm und alle ihre Nachfolger und f¨arbe k gr¨ un (k ist als Breakpoint“ definiert). ” Die Rolle der Breakpoints und deren F¨arbung wird sp¨ater erl¨autert. Aus der Konstruktion folgt leicht, dass alle so konstruierten B¨aume ≤ n Knoten haben, obwohl sie kurzzeitig (zwischen (R1) und (R3)) bis zu maximal 2n Knoten haben k¨onnen. Das erkl¨art die Wahl des Gesamt-Namensvorrats von {1, . . . , 2n}.
56
Vorlesungsskript von E. Best / Stand: 19. September 2005
b
® © A {0} 1 ª
© ® B {0, 1} 1 ª
a
a
¶ ³ {0, 1, 2} 1 E 2 {2} µ
a
¶ H 1 {0, 1, 2}
´
³
2 {2} 3 {1} µ ´ b
b
¶ ³ {0, 1} 1 D
a
³ ¶ F 0 1 {0, 1, 2} 2 {1} 3 {2} µ ´
a
b
³ ¶ {0, 2} 1 C
a
2 {2} µ a
b
¶ F 1 {0, 1, 2}
b
a
b
b
³
a
¶ ³ {0, 2} 1 C 2 {2} µ ´ a
¶ ³ {0, 1, 2} 1 G
a
3 {2} µ
b
a
¶ F 00 1 {0, 1, 2}
³ ¶ H 0 1 {0, 1, 2} b 3 {1} 2 {2} µ ´b
³ ¶ H 1 {0, 1, 2} 3 {1} 2 {2} µ ´
b
´
0
´
2 {1} 3 {2} µ ´
a
2 {1} µ
´
³
3 {2} 2 {1} µ ´ b
00
Abbildung 4.5: Resultat D der Safra-Konstruktion f¨ ur den Automaten A aus Beispiel 4.1.18
Automatentheorie und Logik - Wintersemester 2004/05
57
Wir konstruieren D (genauer gesagt, zun¨achst nur Q0 , q00 und ∆0 ) f¨ ur den Automaten A aus Beispiel 4.1.18. Siehe Abbildung 4.5.
Im Folgenden finden sich einige Rechtfertigungen f¨ ur diese Konstruktion.
¤ ¡ a ¤ ¡ £A ¢−→ £B ¢:
¤ ¡ b ¤ ¡ £B ¢−→ £C ¢:
¤ ¡ a ¤ ¡ £B ¢−→ £B ¢:
Kopiere A: (R1): (R2): (R3): (R4):
1 {0} nicht anwendbar 1 {0} wird zu 1 nicht anwendbar nicht anwendbar
Kopiere B:
1
{0, 1}
(R1):
1
{0, 1}
2
{1}
(R2):
1
{0, 2}
(R3): (R4):
2 {2} nicht anwendbar nicht anwendbar
{0, 1}
Kopiere B:
1
{0, 1}
(R1):
1
{0, 1}
2
{1}
(R2):
1
{0, 1}
(R3): (R4):
2 ∅ l¨osche Knoten 2: es bleibt 1 nicht anwendbar
{0, 1}
58
¤ ¡ b ¤ ¡ 0 £F ¢−→ £H ¢:
Vorlesungsskript von E. Best / Stand: 19. September 2005 Kopiere F 0 und mache alle Knoten weiß: 1 {0, 1, 2} 2 {1} 3 {2} (R1):
1
{0, 1, 2}
2 {1} 3 {2} 4 {1} 5 {1} (R2):
1
{0, 1, 2}
2 {2} 3 {1} 4 {2} (R3):
5 {2} (erst entferne 2 aus Q(4), dann l¨osche Knoten 4) 1 {0, 1, 2} 2 {2} 3 {1} 5 {2}
(R4):
1
{0, 1, 2}
2 {2} 3 {1} Es fehlt noch die Rabin-Akzeptanzbedingung (E1 , F1 ), . . . , (E2n , F2n ). Dazu betrachten wir die Knoten k ∈ {1, . . . , 2n} und setzen Ek Fk
= =
Menge der Zust¨ande in Q0 , in denen k nicht vorkommt, Menge der Zust¨ande in Q0 , die k als (gr¨ un) enthalten.
Im Beispiel ist dies nur f¨ ur k = 2 und k = 3 relevant; alle anderen Paare werden (∅, ∅) oder (∅, Q0 ) und k¨onnen entfallen. k = 2 : (E2 , F2 ) = ({A, B, G}, {C 0 , H, H 00 }) k = 3 : (E3 , F3 ) = ({A, B, C, C 0 , D, E}, {F 0 , F 00 }). Wir untersuchen einige Akzeptanzbeispiele. Betrachte α = aba bab bab bab bab . . . ∈ L(A). Unendlichkeitskomponente“ in D ist hier {G, H 0 , F 00 }, also α ∈ L(D) wegen (E3 , F3 ). ” β = aba ba bab bab bab . . . ∈ L(A). Unendlichkeitskomponente“ in D ist {E, F, H}, also β ∈ L(D) wegen (E2 , F2 ). ” γ = ab bab bab bab . . . 6∈ L(A). Unendlichkeitskomponente“ in D ist {B, C, D}, also γ 6∈ L(D), denn weder (E 2 , F2 ) noch (E3 , F3 ) (noch ” die anderen Paare) sind anwendbar. Beweisskizze, dass Lω (A) ⊆ Lω (D): Sei α ∈ Lω (A) ein ω-Wort, das zu einem akzeptierenden A-Lauf ρ f¨ uhrt. Wir betrachten den (eindeutigen) D-Lauf ρ0 von α. Es wird behauptet: es gibt einen Knoten k ∈ {1, . . . , 2n} mit folgenden Eigenschaften: (i) Ab einem gewissen Index ist k in jedem S-Baum in ρ0 vorhanden. (ii) In den S-B¨aumen von ρ0 kommt k unendlich oft gr¨ un vor.
Automatentheorie und Logik - Wintersemester 2004/05
59
Wenn das stimmt, sind wir fertig, denn das Rabin-Paar (Ek , Fk ) (mit diesem k) akzeptiert α. Die Eigenschaft (i) gilt f¨ ur die Wurzel k = 1 der S-B¨aume in ρ0 , denn ρ(i) ist nach Potenzmengenkonstruktion (R2) in der Menge Q(1) des i ten S-Baums in ρ0 . Wenn die Wurzel der S-B¨aume in ρ0 auch noch unendlich oft gr¨ un wird, sind wir fertig. Andernfalls hat ρ0 einen Suffix ρ01 , in dem die Wurzel nie wieder gr¨ un wird. Sei ρ1 der entsprechende Suffix von ρ. Da ρ ein in A akzeptierender Lauf ist, kommt mindestens ein Zustand aus F unendlich oft in ρ 1 vor. Wir betrachten den ersten F -Zustand in ρ1 und den entsprechenden S-Baum in ρ01 . Von dort aus ist wegen (R1) dieser Endzustand in einem der S¨ohne der Wurzel. Er kann dann zwar von j¨ unger nach ¨alter wandern (R3), aber nicht andersherum und auch nicht unendlich oft; und da es nur endlich viele S¨ohne gibt, stabilisiert er sich in einem der S¨ohne, der zudem nicht mehr mit der Wurzel (R4)-verschmolzen werden kann, da deren – endlich viele – Breakpoints in ρ01 nicht mehr vorkommen. Es gibt also einen Sohn der ullt Wurzel und einen Suffix von ρ01 , in dem dieser Sohn unendlich oft vorkommt. D.h., Eigenschaft (i) ist erf¨ und der genannte Sohn ist ein neuer Kandidat f¨ ur k. Falls (dieses neue) k unendlich oft gr¨ un wird, resultiert hieraus wieder ein akzeptierender D-Lauf und wir sind wieder fertig. Andernfalls betrachten wir auf gleiche Weise die S¨ohne dieses Sohnes. Eventuell wandert auf diese Weise ein unendlich oft vorkommender Endzustand bis zu den Bl¨attern der S-B¨aume, aber sp¨atestens das ¨alteste Blatt ( unten links“) wird unendlich oft gr¨ un. Das Wandern kann nicht unendlich weiter gehen, ” weil es zu jedem Knoten nur endlich viele S¨ohne gibt und weil jeder S-Baum eine endliche Tiefe (≤ n−1) hat. Beweisskizze, dass Lω (D) ⊆ Lω (A): Sei α ein akzeptierender Lauf von D. Dann gibt es einen Knoten k, f¨ ur den folgendes gilt: α
=
{q0 }) {z
(1 |
w1
1.
A1 } |
w2
A2
w3
A3
w4
A4 . . .
{z
}
2.
1. Der anf¨angliche Teil w1 von α f¨ uhrt zu einem S-Baum A1 mit der folgenden Eigenschaft. 2. Ab A1 kommt k in allen Zust¨anden vor (weil Ek ausgeschlossen ist), und in A1 , A2 , A3 , . . . kommt k als k ( gr¨ un“) vor, und A1 , A2 , A3 , . . . sind die Gesamtmenge aller Zust¨ande in α, in denen k gr¨ un ” ist (falls k permanent gr¨ un ist, bestehen w2 , w3 , . . . nur aus einzelnen Buchstaben). Es seien Qi = Q(k) in Ai (i ≥ 1). Es gilt: w0
1 (a) F¨ ur jedes q ∈ Q1 gibt es einen A-Lauf q0 −→ q, der durch F f¨ uhrt.
Beweis: k ist in A1 gr¨ un, also durch vertikales Verschmelzen entstanden. Wegen (R2) gibt es u ¨berhaupt einen Lauf von q0 nach q in A, und wegen (R1) kann man ihn so w¨ahlen, dass er durch eine Zustandsmenge S1 gegangen ist, die eine nichtleere Endzustandsmenge F1 enth¨alt: S1
v
;1
F1
Q1
(w10 = u1 v1 , v1 6= ε)
=
u
;1
⊆
{q0 }
v
( ;1
G1 )
(im Potenzmengenautomat). Wendet man v1 auf F1 an, erreicht man G1 , das wegen der Breakpointeigenschaft (R4) gleich Q1 ist. D.h., q ist auch in G1 und damit mit w1 u ¨ber F1 von q0 aus erreichbar. 0 wi+1
(b) F¨ ur jedes q ∈ Qi+1 gibt es q 0 ∈ Qi (i ≥ 1), so dass q 0 −→ q mittels eines A-Laufes durch F . Beweis: Analog, auch mit der Tatsache, dass k zwischen Qi und Qi+1 immer vorkommt. Wir bauen einen A-Lauf, der unendlich oft durch F geht, so zusammen: f¨ ur jedes q ∈ Qi (i ≥ 1) w¨ahlen wir einen Lauf q0 −→ q, der i-mal durch F geht (das geht wegen a) und b)). Diese L¨aufe bilden einen unendlichen Baum mit endlichem Verzweigungsgrad. Das Lemma von K¨onig liefert den gew¨ unschten unendlichen Lauf. n log n Beweis der Komplexit¨at O(2 ) des Verfahrens: Die B¨aume k¨onnen als eine konstante Anzahl von Funktionen einer Menge der Kardinalit¨at O(n) in eine andere Menge der Kardinalit¨at O(n) codiert werden. Die Anzahl der B¨aume ist damit O(nn ) = O(2n log n ).
60
Vorlesungsskript von E. Best / Stand: 19. September 2005
#
1
n
2
1 2
n
... 1, . . . , n, #
1, . . . , n, #
1, . . . , n, #
1, . . . , n, #
Abbildung 4.6: Ein Automat, der zu einem deterministischen Rabin-Automaten der Gr¨oße O(2n log n ) f¨ uhrt. Beweisskizze, dass dies die optimale untere Schranke ist: Sei n ∈ N (n ≥ 1) zun¨achst fest. Wir betrachten das Alphabet An = {1, . . . , n, #} und die Sprache Ln = L(An ) mit dem in 4.6 abgebildeten Automaten An . Wir behaupten, dass kein deterministischer Rabin-Automat, der Ln akzeptiert, nur O(2n ) Zust¨ande und O(n) akzeptierende Paare haben kann. Denn ein solcher Automat kann (trivial) in einen gleich großen deterministischen Streett-Automaten umgewandelt werden, der das Komplement L n = Aω n \Ln akzeptiert. Ln ist allerdings gerade so gebaut, dass jeder deterministische Streett-Automat, der L n akzeptiert, mindestens n! Zust¨ande haben muss, ein Widerspruch, da (nach Stirling) n! gr¨oßenordnungsm¨aßig ungef¨ahr (wenn auch etwas kleiner“ als) O(2n log n ) = O(nn ) ist, allerdings gr¨oßer als O(2n ). ” Beweisidee, dass jeder deterministische Streett-Automat, der Ln akzeptiert, mindestens n! Zust¨ande haben muss: Sei A0n ein deterministischer Streett-Automat, der Ln akzeptiert. Sei π = {i1 , . . . , in } irgendeine Permutation von {1, . . . , n}. Dann ist das ω-Wort απ
=
i 1 i2 . . . i n # i 1 i2 . . . i n # i 1 i2 . . . i n # . . .
offenbar nicht in Ln , also gilt απ ∈ L(A0n ). Seien π und π 0 zwei verschiedene Permutationen von {1, . . . , n} und seien ρ bzw. ρ0 die beiden akzeptierenden L¨aufe von απ und απ0 durch A0n . Dann kann gezeigt werden (was hier aber weggelassen wird), dass Inf (ρ) ∩ Inf (ρ0 ) = ∅ gilt1 . Mit anderen Worten: f¨ ur jede Permutation von {1, . . . , n} hat A0n einen eigenen Zustand, und da es n! solche Permutationen gibt, hat A0n mindestens n! Zust¨ande. 4.1.17 Korollar 4.1.19 Abschluss gegen¨ uber Komplementbildung Sei L ω-regul¨ ar. Dann ist auch die Sprache L = Aω \L ω-regul¨ ar. Beweis: Nach Satz 4.1.17 finden wir einen deterministischen Rabin-Automaten, der L akzeptiert. Der entsprechende Streett-Automat akzeptiert L. Den Rest erledigt Satz 4.1.11. 4.1.19 Korollar 4.1.20 B¨ uchi 1962 Eine ω-Sprache ist B¨ uchi-akzeptierbar genau dann, wenn sie MSO[S]-definierbar ist (und beide Transformationen sind effektiv). Beweis: Analog dem entsprechenden Satz f¨ ur ∗-Sprachen (Satz 3.1.1). F¨ ur die Komplementierung kann Korollar 4.1.19 angewendet werden. 4.1.20 B¨ uchis urspr¨ unglicher Beweis war nicht-algorithmisch (er hat also den effektiv“-Teil nicht mitbewiesen). ” Dieser Beweis beruht auf der Charakterisierung in Satz 4.1.13.
1 Hier wird benutzt, dass mit ρ und ρ0 auch jeder Lauf σ mit Inf (σ) ⊇ (Inf (ρ) ∪ Inf (ρ0 )) von A0 akzeptiert wird, was eine n Eigenschaft speziell von Streett-Automaten ist.
Automatentheorie und Logik - Wintersemester 2004/05
61
Nachtrag: Wir beschreiben die Baumkonstruktion genauer, die zu einem unendlichen Lauf des Automaten A f¨ uhrt, wenn ein unendlicher Lauf des aus der Safra-Konstruktion erhaltenen deterministischen Automaten D gegeben ist (S. 59 unten). Gegeben: Ein Wort α ∈ L(D). Wegen der Akzeptanzbedingung von D kann ein entsprechender Lauf in D gefunden werden, der folgendermaßen aussieht: (1 |
{q0 }) {z 1.
w1
A1 } |
w2
A2
w3
A3
w4
{z 2.
A4 . . . }
und so dass ein Knoten k ∈ {1, . . . , 2n} existiert, der ab A1 in allen Zust¨anden vorkommt und wobei A1 , A2 , . . . diejenigen davon sind, in denen k als Breakpoint (gr¨ un) vorkommt. Es seien Q0 = {q0 } und Qi die Beschriftung des Knotens k in Ai (i ≥ 1). Konstruktion: Wir konstruieren einen Baum mit den folgenden Knoten und Kanten: • Knoten sind alle Paare (q, i) mit q ∈ Qi , f¨ ur i ≥ 0. • Kanten: F¨ ur einen Knoten (q, i+1) (mit i ≥ 0) w¨ahle als Elternknoten einen Knoten (q 0 , i), so dass ein 0 A-Lauf wi von q 0 nach q existiert. Ein solcher Knoten kann nach Konstruktion (wie oben ausf¨ uhrlicher erl¨autert) stets gefunden werden. Der Baum ist nicht eindeutig, da es unter Umst¨anden mehr als nur einen Kandidaten f¨ ur Elternknoten gibt. Ein solchermaßen konstruierter Baum hat endlichen Ausgangsgrad und ist unendlich groß. Daher hat er nach dem Lemma von K¨onig einen unendlichen Pfad. ¨ Ubungsaufgabe: Konstruiere jeweils einen Baum, und dann auch je einen A-Lauf, f¨ ur die zwei D-akzeptierten ω-W¨orter α und β auf S. 58.
4.2
Regul¨ are numerische Pr¨ adikate, Arithmetik ... worin Buchstaben nur gez¨ahlt werden ...
Wir wenden uns nun einem Spezialfall zu. Sei A = {a}, d.h. ein einelementiges Alphabet. Dann sind die betrachteten Wortmengen entweder {a}∗ , d.h., die Menge der endlichen W¨orter u ¨ber a (und die entsprechenden Grundmengen sind endliche Mengen der Form ∅ oder {0, . . . , n} mit n ∈ N), oder {a} ω }, d.h., die Menge {aω }, die als einziges Element das ω-Wort aω hat (und die entsprechende Grundmenge ist N). Was bleibt von der FO- bzw. von der MSO-Logik? Wir d¨ urfen die Pr¨adikate Qa weglassen, da sie keine Information liefern. Erhalten bleiben die Relationensymbole S und <, wobei < weiterhin durch S MSOdefinierbar ist. Eine MSO[S]-Formel ϕ ohne freie SO-Variablen, aber mit freien FO-Variablen x 1 , . . . , xk definiert also eine Relation auf nat¨ urlichen Zahlen. Solche Relationen werden numerisch genannt, und wegen ¨ der Aquivalenz zwischen Regularit¨at und MSO[S]-Definierbarkeit nennen wir ϕ auch regul¨ar“. ” Beispiel 4.2.1 Teilbarkeit durch eine feste Zahl Sei m ∈ N, m > 0 fest. Die einstellige Relation (x ≡ 0 (mod m)) definiert die Menge {0, m, 2m, . . .} von Positionen. Diese Relation wird f¨ ur m = 3 durch den Automaten in Abbildung 4.7 realisiert. (Wir verwenden dabei die am Ende des Abschnitts 2.4 getroffenen Verabredungen.) Nach Satz 3.1.1 kann man eine MSO[S]Formel nur mit einer freien FO-Variablen x (und keiner freien SO-Variablen) finden, die (x ≡ 0 (mod m)) 4.2.1 definiert. Beispiel 4.2.2 Die Relation < Die bin¨are Beziehung x < y (d.h., die Relation {(0, 1), (0, 2), . . . , (1, 2), (1, 3), . . .}) ist regul¨ar, da sie in MSO[S] ausdr¨ uckbar ist (siehe die erste Bemerkung nach Definition 2.5.2). Ein Automat f¨ ur < ist in Abbildung 4.8 gezeigt. 4.2.2
62
Vorlesungsskript von E. Best / Stand: 19. September 2005
a ax
a
a
a Abbildung 4.7: Automat f¨ ur (x ≡ 0 (mod 3)). a
a
ax
a
ay
Abbildung 4.8: Ein Automat f¨ ur x < y. Beispiel 4.2.3 Eine nicht-regul¨ are Relation Die tern¨are Relation x + y = z ist nicht regul¨ar. Beweis: Nehmen wir an, dass ϕ(x, y, z) eine x + y = z definierende MSO[S]-Formel ohne freie SO-Variablen ist. Daraus definieren wir ψ(x) = ∃z ( (∀y (y ≤ z)) ∧ ϕ(x, x, z) ), d.h., intuitiv: x = z/2. Da y < z regul¨ar ist, gilt das gleiche f¨ ur y ≤ z, also ist auch ψ(x) eine MSO-Formel. Wir betrachten jetzt die folgende Aussage (d.h.: Formel ohne freie Variablen) u ¨ber {a, b}: ∃x ( ψ(x) ∧ ∀y ( (y ≤ x → Qa (y)) ∧ (x < y → Qb (y)) ) ). Diese Formel definiert die nicht-regul¨are Sprache {an bn | n ≥ 0}, im Widerspruch zu Satz 3.1.1. Also war die Annahme falsch, und x + y = z ist nicht regul¨ar. 4.2.3 Ohne Beweis zitieren wir: Satz 4.2.4 Charakterisierung regul¨ arer numerischer Relationen Eine numerische Relation ist genau dann regul¨ ar, wenn sie durch eine FO-Formel definiert werden kann, in der alle atomaren Formeln von der Form (x < y) oder (x ≡ 0 (mod m)) sind. Auch indem wir {a}ω betrachten, beschreibt jede Formel ϕ von MSO[S] ohne freie SO-Variablen, aber mit k freien FO-Variablen, eine k-stellige Relation auf N. Wenn k = 0, ist ϕ eine Aussage u ¨ber N, die entweder wahr ist oder falsch. Zum Beispiel ist ϕ1 = ∀x∃y(x
= =
Lω (∀x∃y(x < y)) Lω (∃x∀y(y < x))
= =
{aω } ∅.
Wir definieren die Logik S1S ( second order logic with 1 successor“) als die Menge der MSO[S]-Formeln ” ohne Qa -Pr¨adikate. Die Menge der Aussagen dieser Logik kann man (nach Obigem) als eine Sprache ansehen, in der sich gewisse Eigenschaften normaler Arithmetik auf nat¨ urlichen Zahlen ausdr¨ ucken lassen. Eine Logik dieser Art ist entscheidbar, wenn das Problem
Automatentheorie und Logik - Wintersemester 2004/05
63
Input: Formel ϕ der Logik ohne freie Variablen, d.h. Aussage ϕ ¨ ¥ Gilt ϕ? § ¦ ja / nein entscheidbar ist. Unter Benutzung des Satzes 4.1.16 zeigt man: Satz 4.2.5 Entscheidbarbeit von S1S S1S ist entscheidbar. Beweis: Sei ϕ eine Aussage von S1S. Wir konstruieren einen B¨ uchi-Automaten, der Lω (ϕ) ⊆ {a}ω akzepω ω tiert. Falls der Automat a akzeptiert, gilt a ∈ Lω (ϕ) (und dann gilt ϕ), andernfalls gilt ϕ nicht. Ob der Automat aω akzeptiert, kann in endlicher Zeit (sogar in Zeit O(|Q| + |∆|); siehe die Bemerkung nach Satz 4.2.5 4.1.16) getestet werden. Wir vergleichen die Logik S1S mit ¨ahnlichen Logiken: • S1S: MSO-Logik mit 0, = und S. • Presburger-Arithmetik: FO-Logik mit 0, = und +. • Peano-Arithmetik: FO-Logik mit 0, =, + und ∗. Presburger- und Peano-Arithmetik sind schw¨acher als S1S in der Logik, da nur FO statt MSO zugelassen ist. Peano-Arithmetik ist jedoch st¨arker als S1S in den numerischen Pr¨adikaten, da auch + und ∗ zugelassen sind. Auch Presburger-Arithmetik ist auf den ersten Blick st¨arker als S1S, da die allgemeine Addition (und nicht nur die Addition +1) zugelassen ist. Es gilt jedoch: Satz 4.2.6 Peano- und Presburger-Arithmetik (a) Peano-Arithmetik ist unentscheidbar. (b) Presburger-Arithmetik ist entscheidbar. Beweis: (Nur die Ideen.) (a) Man kann das Halteproblem f¨ ur Turingmaschinen per G¨odelnummern in Arithmetik codieren und eine Aussage finden, die genau im Ja“-Fall des Halteproblems gilt. W¨are also Peano-Arithmetik ” entscheidbar, dann w¨are auch das Halteproblem entscheidbar, und da das nicht der Fall ist, kann Peano-Arithmetik nicht entscheidbar sein. (b) Man kann nat¨ urliche Zahlen durch endliche Teilmengen von N und die Addition durch Second-OrderFormeln codieren, und dann die (Entscheidbarkeit von) Presburger-Arithmetik auf (die Entscheidbarkeit von) S1S zur¨ uckf¨ uhren. Das folgende Beispiel zeigt das Prinzip. Seien x, y, z nat¨ urliche Zahlen. Zuerst wandeln wir diese in Bitstrings, versehen diese mit einer (von links) unendlichen Kette f¨ uhrender Nullen und berechnen dann diejenigen (endlichen) Mengen X, Y, Z ⊆ N, die f¨ ur die Bitstrings charakteristisch sind. Beispiel: Zahl x=2 y=3 z=5
Bitstring 10 = . . . 00010 11 = . . . 00011 101 = . . . 000101
Charakteristische Menge X = {1} Y = {1, 0} Z = {2, 0}
64
Vorlesungsskript von E. Best / Stand: 19. September 2005 Die Beziehung x + y = z wird codiert, indem die Existenz eines passenden carry“ c (bzw. einer ” entsprechenden Carry-Menge C ⊆ N) in S1S ausgedr¨ uckt wird: ∃C : ¬C(0) ∧ ∀x :
((¬X(x) ∧ ¬Y (x) ∧ ¬C(x)) → (¬Z(x) ∧ ¬C(S(x)))) ∧ ((X(x) ∧ ¬Y (x) ∧ ¬C(x)) → (Z(x) ∧ ¬C(S(x)))) ∧ ((¬X(x) ∧ Y (x) ∧ ¬C(x)) → (Z(x) ∧ ¬C(S(x)))) ∧ ((X(x) ∧ Y (x) ∧ ¬C(x)) → (¬Z(x) ∧ C(S(x)))) ∧ ((¬X(x) ∧ ¬Y (x) ∧ C(x)) → (Z(x) ∧ ¬C(S(x)))) ∧ ((X(x) ∧ ¬Y (x) ∧ C(x)) → (¬Z(x) ∧ C(S(x)))) ∧ ((¬X(x) ∧ Y (x) ∧ C(x)) → (¬Z(x) ∧ C(S(x)))) ∧ ((X(x) ∧ Y (x) ∧ C(x)) → (Z(x) ∧ C(S(x)))).
Die Formel ist unschwer als eine (etwas komplizierte, aber S1S-) Umformulierung der bin¨aren Addition zu interpretieren. Im Beispiel X = {1}, Y = {1, 0}, Z = {2, 0} ist es gerade die Menge C = {2, 1}, die die Formel wahr macht, entsprechend der Tatsache, dass bei dieser Addition an der zweitniedrigwer4.2.6 tigsten Stelle ein Carry auf die drittniedrigwertigeste Stelle vorkommt. Der letzte Satz gilt unver¨andert, wenn die FO-Logik auf der Struktur (Z, 0, =, +) betrachtet wird. Der Beweis wird dann etwas umst¨andlicher, weil negative Zahlen passend codiert werden m¨ ussen. Er gilt ebenfalls unver¨andert, wenn die FO-Logik auf (R, 0, =, +), also auf den reellen Zahlen, betrachtet wird: auch diese Theorie ist entscheidbar. Zum Beweis k¨onnen reelle Zahlen als unendliche Teilmengen von N dargestellt werden, und die Addition kann ¨ahnlich wie im vorigen Beweis codiert werden. Generell gilt auch, dass die Logiken S1S und WS1S (weak S1S) ¨aquivalent sind. Dabei ist WS1S diejenige Logik, die die gleichen Formeln wie S1S hat, worin aber die Quantifizierungen ∃X : . . . und ∀X : . . . folgendermaßen interpretiert werden: es existiert eine endliche Menge X ⊆ N mit . . .“ bzw. f¨ ur alle endlichen ” ” Mengen X ⊆ N gilt . . .“. Jede WS1S-Formel kann (leicht) in eine ¨aquivalente S1S-Formel umgeschrieben werden. Aber auch die Umkehrung gilt (ohne Beweis).
4.3
MSO-Logik auf unendlichen B¨ aumen ... worin auf B¨aumen gelaufen wird ...
Jetzt erweitern wir die Resultate der Abschnitte 4.1 und 4.2 auf unendliche B¨aume. Es bezeichne TAω die Menge der unendlichen B¨aume u ¨ber einem Alphabet A. Aus Abschnitt 2.3 rufen wir in Erinnerung, dass wir als Elemente von TAω nur bin¨are und volle unendliche B¨aume zulassen. Wir beginnen mit der Definition von Baumautomaten. Definition 4.3.1 Baumautomat Ein Baumautomat hat die Form A = (Q, A, q0 , ∆, Acc). Dabei haben Q, A, q0 die gleichen Funktionen wie bei endlichen Automaten, und ∆ ist eine Relation ∆ ⊆ Q × A × Q × Q. Ein Lauf von A auf einem Baum t ∈ TAω ist ein Baum ρ ∈ TQω mit ρ(ε) = q0 und ∀w ∈ {0, 1}∗ : (ρ(w), t(w), ρ(w0), ρ(w1)) ∈ ∆. Ein Lauf ρ ist erfolgreich, wenn jeder unendliche Zweig π ∈ {0, 1}ω von ρ die Akzeptanzbedingung Acc erf¨ ullt (das kann die B¨ uchi-Bedingung oder eine der anderen sein). A akzeptiert t, wenn es einen erfolgreichen Lauf 4.3.1 von A auf t gibt. Die (ω-)Baumsprache von A ist Tω (A) = {t ∈ TAω | A akzeptiert t}. Satz 4.3.2 (Ohne Beweis) Muller-, Rabin- und Streett-Baumautomaten akzeptieren die gleichen Sprachklassen.
4.3.2
Automatentheorie und Logik - Wintersemester 2004/05
65
Beispiel 4.3.3 Zu Muller- und B¨ uchi-Baumautomaten Sei T1
=
ω {t ∈ T{a,b} | es existiert ein unendlicher Zweig von t mit unendlich vielen b}.
Wit betrachten zun¨achst einen Baum t wie in Abbildung 4.9. Es gilt t 6∈ T1 . a a a
a a
a
a
...
Abbildung 4.9: Ein Baum t 6∈ T1 . Wir betrachten nun einen anderen Baum t0 wie in Abbildung 4.10. Es gilt t0 ∈ T1 wegen des Pfades ganz links im Baum. b a
a a
b a
a
a
a a
a
a a
a
a
...
Abbildung 4.10: Ein Baum t0 ∈ T1 . Nun definieren wir einen Muller-Baumautomaten A1 u ¨ber A = {a, b}: {qa , qb , qt } qa
Q1 q01
= =
∆1
=
{
F1
=
} {{qa , qb }, {qb }, {qt }}.
(qa , a, qa , qt ), (qb , a, qa , qt ), a war zu sehen“ ” (qa , a, qt , qa ), (qb , a, qt , qa ), ¾ (qa , b, qb , qt ), (qb , b, qb , qt ), b war zu sehen“ (qa , b, qt , qb ), (qb , b, qt , qb ), ª ” (qt , a, qt , qt ), (qt , b, qt , qt ) uninteressant“ ”
{qt } wird in F1 aufgenommen, weil alle Pfade in der Unendlichkeitsmenge sein m¨ ussen. Es gilt Tω (A1 ) = T1 . Die Abbildung 4.11 zeigt ein Beispiel f¨ ur einen erfolgreichen Lauf auf t0 : qa urde nicht zum Erfolg f¨ uhren! Eine falsche Transition qt qb w¨ Der linke Pfad hat {qa , qb } als Unendlichkeitsmenge, alle anderen Pfade {qt }. Als B¨ uchi-Baumautomat mit F = {qb , qt } interpretiert, erf¨ ullt A1 den gleichen Zweck.
4.3.3
66
Vorlesungsskript von E. Best / Stand: 19. September 2005
qa qb qa
qt qt
qt
qt
... Abbildung 4.11: Ein erfolgreicher Lauf von A1 auf t0 . Beispiel 4.3.4 Eine Baumsprache, die von keinem B¨ uchi-Automaten akzeptiert wird. Sei T2
=
ω T{a,b} \ T1
=
ω {t ∈ T{a,b} | jeder Zweig hat nur endlich viele b}.
(Nota bene: es gibt nicht notwendigerweise eine Zahl k, so dass jeder Zweig ≤ k viele b hat.) Wir definieren folgendermaßen einen Muller-Automaten A2 : Q2 q02 ∆2 F2
= = = =
{qa , qb }, qa , {(qa , a, qa , qa ), (qb , a, qa , qa ), (qa , b, qb , qb ), (qb , b, qb , qb )}, {{qa }}.
Dieser akzeptiert T2 .
4.3.4
Bei den ω-Sprachautomaten war es der Fall gewesen, dass die deterministischen B¨ uchi-Automaten weniger m¨achtig waren als die deterministischen Versionen der anderen Automaten. Im jetzigen Kontext sind die B¨ uchi-Automaten sogar noch schw¨acher, denn es gilt: Lemma 4.3.5 Es existiert kein (nichtdeterministischer) B¨ uchi-Baumautomat, der T2 akzeptiert. Beweis: Durch Widerspruch. Angenommen, A ist ein B¨ uchi-Baumautomat u ¨ber dem Alphabet A = {a, b} mit n Zust¨anden und der Endzustandsmenge F ⊆ Q, der T2 akzeptiert, also T ω (A) = T2 . Wir betrachten den unendlichen Baum t aus lauter a’s, außer dass an den Positionen 1+ 0, 1+ 01+ 0, . . . , (1+ 0)n Buchstaben b sitzen. D.h., t ist der in Abbildung 4.12 gezeigte Baum. Es gilt offensichtlich t ∈ T 2 . Wegen t ∈ T2 gibt es in A einen erfolgreichen Lauf ρ f¨ ur t. Der Pfad 1ω ganz rechts durchl¨auft unendlich m0 oft einen Endzustand. Also existiert m0 mit ρ(1 ) ∈ F . W¨ahle m0 kleinstm¨oglich. Der Pfad 1m0 01ω durchl¨auft ebenfalls unendlich oft einen Endzustand, also existiert ein m1 (w¨ahle es wieder kleinstm¨oglich) mit ρ(1m0 01m1 ) ∈ F , usw. Wir bekommen einen Besuch in F bei n + 1 Knoten 1m0 , 1m0 01m1 , . . . , 1m0 01m1 0 . . . 1mn . Zwei dieser Knoten, z.B. u und v, haben den gleichen Zustand ρ(u)=ρ(v), da die Zustandsmenge endlich ist. Außerdem kommt nach Konstruktion von t zwischen u und v ein b vor. Wir bilden t 0 , indem wir das Segment von u (inklusive) bis v (exklusive) mitsamt seinen Teilb¨aumen unendlich oft kopieren. Nach Konstruktion gilt t0 6∈ T2 . Aber t0 ∈ T ω (A), da man aus ρ unter Ausnutzung von ρ(u) = ρ(v) einen auf t0 erfolgreichen Lauf konstruieren kann. Das ist ein Widerspruch. 4.3.5 Einen solchen Automaten A kann es also nicht geben. Eine weitere Baumautomatenklasse ist zur Formulierung (und vor allem zum Beweis) der Haupts¨atze von Interesse.
Automatentheorie und Logik - Wintersemester 2004/05
67
a a a
a a
...
b a
a a a
b a
a
a
a
...
a
a
b
a
b
...
a
b a
a
b ...
Abbildung 4.12: Ein Baum t ∈ T2 . Definition 4.3.6 Rabin-Kettenbaumautomat F¨ ur einen Rabin-Kettenbaumautomaten hat Acc die folgende Form: E1 & F 1 & E 2 & F 2 & . . . & E n & F n , und ein Lauf ρ ist erfolgreich auf t, wenn f¨ ur jeden Pfad π ein k (1 ≤ k ≤ n) mit folgender Eigenschaft existiert: Ek -Zust¨ande kommen auf π nur endlich oft vor, und mindestens ein Fk -Zustand kommt auf π unendlich oft vor. 4.3.6 Die n¨achsten S¨atze werden ohne Beweis zitiert. ¨ Satz 4.3.7 Aquivalenz von Baum- und Kettenbaumautomaten Ein Muller-Baumautomat kann effektiv in einen ¨ aquivalenten Rabin-Kettenbaumautomaten umgewandelt werden, und umgekehrt.
Satz 4.3.8 Rabins Hauptsatz Ein Rabin-Kettenbaumautomat kann effektiv in einen anderen Rabin-Kettenbaumautomaten umgewandelt werden, der die Komplementmenge der B¨ aume akzeptiert.
Satz 4.3.9 Rabins Basissatz Das Problem ”
Gilt T ω (A) = ∅, wobei A ein Rabin-Kettenbaumautomat ist?“
ist entscheidbar.
Satz 4.3.10 Analogon von B¨ uchis Satz f¨ ur B¨ aume Sei ϕ(X1 , . . . , Xk ) eine MSO[S0 , S1 ]-Formel (mit k freien SO-Variablen), dann kann effektiv ein MullerBaumautomat A konstruiert werden, so dass gilt: A akzeptiert t genau dann, wenn t |= ϕ.
68
Vorlesungsskript von E. Best / Stand: 19. September 2005
Beweis: Analog wie die Beweise von Satz 3.1.1 und Korollar 4.1.20, unter Ausnutzung von Rabins Hauptsatz 4.3.8. 4.3.10 Die Logik S2S sei definiert als MSO[S0 , S1 ]-Logik u ¨ber einem einelementigen Alphabet A ohne Qa -Pr¨adikate. Dann folgt direkt aus den S¨atzen 4.3.9 und 4.3.10: Satz 4.3.11 Rabin S2S ist entscheidbar. Beweis: Wie vorher (Satz 4.2.5) unter Ausnutzung von Rabins Basissatz 4.3.9.
4.4
4.3.11
Zusammenfassung
Wir wissen jetzt, dass B¨ uchis Resultat auch auf unendliche W¨orter verallgemeinert werden kann, dass dazu jedoch eine Verallgemeinerung des Begriffs des endlichen Automaten vonn¨oten ist, die sich vor allem in der Akzeptanzbedingung niederschl¨agt. Die Komplementierung (Negation) bereitet erhebliche Schwierigkeiten. Auch auf Baumautomaten l¨asst sich der Satz verallgemeinern, wobei B¨ uchiautomaten endg¨ ultig als zu schwach dastehen. Nebenbei haben wir auch etliche Entscheidbarkeitsresultate kennengelernt, von denen die f¨ ur S1S und S2S besondere Beachtung verdienen.
Kapitel 5
Temporale Logiken und Transitionssysteme Die im Folgenden betrachteten Logiken werden auf Strukturen interpretiert, die als Ausf¨ uhrungen eines realen Systems angesehen werden k¨onnen. Wenn beispielsweise A ein Alphabet von Aktionen ist, kann ein unendliches Wort α u uhrungen der Aktionen α(0), α(1), α(2), ..., ¨ber A als eine unendliche Kette von Ausf¨ interpretiert werden. Die Positionen 0, 1, 2, ..., solcher W¨orter werden dann nicht neutral als nat¨ urliche Zahlen, sondern speziell als diskrete Zeitpunkte interpretiert. Zun¨achst (in Abschnitt 5.1) definieren wir eine pr¨ apositionale lineare temporale Logik. Die atomaren Formeln dieser Logik sind elementare Pr¨apositionen, d.h., Aussagevariablen, deren Wahrheitswerte hier auf Zeitpunkten definiert sind. Interpretiert werden die Formeln der Logik auf unendlichen Ketten von Belegungen der Variablen. Bei dieser Logik handelt es sich um die in der Literatur oft untersuchte Logik LTL (linear-time logic). Manchmal werden auch die K¨ urzel PTL oder PLTL verwendet. In einem realen System gibt es meist nicht nur eine m¨ogliche Ausf¨ uhrung, sondern (eventuell unendlich) viele. Abstrakt kann die Menge solcher L¨aufe als ein Transitionssystem aufgefasst werden. Ein Transitionssystem beschreibt die m¨oglichen Verzweigungspunkte (d.h.: Ausgangspunkt alternativen Verhaltens) eines Systems. Wir betrachten in Abschnitt 5.2 eine temporale Logik, CTL (computation tree logic), die direkt auf Transitionssystemen definiert ist und es erlaubt, Aussagen u ¨ber Verzweigungen zu machen. In Abschnitt 5.3 betrachten wir dann eine weitere auf Transitionssystemen definierte Logik, CTL ∗ . Diese Logik ist eine Verallgemeinerung sowohl von LTL als auch von CTL.
5.1
Pr¨ apositionale linear-time Logik LTL ... worin Boxen, Kugeln und Diamanten eine Rolle spielen ...
5.1.1
Definition der Syntax von LTL
Wir betrachten als atomare Formeln die aussagenlogischen Konstanten false, true, sowie n aussagenlogische Variablen p1 , . . . , pn mit jeweils bin¨arer Wertemenge {false, true}. LTL-Formeln entstehen aus diesen atomaren Formeln durch Anwendung von folgenden Operatoren: • aussagenlogischen Operatoren (¬, ∧, ∨, →, ↔); • einstelligen temporallogischen Operatoren –
(nexttime, auch oft als X f¨ ur neXt“ geschrieben), ” – 3 (eventually, auch oft als F f¨ ur Finally“ geschrieben), ” 69
70
Vorlesungsskript von E. Best / Stand: 19. September 2005 – ¤ (always, auch oft als G f¨ ur Globally“geschrieben); ” • einem zweistelligen temporallogischen Operator U (f¨ ur Until“). ”
Nota bene: Das englische Wort eventually“ darf auf keinen Fall mit eventuell“, sondern am besten mit ” ” irgendwann jetzt oder sp¨ater“ u ur die Operatoren nehmen wir eine (sinnvolle) Bindungs¨bersetzt werden. F¨ ” priorit¨at an; insbesondere bindet wie u ¨blich ¬ am st¨arksten. Eigentlich m¨ usste die Zahl n der pr¨apositionalen Variablen als ein Parameter der Logik angesehen werden, so dass man genauer von LTLn sprechen m¨ usste. Im Folgenden verwenden wir den Buchstaben n stets f¨ ur die vorgegebene Anzahl der aussagenlogischen Variablen, und bezeichnen die Menge dieser Variablen stets mit {p1 , . . . , pn }. Demzufolge d¨ urfen wir den Index n weglassen. Beispiel 5.1.1 Vier LTL-Formeln Sei n ≥ 2. ¤ 3 p1 , trueU p1 (der Until-Operator wird in Infixnotation geschrieben), (p1 → 3p2 ), ¤ (p1 →
5.1.2
(¬p2 Up1 )).
5.1.1
Definition der Semantik von LTL
Wir interpretieren LTL-Formeln auf ω-W¨ortern u ¨ber dem Alphabet A = {0, 1}n , d.h. auf W¨ortern α ∈ ({0, 1}n )ω . Die Intention ist, dass die i-te Zeile“ eines solchen Wortes (1≤i≤n) an Position j (j∈N) die Belegung von ” pi zum Zeitpunkt j anzeigt, wobei die Werte 0 und 1 den logischen Werten false bzw. true entsprechen. Anders ausgedr¨ uckt: die j-te Spalte“ (j∈N) eines solchen Wortes zeigt die Belegung aller n Variablen zum ” Zeitpunkt j an. Beispiel 5.1.2 Betrachte n = 2, Variablen p1 , p2 und µ ¶µ ¶µ ¶µ ¶µ ¶µ ¶ 0 1 0 1 0 1 α = ... 0 0 0 0 0 0 Hier hat p1 bei geraden Positionen den Wert 0, d.h. false, und bei ungeraden Positionen den Wert 1, d.h. 5.1.2 true, w¨ahrend p2 durchg¨angig den Wert false hat. Eine alternative Struktur, auf der LTL-Formeln interpretiert werden k¨onnen, ist die Menge N der nat¨ urlichen Zahlen, zusammen mit einer Funktion Φ : N → 2{p1 ,...,pn } . Die Idee ist, dass N die Positionen (oder die Zeitpunkte) bezeichnet und dass Φ(j) (f¨ ur j ∈ N) genau diejenigen p angibt, die bei j den Wert true haben. Diese beiden Strukturen sind ganz und gar ¨aquivalent. Um dies zu sehen, verwenden wir f¨ ur α ∈ ({0, 1}n )ω die folgende Hilfsbezeichnung. Da α(j) der Buchstabe von α an der j-ten Position (j∈N) ist, ist α(j) also ein n-dimensionaler Vektor v ∈ {0, 1}n , und f¨ ur einen solchen Vektor v sei proj(v, i) die i-te Komponente (1≤i≤n). Stets ist proj(v, i) entweder 0 oder 1. Strukturen α und Φ wie oben k¨onnen ineinander umgerechnet werden verm¨oge folgender Formel: proj(α(j), i) = 1
⇔
pi ∈ Φ(j)
f¨ ur j ∈ N und 1 ≤ i ≤ n.
(5.1)
Automatentheorie und Logik - Wintersemester 2004/05
71
Das α von Beispiel 5.1.2 entspricht dann folgender Funktion Φ: N → 2½{p1 ,...,pn } Φ: ∅ falls 2 | j j 7→ {p1 } falls 2 - j.
Umgekehrt kann jedes Φ durch (5.1) in ein ¨aquivalentes α umgewandelt werden. Nach diesen Vorbereitungen definieren wir den Begriff α |= ϕ
(d.h.: α ist ein Modell von ϕ“ oder ϕ gilt auf α“), ” ”
wobei α ein Element von ({0, 1}n )ω und ϕ eine LTL-Formel ist, induktiv u ¨ber die Syntax von ϕ: α |= false gdw. false (also nie) α |= true gdw. true (also immer) α |= pi gdw. proj(α(0), i) = 1 α |= ¬ϕ gdw. nicht α |= ϕ α |= (ϕ1 ∧ϕ2 ) gdw. α |= ϕ1 und α |= ϕ2 Analog sind ∨, → und ↔ definiert. α |= ϕ gdw. α(1)α(2)α(3) . . . |= ϕ (NB: α = α(0)α(1)α(2) . . .) α |= ¤ϕ gdw. ∀j≥0 : α(j)α(j+1)α(j+2) . . . |= ϕ α |= 3ϕ gdw. ∃j≥0 : α(j)α(j+1)α(j+2) . . . |= ϕ α |= ϕ1 Uϕ2 gdw. ∃j≥0 : [ α(j)α(j+1) . . . |= ϕ2 ∧ ∀k, 0≤k<j : α(k)α(k+1) . . . |= ϕ1 ] . Dabei entspricht die dritte Zeile dieser Definition der genannten Bedeutung von α. Die letzten vier Zeilen spiegeln die Bedeutung der LTL-eigenen Operatoren wider, und auf sie werden wir uns im Folgenden konzentrieren. Beispiel 5.1.3 Wir betrachten die Formel ϕ = ¤ (p1 →
(¬p2 U p1 ))
aus Beispiel 5.1.1 und fragen: Welche W¨orter erf¨ ullen ϕ, welche nicht? 2 Die Antwort lautet: Alle {0, 1} -Folgen mit folgender Eigenschaft erf¨ ullen ϕ: Steht eine 1 an j ter Stelle in der ersten Komponente, gilt vom n¨achsten Zeitpunkt (d.h., von k+1 ter Stelle) an: es gibt eine sp¨atere 1 in der gleichen (ersten) Komponente und bis dahin steht eine 0 in der zweiten Komponente. Zum Beispiel: µ ¶µ ¶µ ¶µ ¶µ ¶µ ¶ 1 0 1 0 1 0 ... 1 0 1 0 1 0 µ ¶µ ¶µ ¶µ ¶µ ¶µ ¶ 0 0 0 0 0 0 ... 0 0 0 0 0 0 µ ¶µ ¶µ ¶µ ¶µ ¶µ ¶ 1 0 0 0 0 0 ... 1 0 0 0 0 0 µ ¶µ ¶µ ¶µ ¶µ ¶µ ¶ 1 1 1 1 1 1 ... 1 1 1 1 1 1 etc.
|= ϕ |= ϕ
(!)
6|= ϕ
(!)
|= ϕ 5.1.3
72
Vorlesungsskript von E. Best / Stand: 19. September 2005
Bemerkung 5.1.4 Minimierung der Syntax F¨ ur alle α gilt: α |= 3ϕ genau dann, wenn α |= ¤ϕ genau dann, wenn
α |= (trueU ϕ) α |= ¬3¬ϕ.
Also sind 3 und ¤ aus LTL-Formeln eliminierbar. Die Operatoren ϕ ::= true | pi (1≤i≤n) | ¬ϕ | ϕ1 ∧ ϕ2 |
und U bleiben allerdings. Daher ist
ϕ | ϕ1 U ϕ2
eine minimale“ LTL-Syntax, denn alle anderen syntaktischen Formen k¨onnen abgeleitet werden (z.B. false ” als ¬true, ϕ1 ∨ϕ2 als ¬(¬ϕ1 ∧¬ϕ2 ), etc.). Mit n ≥ 1 kann auch true abgeleitet werden: true = (p1 =p1 ). 5.1.4 Wie u ¨blich heißt eine LTL-Formel ϕ(p1 , . . . , pn ) mit n freien Variablen
und
g¨ ultig, wenn gilt: erf¨ ullbar, wenn gilt:
∀α ∈ ({0, 1}n )ω : α |= ϕ ∃α ∈ ({0, 1}n )ω : α |= ϕ.
Wenn ϕ g¨ ultig ist, schreibt man auch |= ϕ. Zwei LTL-Formeln ϕ und ψ heißen ¨ aquivalent, wenn gilt: ∀α ∈ ({0, 1}n )ω : α |= ϕ genau dann, wenn α |= ψ. Zum Beispiel ist 3ϕ ¨aquivalent mit trueU ϕ, und ¤ϕ ist ¨aquivalent mit ¬3¬ϕ (siehe Bemerkung 5.1.4). Wenn ϕ und ψ ¨aquivalent sind, gilt |= (ϕ ↔ ψ), und umgekehrt. Beispiel 5.1.5 ¨ ¨ Einige weitere Aquivalenzen bzw. Implikationen (Ubungsaufgabe): |= |= |= |= |= |= |= |=
¬ ϕ ↔ ¬ϕ ¬3ϕ ↔ ¤¬ϕ ¬¤ϕ ↔ 3¬ϕ ¤¤ϕ ↔ ¤ϕ 33ϕ ↔ 3ϕ (ϕ1 ∧ ϕ2 )Uϕ ↔ (ϕ1 Uϕ) ∧ (ϕ2 Uϕ) ϕU(ϕ1 ∨ ϕ2 ) ↔ (ϕUϕ1 ) ∨ (ϕUϕ2 ) ϕ1 U(ϕ2 ∧ ϕ3 ) → (ϕ1 Uϕ2 )Uϕ3 → (ϕ1 ∨ ϕ2 )Uϕ3 . 5.1.5
In der letzten Zeile kommt eine Kettenimplikation vor. A → B → C soll hier bedeuten: (A → B) und (B → C). ¨ Die n¨achste Aquivalenz liefert eine sehr n¨ utzliche induktive Eigenschaft des Until-Operators U: Lemma 5.1.6 Induktive Eigenschaft des U-Operators F¨ ur alle α ∈ ({0, 1}n )ω und LTL-Formeln ϕ1 , ϕ2 sind (i) und (ii) ¨ aquivalent: (i) α(0)α(1) . . . |= ϕ1 U ϕ2 . (ii) [ α(0)α(1) . . . |= ϕ2 ] oder ([ α(0)α(1) . . . |= ϕ1 ∧ α(1)α(2) . . . |= ϕ1 U ϕ2 ].
Automatentheorie und Logik - Wintersemester 2004/05
73
Beweis: α(0)α(1) . . . |= ϕ1 Uϕ2 ⇔ ∃j≥0 : (α(j)α(j+1) . . . |= ϕ2 ∧ ∀k, 0≤k<j : α(k)α(k+1) . . . |= ϕ1 ) ⇔ (α(0)α(1) . . . |= ϕ2 ∧ true) ∨ (∃j≥1 : (α(j)α(j+1) . . . |= ϕ2 ∧ ∀k, 0≤k<j : α(k)α(k+1) . . . |= ϕ1 )) ⇔ α |= ϕ2 ∨ (∃j≥1 : (α(j)α(j+1) . . . |= ϕ2 ∧ α(0)α(1) . . . |= ϕ1 ∧ ∀k, 1≤k<j : α(k)α(k+1) . . . |= ϕ1 )) ⇔ α |= ϕ2 ∨ (α |= ϕ1 ∧ ∃j≥1 : (α(j)α(j+1) . . . |= ϕ2 ∧ ∀k, 1≤k<j : α(k)α(k+1) . . . |= ϕ1 )) ⇔ α |= ϕ2 ∨ (α |= ϕ1 ∧ α(1)α(2) . . . |= ϕ1 Uϕ2 ) ⇔ α |= ϕ2 ∨ (α |= ϕ1 ∧ α |= (ϕ1 Uϕ2 )). 5.1.6 ¨ Man kann die Aussage des Lemmas auch eleganter als eine Fixpunktgleichung“ (in Aquivalenzform) for” mulieren: |=
ϕ1 Uϕ2 ↔ (ϕ2 ∨ (ϕ1 ∧( (ϕ1 Uϕ2 )))).
(5.2)
Durch Umformen einer LTL-Formel kann man versuchen, etwa vorhandene Negationen in die Formel hin” einziehen“, bis alle ¬-Zeichen direkt vor atomaren Formeln pi stehen. F¨ ur sie aussagenlogischen Operatoren darf man dazu die Gesetze von de Morgan und f¨ ur die Operatoren , 3 und ¤ die ersten drei Zeilen aus ¨ Beispiel 5.1.5 benutzen. Nur f¨ ur den Until-Operator U existiert keine analoge Aquivalenz. Es liegt deshalb nahe, nach einem Operator R zu fahnden, der sich U gegen¨ uber dual“ verh¨alt: ” |= ¬(ϕ1 Uϕ2 ) ↔ (¬ϕ1 R¬ϕ2 ) (5.3) sowie |= ¬(ϕ1 Rϕ2 ) ↔ (¬ϕ1 U¬ϕ2 ). Damit die Gesetze (5.3) erf¨ ullt sind, muss die Interpretation von ϕ1 Rϕ2 folgendermaßen lauten: α erf¨ ullt ϕ1 Rϕ2 , wenn ϕ2 erst aufh¨ort zu gelten, nachdem einmal ϕ1 gegolten hat (was nicht unbedingt passieren muss). ¨ ¨ (Ubungsaufgabe: formalisiere dies und beweise (5.3).) Auch f¨ ur R gibt es eine Rekursionsformel“ (Ubungs” aufgabe): |=
5.1.3
ϕ1 Rϕ2 ↔ ((ϕ1 ∧ϕ2 ) ∨ (ϕ2 ∧( (ϕ1 Rϕ2 )))).
(5.4)
Zur Ausdrucksf¨ ahigkeit des Until-Operators
Wie wir gesehen haben, k¨onnen die beiden Operatoren 3 und ¤ durch U ausgedr¨ uckt werden. Umgekehrt gilt dies jedoch nicht. Denn man hat folgenden Satz: Satz 5.1.7 Expressivit¨ at des U-Operators Sei ϕ die LTL-Formel p1 U p2 und sei ψ irgend eine LTL-Formel ohne U-Operator. Dann gibt es zwei W¨ orter α und β in ({0, 1}2 )ω , so dass α |= ϕ, β 6|= ϕ und (α |= ψ ⇔ β |= ψ) gilt. Mit anderen Worten: α und β k¨onnen durch ϕ, aber nicht durch ψ unterschieden werden. Zum Beweis dieses Satzes t¨atigen wir einen kleinen Vorgriff auf Kripke-Strukturen, die wir erst sp¨ater in gr¨oßerer Allgemeinheit einf¨ uhren werden. Betrachten wir den Graphen in Abbildung 5.1, der von einem Parameter m ∈ N, m ≥ 2, abh¨angt, welchen wir sp¨ater geeignet w¨ahlen werden. Dieser Graph hat Knoten s0 bis s4m−1 und Kanten (sj , sj+1 ) (f¨ ur 0 ≤ j ≤ 4m−2) und (s4m−1 , s2m ). Jeder Knoten ist mit einem Vektor in {0, 1}2 beschriftet, der Werte f¨ ur p1 und p2 vorgibt: p1 ist u ¨berall gleich 1, außer in s3m , und p2 ist u ¨berall gleich 0, außer in s2m−1 und in s4m−1 .
74
Vorlesungsskript von E. Best / Stand: 19. September 2005
s2m s0
s1 ···
µ ¶ µ ¶ 1 1 0 0
s2m−2 s2m−1
sm
s2m+1
··· µ ¶ 1 0
··· µ ¶ µ ¶ µ ¶ µ ¶ 1 1 1 1 0 1 0 0
s4m−2
s3m
s4m−1
··· µ ¶ 0 0
µ ¶ µ ¶ 1 1 0 1
Abbildung 5.1: Ein beschrifteter Graph mit Parameter m ≥ 2. Wir benutzen diesen Graphen, um mit Hilfe der Beschriftung seiner Knoten verschiedene unendliche W¨orter in ({0, 1}2 )ω zu erzeugen. Dazu beachten wir, dass jeder Knoten sj genau ein solches Wort generiert, wenn man in Richtung der Kanten voranschreitet. Sei das von sj generierte unendliche Wort mit αhji bezeichnet. Beispielsweise gilt αh0i
α
h2mi
=
µ ¶ µ ¶µ ¶ µ ¶ µ ¶µ ¶µ ¶ µ ¶ µ ¶µ ¶µ ¶µ ¶ 0 1 1 1 1 0 1 1 1 1 1 1 ... ... ... ... ... ... ... 0 0 0 1 0 0 0 0 1 0 0 0
=
µ ¶ µ ¶µ ¶ µ ¶ µ ¶µ ¶µ ¶ µ ¶ µ ¶µ ¶µ ¶µ ¶ 0 1 1 1 1 0 1 1 1 0 1 1 ... ..., ... ... ... ... ... 0 0 0 1 0 0 0 0 1 0 0 0
d.h., αh0i und αh2mi sind fast identisch, denn sie unterscheiden sich nur an Position m. Wir machen einige allgemeine Beobachtungen: Beobachtung 1: F¨ ur j < m gilt αh2m−ji = αh4m−ji . Das ist nach Definition der αhji direkt klar. Beobachtung 2: Es gilt (ebenfalls direkt nach Definition und wegen m ≥ 2): αh0i |= p1 U p2 und αh2mi 6|= p1 U p2 . Beobachtung 3: Sei 0 < i ≤ m und sei ψ eine LTL-Formel ohne U-Operator und mit weniger als i αhm−ii |= ψ genau dann, wenn αh3m−ii |= ψ.
-Operatoren. Dann gilt (5.5)
Die dritte Beobachtung bedarf eines Beweises (den wir aber ans Ende dieses Abschnitts schieben). Intuitiv bedeutet die Aussage, dass die (weniger von ψ nicht aussagekr¨aftig genug sind, die µ als) ¶ i Next-Operatoren µ ¶ 1 0 Unterschiede zwischen den Vektoren und an den Positionen m bzw. 3m zu erkennen, sofern i 0 0 Positionen vor diesen beiden mit der Interpretation von ψ begonnen wird. Beweis: (von Satz 5.1.7.) Sei ϕ = p1 U p2 und sei ψ irgend eine LTL-Formel ohne U-Operator. Sei m die Anzahl der -Operatoren in ψ, plus 2. Dann ist m ≥ 2 und von Abbildung 5.1 lassen sich wohl definierte α-Folgen wie oben ableiten. Wir definieren α = αh0i und β = αh2mi . Nach Beobachtung 2 gilt α |= ϕ und β 6|= ϕ. Nach Beobachtung 3, mit i = m, gilt α |= ψ ⇔ β |= ψ. Damit erf¨ ullen die beiden Folgen α, β die Behauptungen des Satzes, und der Satz ist bewiesen. 5.1.7 Die Grundidee dieses Beweises ist es, α und β so zu w¨ahlen, dass sie sich nur an einer Stelle unterscheiden und auf einem unendlichen Suffix u ugend langen Pr¨afix aber nicht. Wegen der ¨bereinstimmen, auf einem gen¨
Automatentheorie und Logik - Wintersemester 2004/05
75
¨ Ubereinstimmung auf dem Suffix kann der Operator ¤ die beiden W¨orter nicht unterscheiden. Der Operator kann Pr¨afixe unterscheiden, aber nur bis zu einem bestimmten – nicht ausreichend weiten – Punkt. ¨ Zuletzt sei noch der Beweis von Beobachtung 3, d.h., der Aquivalenz (5.5), erbracht. Wir gehen durch Induktion u ¨ber die (minimale) Syntax von ψ vor. Fall ψ = true. Dann gilt sowohl αhm−ii |= ψ als auch αh3m−ii |= ψ und damit auch (5.5). Fall ψ = p` . Dann gilt (5.5), weil die Beschriftungen von s0 . . . sm−1 genau die gleichen sind, wie die von s2m . . . s3m−1 . (Wegen 0 < i ≤ m brauchen keine anderen Knoten betrachtet zu werden.) Fall ψ = ¬ψ0 . Dann gilt αhm−ii |= ψ
⇔
( Def. ¬ ) nicht αhm−ii |= ψ0 ⇔ ( Ind.-Hyp. ) nicht αh3m−ii |= ψ0 ⇔ ( Def. ¬ ) αh3m−ii |= ¬ψ0 (= ψ).
¨ Fall ψ = ψ1 ∧ψ2 : Ahnlich. Fall ψ = ψ0 : Dann hat ψ0 weniger als i−1 Next-Operatoren. αhm−ii |= ψ
⇔
( Def. ) αhm−(i−1)i |= ψ0 ⇔ ( Ind.-Hyp. ) αh3m−(i−1)i |= ψ0 ⇔ ( Def. ) αh3m−ii |= ψ0 (= ψ).
Fall ψ = ¤ ψ0 ; dieser Fall ist am schwierigsten. ¨ Wir d¨ urfen – wegen der generellen Aquivalenz ¤¤ψ 0 ↔ ¤ψ 0 – zun¨achst vereinfachend annehmen, dass ψ0 0 nicht auch von der Form ¤ψ ist. Zu beweisen ist: αhm−ii |= ¤ ψ0 ⇔ αh3m−ii |= ¤ ψ0 Die Implikation (⇒) ist trivial, weil die W¨orter, die bei Position 3m−i oder einer sp¨ateren Position beginnen, eine Teilmenge der W¨orter sind, die bei Position m−i oder einer sp¨ateren Position beginnen. Um (αh3m−ii |= ¤ψ0 ) ⇒ (αhm−ii |= ¤ψ0 ) zu beweisen, nehmen wir αh3m−ii |= ¤ψ0 an, d.h.: ∀k ∈ N : αh3m−i+ki |= ψ0 . Zu zeigen ist noch: ∀k, 0 ≤ k < 2m : αhm−i+ki |= ψ0 . Da die W¨orter, die bei den Positionen m+1, m+2, . . . , 2m−1 beginnen, genau gleich den W¨ortern sind, die bei Positionen 3m+1, 3m+2, . . . , 4m−1 beginnen, gilt ψ0 ab Position m+1, d.h.: ∀k ∈ N : αhm+1+ki |= ψ0 . Zu zeigen ist also nur noch: ∀k, 0 ≤ k ≤ i : αhm−i+ki |= ψ0 . Wegen αh3m−ii |= ψ0 kann die Induktionshypothese angewendet werden und wir erhalten αhm−ii |= ψ0 .
(5.6)
76
Vorlesungsskript von E. Best / Stand: 19. September 2005
Es verbleibt, die G¨ ultigkeit von ψ0 an den genau i Positionen m−i+1, m−i+2, . . . , m nachzuweisen, d.h. ∀k, 0 < k ≤ i : αhm−i+ki |= ψ0 . Wir zeigen dazu: ∀j, 0 ≤ j < i : (αhm−i+ji |= ψ0 ) ⇔ (αhm−i+j+1i |= ψ0 ).
(5.7)
Dies beendet den Beweis, denn f¨ ur j = 0 gilt (wie von (5.6) her bekannt): αhm−i+0i |= ψ0 , und daher auch (der Reihe nach): αhm−i+1i |= ψ0 , αhm−i+2i |= ψ0 , usw., bis
αhm−i+(i−1)+1i = αhmi |= ψ0 .
Dann gilt ∀k ∈ N : αhm−i+ki |= ψ0 , also αhm−ii |= ¤ψ0 (= ψ), was zu beweisen war Der Beweis von (5.7) wird endlich durch Induktion – u ¨ber die Struktur von ψ0 bzw. u ¨ber j – erbracht. Fall ψ0 = true: Klar. Fall ψ0 = p` : Die Behauptung (5.7) folgt aus der Beobachtung, dass die Knoten sm−i , sm−i+1 , . . . , sm alle gleich beschriftet sind (n¨amlich mit p1 = 1, p2 = 0) und dass ψ0 in αhm−ii laut (5.6) schon gilt. Fall ψ0 = ¬ψ1 : αhm−i+ji |= ψ0
⇔
( Def. ¬ )
⇔
nicht αhm−i+ji |= ψ1 ( Ind.-Hyp. ⇐ )
⇔
nicht αhm−i+j+1i |= ψ1 ( Def. ¬ ) αhm−i+j+1i |= ψ0 .
¨ Fall ψ0 = ψ1 ∧ψ2 : Ahnlich. Fall ψ0 = ψ1 : F¨ ur j = 0 gilt: αhm−ii |= ψ0
⇔
( Def.
)
hm−i+1i
⇔
α |= ψ1 ( Ind.-Hyp.; in ψ1 gibt es weniger als i−1 hm−i+2i
⇔
α ( Def.
-Operatoren; deswegen i ≥ 2 )
|= ψ1 )
αhm−i+1i |=
ψ1 (= ψ0 ).
F¨ ur gr¨oßere Werte von j kann induktiv vorgegangen werden: es gilt ja ψ0 an der Position m−i, also auch, wie eben bewiesen, an der Stelle m−i+1, und damit ist die gleiche Ausgangssituation mit einem kleineren i hergestellt. Den Fall ψ0 = ¤ ψ1 durften wir ausschließen. Damit ist der Beweis abgeschlossen.
Automatentheorie und Logik - Wintersemester 2004/05
5.1.4
77
LTL-Logik und FO[<]-Logik
Das f¨ ur LTL zu Grunde liegende Alphabet ist A = ({0, 1}n )ω . Wir betrachten ω-Sprachen u ¨ber diesem Alphabet, die von einer LTL-Formel definiert werden: Definition 5.1.8 Die von einer LTL-Formel definierte Sprache Sei ϕ(p1 , . . . , pn ) eine LTL-Formel. Die von ϕ definierte Sprache ist Lϕ = { α ∈ ({0, 1}n )ω | α |= ϕ }. L ⊆ ({0, 1}n )ω heißt LTL-definierbar, wenn es eine LTL-Formel ϕ mit L = Lϕ gibt.
5.1.8
Als N¨achstes vergleichen wir die beiden Logiken LTL und FO[<]. Dazu interpretieren wir auch die FO-Logik u uheren Pr¨adikate Qa : ¨ber A = ({0, 1}n )ω . Die pi spielen dann die Rolle der fr¨ f¨ ur ein α ∈ ({0, 1}n )ω und eine nat¨ urliche Zahl z bedeute pi (z), dass proj(α(z), i) gleich 1 ist (fr¨ uher bedeutete Qa (z), dass an der Position z eines Wortes α ∈ Aω ein a steht). ¨ Zun¨achst geben wir eine Ubersetzung einer LTL-Formel in eine FO-Formel an, die von den gleichen ωW¨ortern erf¨ ullt wird, d.h., die ¨aquivalent dazu ist. Satz 5.1.9 LTL-definierbare Sprachen sind FO-definierbar Jede LTL-definierbare Sprache ist FO[<]-definierbar. ¨ Beweis: Durch eine Ubersetzung einer LTL-Formel ϕ(p1 , . . . , pn ) in eine FO[<]-Formel fo(ϕ)(x, p1 , . . . , pn ), so dass f¨ ur alle α ∈ ({0, 1}n )ω gilt: α |= ϕ
genau dann, wenn
α |= fo(ϕ)[x ← 0].
(5.8)
Dabei soll generell ψ[x ← E] die gleiche Formel wie ψ sein, außer dass x jedes Mal dort, wo es frei vorkommt, durch E ersetzt wird. ¨ Die Aquivalenz (5.8) bedeutet, dass die Formel ϕ und die Formel, die sich aus fo(ϕ) dadurch ergibt, dass ussige“ Variable x u die u ¨bersch¨ ¨berall dort, wo sie frei vorkommt, durch 0 ersetzt wird, auf allen α ∈ ” ¨ ({0, 1}n )ω ¨aquivalent sind. Die Variable x wird benutzt, um den zum jeweiligen Stand der Ubersetzung gerade passenden Zeitpunkt zu beschreiben. ¨ Die folgende Tabelle gibt die Ubersetzung f¨ ur die minimale Syntax von ϕ(p1 , . . . , pn ) (Bemerkung 5.1.4) explizit an. ϕ true pi ¬ψ ψ1 ∧ ψ 2 ψ ψ1 U ψ 2
fo(ϕ) (x = x) pi (x) ¬fo(ψ) fo(ψ1 ) ∧ fo(ψ2 ) fo(ψ)[x ← x+1] ∃z ( x≤z ∧ fo(ψ2 )[x ← z] ∧ ∀y ( x≤y
In der vorletzten Zeile wird x durch x+1 ersetzt, was im Allgemeinen (streng genommen) zu einer Formel f¨ uhrt, die nicht mehr FO ist. Dies ist jedoch stets sehr leicht zu beheben. Zum Beispiel ist x+1 ≤ z a¨quivalent mit ∃y(S(x, y)∧y≤z), denn wir brauchen uns um Wortenden nicht zu k¨ ummern (und selbst wenn wir es m¨ ussten, w¨are es kein gr¨oßeres Problem). Damit ist fo(ϕ)[x ← 0] in der Tat u ¨ber jeder ω-Folge α ∈ ({0, 1}n )ω interpretierbar, und es gilt (5.8). 5.1.9 ¨ Die Zeilen der Ubersetzungstabelle in diesem Beweis entsprechen ziemlich direkt der weiter oben angegebenen Semantik von LTL in FO.
78
Vorlesungsskript von E. Best / Stand: 19. September 2005
Wir geben zwei Beispiele, eins davon mit Next-Operator: (true U p1 ) ) fo( p2 ∧ = fo(p2 ) ∧ fo( (true U p1 )) = p2 (x) ∧ fo(true U p1 )[x ← x+1] = p2 (x) ∧ (∃z(x≤z ∧ fo(p1 )[x←z] ∧ ∀y(x≤y
(true U p1 )
und
p2 (0) ∧ (∃z(1≤z ∧ p1 (z)))
im Sinne von (5.8) ¨aquivalent sind. Als zweites Beispiel u ¨bersetzen wir die Formel ¤ (p1 → 3p2 ) nach FO[<]: fo( ¤ (p1 → 3p2 ) ) = fo( ¬3¬(p1 → true U p2 ) ) = fo( ¬( true U ¬(p1 → true U p2 ) ) ) = ¬fo( true U (p1 ∧ ¬(true U p2 )) ) = ¬∃z ≥ x : fo( p1 ∧ ¬(true U p2 ) )[x ← z] = ¬∃z ≥ x : ( fo(p1 ) ∧ ¬fo(true U p2 ) )[x ← z] = ∀z ≥ x : ( p1 (x) → ∃z 0 ≥ x : p2 (z 0 ) )[x ← z] = ∀z ≥ x : ( p1 (z) → ∃z 0 ≥ z : p2 (z 0 ) ). Mit der Ersetzung [x ← 0] ergibt dies, dass die beiden Formeln ¤ (p1 → 3p2 )
und
∀z ≥ 0 : (p1 (z) → ∃z 0 ≥ z : p2 (z 0 ))
¨aquivalent sind.
5.1.5
Konstruktion eines Bu ¨ chi-Automaten zu einer LTL-Formel
LTL-Formeln sind nach Satz 5.1.9 (und nach der Beziehung zwischen FO-Logik und MSO-Logik, die wir in Abschnitt 3.2 entdeckt haben) echt schw¨acher als MSO-Formeln. Da jede FO-Formel auch eine MSO-Formel ist, kann im Prinzip nach dem Schema LTL-Formel ; (Satz 5.1.9) FO-Formel ; (Kap. 2) MSO-Formel ; (Kor. 4.1.20) B¨ uchi-Automat jeder LTL-Formel ein ¨aquivalenter B¨ uchi-Automat zugeordnet werden. Allerdings ist diese Konstruktion so, wie sie durch den Beweis des Korollars 4.1.20 impliziert wird, sehr kostspielig. Man braucht nur eine Formel zu untersuchen, in der die Negation ein paar Male geschachtelt vorkommt, dann muss schon ein paar Male die exponentielle Konstruktion des Satzes 4.1.17 hintereinander angewendet werden und die Gesamtkomplexit¨at wird superexponentiell“. ” Da LTL-Formeln echt schw¨acher als MSO-Formeln sind, kann man hoffen, dass ein B¨ uchi-Automat, der die Sprache einer LTL-Formel akzeptiert, effizienter konstruierbar ist. Dies ist in der Tat der Fall: eine solche Konstruktion ist im Wesentlichen nur einfach (nicht mehrfach) exponentiell. Wir zeigen dies durch ¨ die Uberlegungen im Beweis des n¨achsten Satzes. Satz 5.1.10 Konstruktion eines B¨ uchi-Automaten zu einer LTL-Formel Sei ϕ(p1 , . . . , pn ) eine LTL-Formel. Man kann zu ϕ effektiv einen ¨ aquivalenten B¨ uchi-Automaten Aϕ u ¨ber A = {0, 1}n konstruieren, der 2O(|ϕ|) Zust¨ ande hat, wobei |ϕ| die Anzahl der Vorkommen von Operatoren in ϕ ist. Ohne die letzte Eigenschaft ist – wie gesagt – die Aussage dieses Satzes schon bekannt.
Automatentheorie und Logik - Wintersemester 2004/05
79
Beweis: Gegeben sei eine LTL-Formel ϕ mit n freien Aussagevariablen p1 , . . . , pn . O.B.d.A. k¨onnen wir annehmen, dass ϕ der Minimalsyntax von Bemerkung 5.1.4 entspricht. Wir konstruieren einen (verallgemeinerten) ur den gilt: L(Aϕ ) = Lϕ , und der außerdem die im Satz angegebene B¨ uchi-Automaten Aϕ u ¨ber A = {0, 1}n , f¨ Eigenschaft hat. Der Abschluss (closure) von ϕ, in Formeln cl (ϕ), ist induktiv als die folgende Menge von Formeln definiert: cl (true) = {true, ¬true} cl (pi ) = {true, ¬true, pi , ¬pi } cl (¬ψ) = cl (ψ) ∪ {¬ψ} cl (ψ1 ∧ ψ2 ) = cl (ψ1 ) ∪ cl (ψ2 ) ∪ { ψ1 ∧ψ2 , ¬(ψ1 ∧ψ2 ) } = cl (ψ) ∪ { ψ, ¬( ψ) } cl ( ψ) cl (ψ1 U ψ2 ) = cl (ψ1 ) ∪ cl (ψ2 ) ∪ { ψ1 Uψ2 , ¬(ψ1 Uψ2 ) }. Das bedeutet: cl (ϕ) enth¨alt alle Teilformeln von ϕ sowie deren Negate, wobei wir ¬¬ψ mit ψ identifizieren (d.h.: kommt ¬ψ als Teilformel vor, dann nehmen wir ¬¬ψ nicht auch noch auf, da ψ sowieso schon vorhanden ist). Als Beispiel betrachten wir ϕ = true U p1 . Dann gilt: cl (ϕ) = { true , ¬true p1 , ¬p1 , true U p1 , ¬(true U p1 ) }. D.h., cl (ϕ) enth¨alt sechs Formeln. Im Allgemeinen enth¨alt die Menge cl (ϕ) immer eine gerade Anzahl von Formeln und ist nie leer, da sie stets sowohl true als auch ¬true enth¨alt. Wir konstruieren einen B¨ uchi-Automaten zu ϕ, indem wir als Zust¨ande gewisse Teilmengen von cl (ϕ) heranziehen. Wir sind insbesondere an solchen Teilmengen interessiert, die konsistent“ sind. Dabei soll ” die Konsistenz bedeuten, dass alle Formeln gleichzeitig wahr gemacht werden k¨onnen. Beispielsweise ist die Teilmenge {p1 , ¬p1 } von cl (true U p1 ) nicht konsistent, weil p1 nicht gleichzeitig wahr und nicht-wahr sein kann. Eine Teilmenge q ⊆ cl (ϕ) heiße pr¨ apositional-konsistent, wenn die folgenden Eigenschaften (a), (b) und (c), und momentan-konsistent, wenn alle Eigenschaften (a)–(g) gelten: (a) true ∈ q. (b) ∀(¬ψ)∈cl (ϕ) : (¬ψ)∈q ⇔ ψ ∈q. / (c) ∀(ψ1 ∧ψ2 )∈cl (ϕ) : (ψ1 ∧ψ2 )∈q ⇔ ψ1 ∈q ∧ ψ2 ∈q. (d) ∀(ψ1 Uψ2 )∈cl (ϕ) : ψ2 ∈q ⇒ (ψ1 Uψ2 )∈q. (e) ∀( (ψ1 Uψ2 ))∈cl (ϕ) : (ψ1 ∈q ∧ ( (ψ1 Uψ2 ))∈q) ⇒ (ψ1 Uψ2 )∈q. (f) ∀(¬ (ψ1 Uψ2 ))∈cl (ϕ) : ((¬ (ψ1 Uψ2 ))∈q∧(ψ1 Uψ2 )∈q) ⇒ ψ2 ∈q. (g) ∀(ψ1 Uψ2 )∈cl (ϕ) : (ψ1 ∈q∧ψ / / ⇒ (ψ1 Uψ2 )∈q. / 2 ∈q) Diese Eigenschaften spiegeln wider, wann aus der (Un-) G¨ ultigkeit einer oder zwei der Teilformeln auf (Un-) G¨ ultigkeit anderer Formeln geschlossen werden kann. Die Eigenschaften (a) bis (c) sind rein aussagenlogisch zu verstehen. Die Eigenschaften (d) bis (g) ergeben sich aus der Rekursionsformel (5.2) f¨ ur den Operator U. F¨ ur die Konstruktion, die wir gleich angeben werden, spielen (a)–(c) und (d)–(g) verschiedene Rollen. W¨ahrend (a)–(c) unabdingbar f¨ ur die Konstruktion sind, wurden (d)–(g) der Effizienz halber hinzugef¨ ugt.
80
Vorlesungsskript von E. Best / Stand: 19. September 2005
Das heißt: die Konstruktion ist korrekt, sobald wir pr¨apositional-konsistente Teilmengen betrachten. Betrachten wir aber momentan-konsistente Teilmengen, reduzieren wir die Anzahl der Zust¨ande im Automaten. Es ist durchaus m¨oglich, noch weitere Eigenschaften (h)–. . . zu erfinden, um den Automaten noch weiter zu minimieren. Aufgrund der Eigenschaft (b) enth¨alt jede pr¨apositional-konsistente (und daher a fortiori jede momentankonsistente) Menge q von jeder Formel entweder deren positive oder deren negative Version (und damit wegen (a) auch niemals die Formel ¬true). Somit gilt stets 2 · |q| = |cl (ϕ)|, d.h., q enth¨alt genau halb so viele Formeln wie cl (ϕ). Es gibt also h¨ochstens so viele momentan-konsistente Teilmengen von cl (ϕ), wie es darin Teilmengen der Gr¨oße |cl (ϕ)|/2 gibt, und wegen (a) und (b) sogar h¨ochstens 2(|cl(ϕ)|/2)−1 viele. F¨ ur das Beispiel ϕ = true U p1 erhalten wir drei momentan-konsistente Mengen: q1 q2 q3
= = =
{ true, p1 , true U p1 } { true, ¬p1 , true U p1 } { true, ¬p1 , ¬(true U p1 ) }.
(5.9)
Insbesondere ist {true, p1 , ¬(true U p1 )} auf Grund von (d) keine momentan-konsistente Menge. Sei Qϕ die Menge aller momentan-konsistenten Teilmengen von cl (ϕ). Im Beispiel ist Q ϕ = {q1 , q2 , q3 }. Nun definieren wir folgendermaßen einen verallgemeinerten B¨ uchi-Automaten Aϕ : • ϕ , {0, 1}n , q0 , ∆ , {Fψ U ψ | (ψ1 U ψ2 ) ∈ cl (ϕ)} ). Aϕ = ( {q0 } ∪Q 1 2
Zur Erinnerung: ein verallgemeinerter B¨ uchi-Automat hat statt einer einzigen Endzustandsmenge F eine endliche Menge von Endzustandsmengen, und ein unendlicher Lauf wird akzeptiert, wenn aus jeder dieser Mengen mindestens ein Zustand unendlich oft vorkommt. In unserer Konstruktion definieren wir f¨ ur jede Formel ψ1 U ψ2 in cl (ϕ) genau eine solche Endzustandsmenge Fψ1 U ψ2 ⊆ Qϕ . Diese Mengen werden weiter ¨ unten spezifiziert. Zun¨achst definieren wir die Ubergangsrelation ∆: F¨ ur den Startzustand q0 : (q0 , a, q 0 ) ∈ ∆
⇔
(0) ϕ ∈ q 0 ∧ (1) {pi | proj(a, i)=1} = q 0 ∩{p1 , . . . , pn },
und f¨ ur Zust¨ande q 6= q0 6= q 0 : (q, a, q 0 ) ∈ ∆
⇔
(1) {pi | proj(a, i)=1} = q 0 ∩{p1 , . . . , pn } ∧ (2) ∀( ψ) ∈ cl (ϕ) : ( ψ)∈q ⇔ ψ∈q 0 ∧ (3) ∀(ψ1 Uψ2 ) ∈ cl (ϕ) : (ψ1 Uψ2 ) ∈ q ⇔ [ψ2 ∈q ∨ (ψ1 ∈q∧(ψ1 Uψ2 )∈q 0 )].
Intuitiv kann die Konstruktion folgendermaßen verstanden werden: ist der Automat in einem Zustand q ∈ Qϕ , dann wird gerade zu diesem Zeitpunkt die Wahrheit der Formeln in q geraten“. ” Die Bedingung (0) bedeutet, dass in den zuerst erreichten Zust¨anden (d.h., zum anf¨anglichen Zeitpunkt) die Zielformel ϕ geraten wird“. Die Bedingung (1) gibt an, dass die Belegungen der Pr¨apositionen an ” einem Zustands¨ ubergangspfeil genau den Belegungen im Zielzustand dieses Pfeils entsprechen m¨ ussen. Die Bedingung (2) besagt, dass ψ im Ursprung eines Pfeils genau dann geraten werden darf, wenn ψ im Ziel des Pfeils geraten wird; sie ergibt sich direkt aus der Semantik von . Die Bedingung (3) codiert auf gleiche Weise die Rekursionsgleichung (5.2). Es muss noch garantiert werden, dass von Zust¨anden aus, in denen ψ1 Uψ2 geraten wird, irgendwann ” einmal“ ψ2 gilt. Dies kann nur dann verletzt werden, wenn von einem solchen Zustand aus immer wieder nur Zust¨ande mit ¬ψ2 ∧ψ1 Uψ2 erreicht werden. Gerade dies wird jedoch von den folgenden Endzustandsmengen verhindert: / }. F ψ1 U ψ2 = { q∈Qϕ | ψ2 ∈q ∨ (ψ1 U ψ2 )∈q Im Beispiel ϕ = true U p1 ergibt sich der in 5.2 abgebildete Automat, wobei q1 , q2 , q3 die Mengen aus (5.9) bezeichnen.
Automatentheorie und Logik - Wintersemester 2004/05
81
1 q1 1
0 0
1
q0
0 q3
0 q2 0
Abbildung 5.2: Ein Automat zu ϕ = true U p1 . Die einzige Endzustandsmenge ist Ftrue U p1 = {q1 , q3 }. Der Automat akzeptiert genau diejenigen unendlichen 0/1-Folgen, die mindestens eine 1 enthalten, d.h. genau die von true U p 1 definierte Sprache. Die Tatsache, dass der Automat Aϕ im Allgemeinen 2O(|ϕ|) Zust¨ande hat, ergibt sich leicht aus der obigen Absch¨atzung der Anzahl der Elemente in Qϕ . Zu zeigen bleibt noch, dass Aϕ auch im Allgemeinen genau die Sprache Lϕ akzeptiert. Sei α ∈ ({0, 1}n )ω . Zu α (gegeben ϕ) definieren wir das Hintikka-Modell (von α, gegeben ϕ) als eine Folge α ∈ ({0, 1}|cl(ϕ)| )ω . Dabei ist α so definiert, dass es die Belegung aller Formeln in cl (ϕ) angibt, d.h., die Zeile f¨ ur eine Formel ψ ∈ cl (ϕ) hat an der Stelle j eine 1, wenn α(j)α(j+1) . . . |= ψ im Sinne der LTL-Semantik, und eine 0 andernfalls. Wir betrachten als weiteres Beispiel n = 1, die Formel ϕ = (true U p1 ) und α = 101000 ... Es gilt dann cl (ϕ) = {true, ¬true, p1 , ¬p1 , trueUp1 , ¬trueUp1 ,
(trueUp1 ), ¬ (trueUp1 )},
und α ist eine achtzeilige (annotierte) Folge:
α:
ϕ:
true 1 1 1 1 1 1 ¬true 0 0 0 0 0 0 p1 1 0 1 0 0 0 ¬p1 0 1 0 1 1 1 trueUp1 1 1 1 0 0 0 ¬trueUp1 0 0 0 1 1 1 (trueUp1 ) 1 1 0 0 0 0 ¬ (trueUp1 ) 0 0 1 1 1 1
... ... ... ... ... ... ... ...
(Inputzeile)
(Resultatzeile)
Wir schauen uns die Konstruktion der Tabelle f¨ ur α etwas genauer an. Es gibt n Zeilen f¨ ur die pi , d.h. α (im obigen Beispiel gibt es nur eine solche Zeile, da n = 1 ist). Alle anderen Zeilen, insbesondere die Resultatzeile, ergeben sich aus diesen n Zeilen. Dabei gilt: • Die Zeile f¨ ur true besteht nur aus Einsen. • Die ¬-Zeilen sind genau das Boolesche Komplement der zugeh¨origen positiven Zeilen.
82
Vorlesungsskript von E. Best / Stand: 19. September 2005 • Die Zeile f¨ ur eine Konjunktion ist das Konjunkt der zugeh¨origen Zeilen. • Die zu einer Formel ψ geh¨orige Zeile ergibt sich aus der Zeile f¨ ur ψ durch Abschneiden des ersten Elements und Verschieben um eine Position nach links; anders ausgedr¨ uckt: die Zeile von ψ kann durch ein 1-Look-Ahead“ aus der Zeile von ψ errechnet werden. ” • Die Zeilen f¨ ur ψ1 Uψ2 sind von besonderem Interesse und werden gleich ausf¨ uhrlich beschrieben.
Sammelt man insbesondere in jeder einzelnen Spalte diejenigen Formeln auf, f¨ ur die dort eine 1 steht, erh¨alt man stets eine momentan-konsistente Menge (was den Namen rechtfertigt). Die Zeilen f¨ ur ψ1 Uψ2 d¨ urfen in der Spalte j laut LTL-Semantik eine 1 enthalten, wenn es eine Spalte j 0 ≥ j gibt, in der f¨ ur ψ2 eine 1 steht, und zwischen j (inklusive) und j 0 (exklusive) f¨ ur ψ1 eine 1 steht. Sei k ≥ j eine beliebige Spalte gleich oder nach j. Wann kann man aus den ersten k Spalten von α (also durch ein (k−j)-Look-Ahead“) noch nicht auf den Wert von ψ1 Uψ2 bei j schließen? Sicher m¨ ussen dazu zwischen j ” berall 0 sein (sonst kann auf einen Wert 1 an der Stelle j f¨ ur ψ1 Uψ2 geschlossen und k die Eintr¨age von ψ2 u ¨ werden). Nehmen wir weiter an, dass an der Stelle l mit j
ψ-Zeilen aus Bedingung (2) der Automatenkonstruktion.
Die Bedingung (3) der Automatenkonstruktion stellt sicher, dass es, außer in dem Fall, dass eine Formel ψ1 Uψ2 ab einer Stelle j nur Einsen, ψ2 aber nur Nullen hat, zu j stets ein k ≥ j gibt, so dass aus der Automatenkonstruktion der richtige Wert f¨ ur ψ1 Uψ2 an der Stelle j aus der Tabelle bis zur Stelle k folgt. Der Fall, dass ab einer Stelle j f¨ ur ψ1 Uψ2 nur Einsen, f¨ ur ψ2 aber nur Nullen vorkommen, ist auf Grund der B¨ uchi-Endzustandsbedingung ausgeschlossen. Also gilt die Behauptung auch f¨ ur die ψ1 Uψ2 -Zeilen.
Automatentheorie und Logik - Wintersemester 2004/05
83
Dieser Teil des Beweises hat die Bedingungen (a) bis (c) der Definition von pr¨apositional-konsistent“ ” benutzt. Die Bedingungen (d) bis (g) werden weder hier noch anderswo im Beweis benutzt, f¨ uhren aber zu einer kleineren Zustandsmenge, als wenn nur (a) bis (c) gefordert worden w¨are. (B) ⇒ (A): Sei α das Hintikka-Modell von α. Da die Einsen einer jeden Spalte eine momentan-konsistente Formelmenge definieren, kann α als eine Folge q 0 q 1 q 2 . . . von Zust¨anden des Automaten (außer q0 ) aufgefasst werden, wobei q j der j ten Spalte von α entspricht. Da in Spalte 0 bei ϕ eine 1 steht, kann q 0 von q0 aus per (0) und (1) erreicht werden, und zwar mit demjenigen Buchstaben, der der Belegung der p i im Zustand q 0 entspricht. Genauso zeigt man, dass die Folge q 0 q 1 q 2 . . . tats¨achlich einen Lauf ein Aϕ definiert. Nach Definition der LTL-Semantik von ψ1 Uψ2 kann es kein j geben, ab dem in der Zeile dieser Formel lauter Einsen, in der Zeile von ψ2 aber lauter Nullen stehen. Das bedeutet, dass q 0 q 1 q 2 . . . keinen Suffix enth¨alt, in dem nur Zust¨ande vorkommen, die sowohl ψ1 Uψ2 als auch ¬ψ2 enthalten. Daraus folgt, dass in q 0 q 1 q 2 . . . immer wieder ein Zustand aus Fψ1 Uψ2 auftaucht. Also ist q 0 q 1 q 2 . . . ein akzeptierender Lauf. ¨ Die Aquivalenz (B) ⇔ (C) ist unmittelbar klar. 5.1.11 ¨ Wegen der Aquivalenz (A) ⇔ (C) ist damit auch beweisen, dass Aϕ genau die Sprache Lϕ akzeptiert. 5.1.10 F¨ ur das im Beweis zuletzt genannte Beispiel, ϕ = (trueUp1 ), geben wir noch die Konstruktion des Automaten an. Es gibt vier momentan-konsistente Zust¨ande: q1 q2 q3 q4
= {true, p1 , trueUp1 , (trueUp1 } = {true, ¬p1 , trueUp1 , (trueUp1 } = {true, p1 , trueUp1 , ¬ (trueUp1 } = {true, ¬p1 , ¬trueUp1 , ¬ (trueUp1 }.
Mit der Endzustandsmenge FtrueUp1 = {q1 , q3 , q4 } ergibt sich schließlich der in Abbildung 5.3 gezeigte Automat.
1 1
q1
q3
1 0 1
1
q0
0 0 q4
0 q2 0
Abbildung 5.3: Ein Automat zu ϕ =
(true U p1 ).
84
Vorlesungsskript von E. Best / Stand: 19. September 2005
5.1.6
Transitionssysteme
H¨aufig m¨ochte man eine Eigenschaft eines Systems als eine Formel der Logik LTL formalisieren. Beispielsweise bedeutet die Formel ϕprogress = ¤ (p1 → 3p2 ), die wir in Abschnitt 5.1.4 in eine FO-Formel u ¨bersetzt haben: Stets gilt: wenn zu einem bestimmten Zeitpunkt die Aussage p1 wahr ist, dann ist zu diesem Zeitpunkt oder zu einem sp¨ateren Zeitpunkt die Aussage p2 wahr. Das kann als eine bedingte Form von Fairness interpretiert werden. Das Modelchecking-Problem besteht darin, m¨oglichst mit Hilfe algorithmischer Unterst¨ utzung nachzupr¨ ufen, ob ein System S eine logische Formel ϕ erf¨ ullt. Nehmen wir an, dass der Begriff des Erf¨ ulltseins (einer Formel ϕ in einem System S) schon als S |= ϕ definiert worden ist, dann l¨asst sich das Modelchecking-Problem als die Frage Gegeben ein System S und eine Eigenschaft ϕ. Gilt S |= ϕ ?
(5.10)
codieren. Dabei muss ϕ nicht unbedingt eine Formel der Logik LTL sein. LTL ist nur die erste Logik, f¨ ur die wir (5.10) explizit betrachten. Wir fragen zuerst, wie ein System S spezifiziert werden kann. Es bestehen mehrere M¨oglichkeiten. Beispielsweise k¨onnte S als Java-Programm, als Petrinetz oder als endlicher Automat angegeben werden. Das zeitliche Verhalten eines solchen Systems kann als ein Transitionssystem beschrieben werden: Definition 5.1.12 Unbeschriftetes Transitionssystem Ein (unbeschriftetes) Transitionssystem ist eine Struktur (
S , |{z}
T |{z}
, |{z} α , β ) |{z}
Zust¨ ande Transitionen Quelle Ziel
wobei S ∩ T = ∅ gilt und α : T → S und β : T → S zwei Funktionen sind.
5.1.12
Die Menge S entspricht ungef¨ahr der Zustandsmenge Q bei endlichen Automaten. Jedoch d¨ urfen Transitionssysteme (und insbesondere die Menge S) – im Gegensatz zu (Q bei) endlichen Automaten – unendlich groß sein. Beispiel 5.1.13 Ein einfaches Transitionssystem Wir betrachten (S, T, α, β) mit S = {0, 1, 2, 3} und T = {t1 , . . . , t5 } sowie α(t1 ) = 0 β(t1 ) = 1 α(t2 ) = 1 β(t2 ) = 2 α(t3 ) = 1 β(t3 ) = 3 α(t4 ) = 2 β(t4 ) = 0 α(t5 ) = 3 β(t5 ) = 0. Dies ergibt die in 5.4 abgebildete Struktur.
5.1.13
Jede Transition hat genau einen Quell- und einen Zielzustand. Deshalb kann ein Transitionssystem auch zustandsbasiert“ als Paar (S, →) mit → = (α−1 ◦ β) dargestellt werden. In dieser Darstellung haben die ” Transitionen keine expliziten Namen. Wir schreiben auch s0 → s f¨ ur (s0 , s) ∈ → .
Automatentheorie und Logik - Wintersemester 2004/05
85
0 t4
t5 t1
2
3
t2
t3 1
Abbildung 5.4: Das Transitionssystem aus Beispiel 5.1.13. Beispiel 5.1.14 Andere Darstellung des einfachen Transitionssystems Wir betrachten (S, →) mit S = {0, 1, 2, 3} → = {(0, 1), (1, 2), (1, 3), (2, 0), (3, 0)} Die sich ergebende Struktur ist in 5.5 abgebildet.
5.1.14
0 2
3 1
Abbildung 5.5: Das Transitionssystem aus Beispiel 5.1.14. Die beiden Darstellungen sind nicht hundertprozentig ¨aquivalent. Zwar kann man aus einem Objekt der Form (S, T, α, β) stets ein analoges Objekt der Form (S, →) konstruieren: s → s0 gdw. es ein t mit α(t)=s und β(t)=s0 gibt. Umgekehrt kann man aus einem Objekt (S, →) auch ein Objekt der ersten Form konstruieren: T = → und α((s0 , s)) = s0 und β((s0 , s)) = s. Mit der ersten Form kann man allerdings redundante ” Doppelkanten“ darstellen, wie z.B. in S = {0, 1}, T = {t, t0 }, α(t) = α(t0 ) = 0, β(t) = β(t0 ) = 1, d.h., der in Abbildung 5.6 gezeigten Struktur. t 0
1 t0
Abbildung 5.6: Ein Transitionssystem mit redundanten Kanten t, t0 . Die entsprechende Struktur (S, →) ist S = {0, 1} und → = {(0, 1)}, die Doppelkante ist also zu einer ¨ Einfachkante geschrumpft. Eine ganz genaue Aquivalenz bek¨ame man, wenn man f¨ ur → eine Multirelation zuließe (z.B. → = {(0, 1), (0, 1)}). Da Doppelkanten jedoch nicht weiter interessieren, sparen wir uns diese M¨ uhe und verbieten sie per definitionem.
86
Vorlesungsskript von E. Best / Stand: 19. September 2005
Definition 5.1.15 Beschriftetes Transitionssystem Ein beschriftetes Transitionssystem ist ein 6-Tupel (S, T, A, α, β, λ), wobei A ein Alphabet, (S, T, α, β) ein Transitionssystem und λ : T → A eine Beschriftung (der Transitionen) ist. 5.1.15 Auch hierf¨ ur gibt es eine zustandsbasierte Schreibweise, n¨amlich (S, A, →), wobei → dieses Mal eine Relation ⊆ (S × A × S) ist: → =
{ (s0 , a, s) ∈ S×A×S | ∃t ∈ T : s0 = α(t), a = λ(t), s = β(t) }. a
Wir schreiben auch s0 → s f¨ ur (s0 , a, s) ∈ → . Beispiel 5.1.16 Ein einfaches beschriftetes Transitionssystem Wir betrachten (S, T, A, α, β, λ) mit A = {a}, S = {0, 1}, T = {t, t0 } α(t) = β(t0 ) = 0, α(t0 ) = β(t) = 1, und λ(t) = λ(t0 ) = a. 5.1.16
Diese Struktur ist in Abbildung 5.7 gezeigt. t, a 0
1 0
t , a
Abbildung 5.7: Das Transitionssystem aus Beispiel 5.1.16. Die entsprechende zustandsbasierte Darstellung ist (S, A, →) mit
S = {0, 1}, A = {a} und → = {(0, a, 1), (1, b, 0)}.
Es gilt die gleiche Bemerkung wie zuvor – bezogen sowohl auf die Umrechenbarkeit wie auf die Mehrfach” kanten“ wie z.B. {(s0 , a, s), (s0 , a, s)}, die wir ebenfalls verbieten wollen. NB: {(s0 , a, s), (s0 , b, s)} stellt keine Mehrfachkante dar, da die Beschriftungen der beiden Tripel unterschiedlich sind. Transitionssysteme sind nichts anderes als – m¨oglicherweise unendliche – Graphen mit expliziten Namen f¨ ur Knoten (Zust¨ande) und Kanten (Transitionen) und ggfs. Beschriftungen f¨ ur Transitionen. Die graphentheoretischen Begriffe aus Abschnitt 2.2 finden Anwendung. Wege oder Pfade werden entweder als Zustandsfolge s0 s1 s2 . . . oder als Transitionsfolge π = t1 t2 t3 . . . geschrieben. Die Darstellung als Zustandsfolge ist bei beschrifteten Transitionssystemen nicht eindeutig, weil von s0 nach s verschieden beschriftete Transitionen f¨ uhren k¨onnen. Ein Transitionssystem heißt endlich, wenn |S| < ∞ (und damit, wegen des Verbots von Mehrfachkanten, auch |T | < ∞) gilt. Ein endlicher Automat kann als ein endliches, beschriftetes Transitionssystem interpretiert werden, in dem außerdem noch ein Anfangszustand und eine Menge von Endzust¨anden ausgezeichnet werden. Wir betrachten nun die Menge T ∞ = T ∗ ∪T ω eines beschrifteten Transitionssystems. Sei π = t1 t2 t3 . . . ∈ T ∞ ein endlicher oder unendlicher Pfad. Dann heißt das Wort trace(π) = λ(t1 )λ(t2 )λ(t3 ) . . . in A∞ der Trace (oder das Beschriftungswort oder die Beschriftung oder die Spur) von π. Wir verallgemeinern nun die Definition von Transitionssystemen etwas. Diese Verallgemeinerung ergibt sich aus folgender Beobachtung. Sei (S, T, A, α, β, λ) ein beschriftetes Transitionssystem. Die Relation λ −1 ⊆ A × T (die jedem a ∈ A die Menge {t ∈ T | λ(t) = a} zuordnet) partitioniert T in Mengen gleich beschrifteter Transitionen.
Automatentheorie und Logik - Wintersemester 2004/05
87
Definition 5.1.17 Parametrisiertes Transitionssystem Ein mit X = {X1 , . . . , Xk } und Y = {Y1 , . . . , Ym } parametrisiertes Transitionssystem ist ein Tupel (S, T, α, β, X, Y), wobei (S, T, α, β) ein Transitionssystem ist und f¨ ur jedes X ∈ X eine Teilmenge SX ⊆ S und f¨ ur jedes Y ∈ Y eine Teilmenge TY ⊆ T definiert sind. Die X heißen Zustandsparameter, die Y Transitionsparameter. 5.1.17 Die Beschriftung λ kann (qua λ−1 ) zwar als Transitionsparameter aufgefasst werden, aber sie wird oft noch extra mitgef¨ uhrt, da sie meist eine Sonderrolle spielt. Beispiel 5.1.18 Ein endlicher Automat kann als ein endliches beschriftetes Transitionssystem mit Zustandsparametern X = {start, end} und |Sstart | = 1 dargestellt werden. Dabei ist Sstart = {q0 }, wobei q0 der Anfangszustand ist, und F = Send sind die 5.1.18 Endzust¨ande. Generell heißt ein Transitionssystem ein Transitionssystem mit Anfangszustand (manchmal auch pointiert“ ” = pointed“), wenn ein spezieller Zustand s0 ∈ S als Anfangszustand ausgezeichnet ist. ” Nun betrachten wir spezielle Zustandsbeschriftungen und erhalten so eine Verbindung zu den Formeln der Logik LTL. Wir wollen wieder eine Zahl n ∈ N festhalten und, wie zuvor, n aussagenlogische Variablen p1 , . . . , pn betrachten. Die Formeln pi und ¬pi , f¨ ur 1 ≤ i ≤ n, heißen Literale. In einer Kripke-Struktur wird an jedem Zustand angegeben, welche der Variablen p1 , . . . , pn in ihm gelten bzw. nicht gelten: Definition 5.1.19 Kripke-Strukturen Eine Kripke-Struktur u ¨ber p1 , . . . , pn ist ein Tripel (S, →, Φ), wobei (S, →) ein unbeschriftetes Transitionssystem und Φ : S → 2{p1 ,...,pn } eine Belegung (von Zust¨anden mit Literalen) ist. Oft zeichnen wir einen Anfangszustand s0 ∈ S aus und nennen das Quadrupel (S, →, Φ, s0 ) dann eine 5.1.19 Kripke-Struktur mit Anfangszustand“. ” F¨ ur s ∈ S gibt Φ(s) diejenigen Variablen an, die in s gelten“, und 2{p1 ,...,pn } \Φ(s) gibt diejenigen Variablen ” an, die in s nicht gelten“. Im Spezialfall n = 0 geht eine Kripke-Struktur in ein Transitionssystem u ¨ber. ” Beispiel 5.1.20 Eine einfache Kripke-Struktur Wir betrachten n = 2 und Variablen {p1 , p2 } sowie (S, →, Φ) mit S = {0, 1}, → = {(0, 1), (1, 0)}, Φ(0) = {p1 }, Φ(1) = {p1 , p2 }. In Abbildung 5.8 ist diese Kripke-Struktur als beschrifteter Graph gezeigt.
5.1.20
Eine Kripke-Struktur u ¨ber p1 , . . . , pn kann als Transitionssystem mit Zustandsparametern X = {p1 , . . . , pn } ur das Beispiel 5.1.20 lauten angesehen werden: Spi ist diejenige Menge von Zust¨anden, in denen pi gilt. F¨ diese Mengen Sp1 = {0, 1} und Sp2 = {1}. In der Tat k¨onnen die Spi aus der Funktion Φ berechnet werden; aber auch umgekehrt kann Φ errechnet werden, wenn man alle Spi kennt. Wir interpretieren eine gegebene LTL-Formel u ¨ber {p1 , . . . , pn } jetzt u ¨ber Kripke-Strukturen, und zwar mit der gleichen Variablenmenge {p1 , . . . , pn }. Es seien:
88
Vorlesungsskript von E. Best / Stand: 19. September 2005
0 p1 , ¬p2
1 p1 , p 2
(man schreibt an die Zust¨ande diejenigen Literale, die dort gelten). Abbildung 5.8: Die Kripke-Struktur aus Beispiel 5.1.20. • K = (S, →, Φ, s0 ) eine Kripke-Struktur u ¨ber {p1 , . . . , pn }, • ϕ eine LTL-Formel u ¨ber {p1 , . . . , pn }. Zu einem (als Knotenfolge geschriebenen) ω-Pfad α = s0 s1 s2 . . . ∈ S ω definieren wir ein ω-Wort α ˜ ∈ ({0, 1}n )ω u ¨ber dem Alphabet {0, 1}n durch die Festsetzung proj(˜ α(j), i) = 1
⇔
pi ∈ Φ(sj ),
f¨ ur 0 ≤ j und 1 ≤ i ≤ n. Beispiel 5.1.21 Ein Beispiel zur Definition von α ˜ Wir betrachten die Kripke-Struktur aus Abbildung 5.9. Mit α = s0 s1 s0 s1 . . . ist dann µ ¶µ ¶µ ¶µ ¶ 1 1 1 1 ... α ˜ = 1 0 1 0 Wie vorher bezeichnen die erste Zeile die Belegung von p1 , die zweite Zeile die Belegung von p2 , usw., w¨ahrend der von α beschriebenen Ausf¨ uhrung. 5.1.21
s0 p1 , ¬p2
s1 p1 , p 2
Abbildung 5.9: Eine Kripke-Struktur zu Beispiel 5.1.21. Seien nun K eine Kripke-Struktur und ϕ eine LTL-Formel, beide mit der gleichen zu Grunde liegenden Menge {p1 , . . . , pn } von Aussagen. Wir wollen definieren, was es bedeutet, dass ϕ in K gilt. Dabei ist zu unterscheiden zwischen Kripke-Strukturen ohne Anfangszustand und Kripke-Strukturen mit Anfangszustand s0 . Im ersten Fall fordern wir, dass ϕ f¨ ur alle von irgend einem Zustand ausgehenden unendlichen Pfade gilt, w¨ahrend wir im letzten Fall nur fordern, dass ϕ f¨ ur alle von s0 ausgehenden unendlichen Pfade gilt – was im Allgemeinen nat¨ urlich viel schw¨acher ist. Zuallermeist kommt der Fall vor, dass K einen Anfangszustand s0 hat. Wir betrachten diesen Fall deswegen als Normalfall. Definition 5.1.22 G¨ ultigkeit einer LTL-Formel auf einer Kripke-Struktur Sei K = (S, →, Φ) eine Kripke-Struktur und sei s ∈ S. K, s erf¨ ullt ϕ, in Formeln: K, s |= ϕ , genau dann, wenn f¨ ur alle α = ss1 s2 . . . ∈ S ω , d.h., f¨ ur alle unendlichen Zustandspfade vom Zustand s aus, gilt: α ˜ |= ϕ. Letzteres ist in Abschnitt 5.1.2 definiert worden.
Automatentheorie und Logik - Wintersemester 2004/05
89
Wenn K = (S, →, Φ, s0 ) eine Kripke-Struktur mit Anfangszustand s0 ist, definieren wir K |= ϕ genau dann, wenn K, s0 |= ϕ, und wenn K = (S, →, Φ) eine Kripke-Struktur ohne ausgezeichneten Anfangszustand ist, definieren wir K |= ϕ genau dann, wenn ∀s∈S : K, s |= ϕ. 5.1.22 Eine Formel ϕ gilt also in K, wenn jeder ω-Pfad von K ϕ erf¨ ullt. Hat K einen ausgezeichneten Anfangszustand, muss das nur f¨ ur Pfade von diesem Anfangszustand aus gelten, ansonsten f¨ ur Pfade von beliebigen Zust¨anden aus. Vorsicht: Es besteht Verwechslungsgefahr, denn einem K |= ϕ“ sieht man nicht von vorn” herein an, ob K einen Anfangszustand hat (dann muss ϕ nur von diesem aus gelten) oder keinen (dann muss ϕ von allen Zust¨anden aus gelten). Deswegen f¨ uhren wir, wenn ϕ nur von einem Zustand s0 aus gelten muss, diesen Zustand stets mit: K, s0 |= ϕ.
5.1.7
Das Modelchecking-Problem fu ¨ r LTL
Der Systembegriff nun gekl¨art, denn unter einem System S verstehen wir – zumindest vorl¨aufig – eine KripkeStruktur (mit Anfangszustand s0 ) u ¨ber den Aussagevariablen p1 , . . . , pn . Wir betrachten jetzt das LTLModelchecking-Problem. Es besteht darin, nachzupr¨ ufen, ob eine Kripke-Struktur K mit Anfangszustand s0 eine LTL-Formel ϕ erf¨ ullt, das heißt, ob gilt: K, s0 |= ϕ ? Wir beschr¨anken uns hierbei auf endliche Kripke-Strukturen, d.h., auf diejenigen K mit endlicher Zustandsmenge S. Wir k¨onnen das LTL-Modelchecking-Problem etwas genauer formulieren: ”
Gegeben eine endliche Kripke-Struktur K mit Anfangszustand s 0 und ϕ, gilt K, s0 |= ϕ?“
Die Komplexit¨atsparameter dieses Problems sind: |K| |ϕ|
(≈ Anzahl der Zust¨ande plus Anzahl der Transitionen) (≈ Anzahl der Operatoren).
Einige der vorigen Konstruktionen benutzend, definieren wir einen vierschrittigen LTL-ModelcheckingAlgorithmus: Schritt 1: Zu einer endlichen Struktur K = (S, →, Φ, s0 ) bilden wir folgendermaßen einen B¨ uchi-Automaten AK : AK
=
Q A ∆ F
• = {q0 } ∪S, = {0, 1}n = { (q 0 , a, q) | ((q 0 =q0 ∧ q=s0 ) ∨ (q 0 → q)) ∧ proj(a, i)=1 ⇔ pi ∈Φ(q) }, = S.
(Q, A, q0 , ∆, F ) , wobei
D.h., in AK wird die Funktion Φ nach vorne“ an die Kanten verschoben“, so dass aus den Knotenbeschrif” ” tungen der Kripke-Struktur die Kantenbeschriftungen des Automaten werden. Der Automat hat außer q 0 nur Endzust¨ande. Deswegen akzeptiert er die bei s0 startenden ω-Zustandspfade der Kripke-Struktur, d.h., genauer: Lω (AK ) = {˜ α ∈ ({0, 1}n )ω | α = s0 s1 s2 . . . ist ein bei s0 beginnender ω-Pfad durch K}. F¨ ur das Beispiel 5.1.21 ergibt sich der in Abbildung 5.10 gezeigte Automat.
90
Vorlesungsskript von E. Best / Stand: 19. September 2005 „ « 1 0
„ « 1 0
q0
q1 =s0
„ « 1 1
q2 =s1
Abbildung 5.10: Ein Automat zur Kripke-Struktur aus Beispiel 5.1.21. Schritt 2: Wir betrachten zur Negation ¬ϕ von ϕ den B¨ uchi-Automaten A¬ϕ laut Satz 5.1.10. Wir verwenden die ¨ Negation von ϕ, weil man durch die folgende Reihe von Aquivalenzen: K, s0 |= ϕ
⇔
(Definitionen von |= und von α ˜) f¨ ur alle ω-Pfade α durch K von s0 aus gilt α ˜ |= ϕ ⇔ (Definitionen von AK und Aϕ ) L(AK ) ⊆ L(Aϕ ) ⇔
⇔
(Mengenlehre: A ⊆ B ⇔ A ∩ B = ∅) L(AK ) ∩ ( ({0, 1}n )ω \ L(Aϕ ) ) = ∅ (Definition von ¬ϕ) L(AK ) ∩ L(A¬ϕ )) = ∅.
das Modelchecking-Problem auf das Leerheitsproblem von B¨ uchi-Automaten zur¨ uckf¨ uhren kann, sofern es gelingt, einen Automaten AK,¬ϕ mit L(AK,¬ϕ ) = L(AK ) ∩ L(A¬ϕ )) zu finden. Um Letzteres zu erreichen, definieren wir in Schritt 3: den Automaten
mit
AK,¬ϕ
= (Q(AK ) × Q(A¬ϕ ), A, (q0 (AK ), q0 (A¬ϕ )), ∆, F (AK ) × F (A¬ϕ ))
∆
= {((q10 , q20 ), a, (q1 , q2 )) | (q10 , a, q1 ) ∈ ∆(AK ), (q20 , a, q2 ) ∈ ∆(A¬ϕ )}.
Dann gilt Lω (AK,¬ϕ ) = Lω (AK ) ∩ Lω (A¬ϕ ). Schritt 4: Es gilt also K, s0 |= ϕ genau dann, wenn Lω (AK,¬ϕ ) = ∅. Letzteres kann wie in Satz 4.1.16[c] und der Bemerkung nach diesem Satz in Zeit O(|K| · 2|ϕ| ) getestet werden. Ende der Schritte 1 bis 4. Quintessenz: LTL-Modelchecking geht linear in der Gr¨oße des Systems K und exponentiell in der Gr¨oße der Formel ϕ. Wird dieser Algorithmus implementiert, ist es eine gute Idee, den Pfad α in L ω (AK,¬ϕ ) (der ja in der Form uv ω mit zwei endlichen W¨ortern angegeben werden kann und f¨ ur den deswegen nur u und v gespeichert werden m¨ ussen) – wenn es ihn gibt – aufzubewahren. Denn er wird von AK akzeptiert, ist also ein g¨ ultiger Systemlauf, und erf¨ ullt ¬ϕ. D.h., er ist ein Gegenbeispiel zur gew¨ unschten Eigenschaft ϕ und kann somit gute Dienste beim Austesten“ von K leisten. ” Nachbemerkung: Die einfache Konstruktion in Schritt 3 (Bildung der Endzustandsmenge des Produktautomaten als Kreuzprodukt der beiden einzelnen Endzustandsmengen) funktioniert nur deswegen, weil F (A K ) = Q(AK ) \ {q0 }
Automatentheorie und Logik - Wintersemester 2004/05
91
gilt und weil q0 keine eingehenden Kanten hat. Im Allgemeinen ist diese Konstruktion jedoch nicht korrekt. Wir betrachten als Gegenbeispiel zwei Automaten (Abbildung 5.11), die beide das Wort a ω akzeptieren. Also sollte dieses Wort auch von dem Produktautomaten akzeptiert werden. Der Automat, der der einfachen Produktkonstruktion entspricht, ist in Abbildung 5.12 gezeigt. Dieser Automat akzeptiert a ω jedoch nicht, da der Zustand (q1 , r0 ) nie erreicht wird.
a q0
a
a q1
r0
a
r1
Abbildung 5.11: Zwei B¨ uchi-Automaten, die aω akzeptieren. a
(q0 , r0 )
(q0 , r1 )
a
(q1 , r1 )
(q1 , r0 )
Abbildung 5.12: Ein Produktautomat“, der aω jedoch nicht akzeptiert. ” Um allgemein einen B¨ uchi-Automaten zu konstruieren, der die Schnittmenge zweier ω-regul¨arer Sprachen akzeptiert, verwendet man mit Vorteil (denn dann klappt die Produktkonstruktion) verallgemeinerte B¨ uchiAutomaten. Seien dazu Ai = (Qi , A, q0i , ∆i , {F i }) (i = 1, 2) zwei B¨ uchi-Automaten, schon geschrieben als verallgemeinerte B¨ uchi-Automaten mit einelementiger Menge von Zustandsmengen. Dann definiert man: A1 × A 2
=
(Q, A, q0 , ∆, {F1 , F2 })
Q q ∆ F1 F2
= Q 1 × Q2 , = (q01 , q02 ) , = { ((q1 , q2 ), a, (q10 , q20 )) | (q1 , a, q10 ) ∈ ∆1 ∧ (q2 , a, q20 ) ∈ ∆2 } , = F 1 × Q2 , = Q1 × F 2 .
durch
Die verallgemeinerte B¨ uchibedingung bewirkt, dass bei akzeptierenden L¨aufen in A1 × A2 sowohl F1 als auch F2 unendlich oft durchlaufen werden, und damit auch, dass sowohl in A1 unendlich oft F 1 , als auch in A2 unendlich oft F 2 durchlaufen werden. Also gilt Lω (A1 × A2 ) = Lω (A1 ) ∩ Lω (A2 ). Wird als Endresultat ein einfacher B¨ uchi-Automat gew¨ unscht, kann abschließend noch Lemma 4.1.8 zu Rate gezogen werden.
5.1.8
Quantifizierte lineare temporale Logik QLTL
Mit Satz 5.1.9 ist auch jede LTL-definierbare Sprache regul¨ar (siehe Abschnitt 3.3). Ohne Beweis zitieren wir den Satz von Kamp: Es gilt auch die Umkehrung von Satz 5.1.9, d.h., die LTL-definierbaren Sprachen sind genau die FO[<]-definierbaren.
92
Vorlesungsskript von E. Best / Stand: 19. September 2005
¨ Ahnlich wie es unm¨oglich ist, eine Sprache, die nur aus den W¨ortern gerader L¨ange besteht, in FO[<]-Logik zu definieren, ist es in LTL unm¨oglich, modulo 2 zu z¨ahlen“. Genauer: es bezeichne even eine (neue), auf ” (Suffixen von) 0/1-Folgen interpretierte atomare Formel mit dieser Semantik: α(j)α(j+1) . . . |= even
⇔
j ist gerade.
Wir behaupten, dass die Formel ϕeven
=
¤ (p1 → even)
nicht in LTL definierbar ist. Um das zu sehen, sei α(j) diejenige 0/1-Folge, die an der Position j eine 1, sonst aber nur 0 stehen hat. Angenommen, ϕ ist eine LTL-Formel, die ϕeven beschreibt. Dann hat ϕ eine Anzahl, z.B. m, von -Operatoren. Es gilt dann: α(m+1) |= ϕ ⇔ α(m+2) |= ϕ,
(5.11)
im Widerspruch dazu, dass ϕ genau ϕeven beschreibt; denn entweder m+1 oder m+2 ist ungerade. Die Beziehung (5.11) gilt wegen des folgenden Lemmas: Lemma 5.1.23 Lemma von Wolper Sei ϕ eine LTL-Formel und sei m die Anzahl der α(i) |= ϕ
genau dann, wenn
-Operatoren in ϕ. Dann gilt f¨ ur alle i, j > m:
α(j) |= ϕ
(mit Folgen α(i) und α(j) , wie sie gerade definiert wurden). Beweis: (Nicht vollst¨ andig.) Wir beweisen das Lemma durch strukturelle Induktion u ¨ber den Aufbau von ϕ. Der komplizierteste Fall ist der, dass ϕ von der Form ϕ1 U ϕ2 ist. Da die Behauptung symmetrisch ist, brauchen wir nur (⇒) zu beweisen. Zur Vereinfachung benutzen wir die verk¨ urzende Schreibweise α[l..], um den Suffix α[l]α[l+1]α[l+2] . . . eines ω-Wortes α zu bezeichnen (l ∈ N). Sei also ϕ = ϕ1 U ϕ2 . Annahme: i, j > m und α(i) |= ϕ. Wir wollen α(j) |= ϕ zeigen. Nach Definition von |= existiert eine Zahl l ∈ N mit α(i) [l..] und
(i)
α [k..]
|=
ϕ2
|=
ϕ1
(V1) f¨ ur alle 0 ≤ k < l
(V2)
Wir betrachten den Fall l ≤ i. Dann gilt α(i) [l..] = α(i−l) nach Definition der ω-W¨orter α(.) . Annahme: i−l > m. Wegen α(i) [l..] |= ϕ2 (V1) und α(i) [l..] = α(i−l) gilt auch α(i−l) |= ϕ2 , und wegen der Induktionshypothese f¨ ur ϕ2 (und wegen j > m) gilt α(j) |= ϕ2 , also auch α(j) |= ϕ. Annahme: i−l ≤ m. Mit einem ¨ahnlichen Argument wie eben – n¨amlich der Induktionshypothese f¨ ur ϕ2 und einer Umrechnung der (Hoch-) Indizes – sieht man α(j) [j−i+1..] |= ϕ2 . Mit Benutzung der Induktionshypothese f¨ ur ϕ1 und der Voraussetzung (V2) gilt ebenso: α(j) [k..] |= ϕ1 f¨ ur alle j−m ≤ k < j−i. Der Beweis wird beendet, indem gezeigt wird, dass α(j) [k..] |= ϕ1 auch f¨ ur 0 ≤ k < j−m gilt. Aber das folgt aus der Induktionshypothese f¨ ur ϕ1 , zusammen mit der Tatsache, dass α(i) [i−(m+1)..] |= ϕ1 gilt. 5.1.23 Der ausstehende Fall, n¨amlich l > i, ist weggelassen. Die ϕeven sehr ¨ahnliche Formel ϕ0even
=
¤ (p1 ↔ even)
Automatentheorie und Logik - Wintersemester 2004/05
93
ist allerdings sehr wohl LTL-definierbar, n¨amlich durch: ϕ0
=
p1 ∧ ¤ (p1 ↔
¬p1 ).
Um LTL an die M¨achtigkeit von MSO heranzubringen, gen¨ ugt es nicht, die atomare Formel even hinzuzuf¨ ugen. Denn das gleiche Argument kann mit teilbar durch 3“, teilbar durch 5“ usw. gemacht werden. ” ” Es m¨ usste (mindestens) eine unendliche Menge neuer atomarer Formeln hinzugef¨ ugt werden, damit LTL gleichm¨achtig mit MSO wird. Eine alternative Vorgehensweise ist die Erg¨anzung von LTL durch Quantifizierung. Die Variablen, wor¨ uber quantifiziert werden k¨onnte, sind die aussagenlogischen Variablen pi . In der Tat kann man die folgende Erweiterung von LTL betrachten: Syntax von QLTL (quantifiziertes LTL): Eine QLTL-Formel ϕ mit n aussagenlogischen Variablen ist entweder eine LTL-Formel mit n aussagenlogischen Variablen oder eine Formel der Art ¬φ0 oder φ1 ∧ φ2 oder ∃pn+1 : ψ, wobei die φj QLTL-Formeln mit n aussagenlogischen Variablen p1 , . . . , pn sind (j=0, 1, 2) und ψ eine LTL-Formel mit n+1 aussagenlogischen Variablen p1 , . . . , pn , pn+1 ist. Semantik von QLTL: Die Semantik von ¬φ0 und von φ1 ∧ φ2 ist klar. Wir geben die Semantik von ∃pn+1 : ψ. Sei α ∈ ({0, 1}n )ω . Dann definieren wir: α |= ∃pn+1 ψ
genau dann, wenn
∃ β∈{0, 1}ω : (α, β) |= ψ,
wobei die Folge (α, β) ∈ ({0, 1}n+1 )ω so definiert ist: ½ proj(α(j), i) falls 1 ≤ i ≤ n proj((α, β)(j), i) = β(j) falls i = n+1. Mit dieser – auf den ersten Blick vielleicht eher harmlosen – Erweiterung kann die gew¨ unschte Formel durch eine Verkn¨ upfung zwischen ϕeven [even ← p2 ] und ϕ0 ausgedr¨ uckt werden: ϕ00
=
∃p2 ( p2 ∧ ¤ (p2 ↔
¬p2 ) ∧ ¤ (p1 → p2 ) ).
Es gilt aber auch allgemein (ohne Beweis): ¨ Satz 5.1.24 Aquivalenz von QLTL und MSO QLTL und MSO sind ausdrucks¨ aquivalent.
5.2
5.1.24
Branching-time-Logik CTL ... worin Verzweigungen eine Hauptrolle spielen ...
CTL steht f¨ ur computation tree logic“, wobei ein computation tree etwas a¨hnliches wie ein Transitionssy” stem ist. Eigentlich bezieht sich der Terminus computation tree auf die Auffaltung“ eines Transitionssy” stems, so wie man einen (m¨oglicherweise zyklischen) Graphen zu einem Baum abwickeln“ kann. ” In CTL werden die Verzweigungspunkte eines Transitionssystems explizit – entweder existentiell oder universell – adressiert. Auch CTL wird u ¨ber Kripke-Strukturen mit Anfangszustand interpretiert, denen eine Menge von Aussagenvariablen {p1 , . . . , pn } zu Grunde liegt. Außer ¬, ∧, etc. gibt es noch die folgenden logischen Symbole: X, U, F, G, A, E, die in CTL allerdings nur in bestimmten Kombinationen vorkommen d¨ urfen. Es bedeuten intuitiv: X = neXt U = Until F = Finally G = Globally A = All E = Exists
(analog vorher) (analog U vorher) (¨ahnlich 3) (¨ahnlich ¤) (f¨ ur alle Pfade) (es existiert ein Pfad)
94
Vorlesungsskript von E. Best / Stand: 19. September 2005
5.2.1
Definition der Syntax von CTL
Atomare Formeln sind false, true (Konstanten) und p1 , . . . , pn (Variablen). Daraus entstehen CTL-Formeln durch Anwendung von • den aussagenlogischen Operatoren ¬ und ∧ (alle anderen lassen sich ableiten); • den einstelligen Operatoren AX. und EX. (mit . wird die Argumentstelle bezeichnet); • den zweistelligen Operatoren A(.U.) und E(.U.) (wieder bezeichnen die Punkte die Argumentstellen). Wir verwenden folgende Abk¨ urzungen:
5.2.2
AFϕ = A(true U ϕ),
EFϕ = E(true U ϕ),
AGϕ = ¬EF¬ϕ,
EGϕ = ¬AF¬ϕ.
Definition der Semantik von CTL
Sei K = (S, →, Φ, s0 ) eine endliche Kripke-Struktur mit Anfangszustand u ¨ber der Menge {p1 , . . . , pn } von Variablen. Ein Pfad in K heißt maximal, wenn er entweder unendlich ist oder nicht verl¨angert werden kann. Beispiel 5.2.1 Der unendliche Pfad 010101 . . . in Abbildung 5.13 ist maximal. Der endliche Pfad 01012 ist ebenfalls maximal. Der endliche Pfad 0101 ist nicht maximal. 5.2.1
0
1
2
Abbildung 5.13: Ein Beispiel zum Begriff des maximalen Pfades. Sei ϕ eine CTL-Formel, wie K auch u ¨ber {p1 , . . . , pn }. Sei s ein beliebiger Zustand von K. Wir definieren K, s |= ϕ durch Induktion: K, s |= false K, s |= true K, s |= pi K, s |= ¬ϕ K, s |= ϕ1 ∧ ϕ2 K, s |= AXϕ K, s |= EXϕ K, s |= A(ϕ1 Uϕ2 ) (∗) K, s |= E(ϕ1 Uϕ2 )
gdw. gdw. gdw. gdw. gdw. gdw. gdw. gdw.
nie. immer. pi ∈ Φ(s). nicht K, s |= ϕ. K, s |= ϕ1 und K, s |= ϕ2 . f¨ ur jede Transition (s, s0 ) ∈→ gilt: K, s0 |= ϕ. es gibt eine Transition (s, s0 ) ∈→ mit K, s0 |= ϕ. f¨ ur jeden maximalen Pfad s0 s1 s2 . . . mit s0 = s gilt: es gibt k≥0 mit K, sk |= ϕ2 ∧ (∀j, 0≤j
Wir definieren schließlich K, s0 erf¨ ullt ϕ“, d.h., die Kripke-Struktur K mit Anfangszustand s0 erf¨ ullt ϕ, ” wenn gilt: K, s0 |= ϕ. Die mit (∗) markierte Zeile in dieser Definition verschwindet, wenn K so beschaffen ist, dass jeder Zustand mindestens eine Ausgangstransition hat. Dann gibt es n¨amlich keine endlichen maximalen Pfade.
Automatentheorie und Logik - Wintersemester 2004/05
95
Beispiel 5.2.2 Petrinetze Ein Petrinetz ist ein bipartiter gerichteter Graph mit Knoten (Stellen) bzw. ¤ (Transitionen). Eine Markierung eines Netzes ist eine Funktion M von Stellen nach N, oft dargestellt durch Marken auf einer Stelle, z.B. s:
M (s) = 0,
0
s :
M (s0 ) = 1,
s00 :
M (s00 ) = 2,
usw. Die m¨oglichen Markierungs¨ anderungen sind folgendermaßen definiert: tragen alle Vorstellen einer Transition t eine oder mehr Marken, so darf t schalten; dabei werden von jeder Vorstelle eine Marke weggenommen und zu jeder Nachstelle eine Marke dazugelegt (siehe Abbildung 5.14).
t
t0 ; (t schaltet):
t
t0 oder ; (t0 schaltet):
t
t0
Abbildung 5.14: Zum Schaltbegriff bei Petrinetzen. Wir betrachten nun ein Netz mit anf¨anglicher Markierung (siehe Abbildung 5.15). Dieses Netz entspricht einem parallelen Programm mit den atomaren Aktionen P (s) V (s)
= if hs = 1 → s := 0i f i = hs := 1i
96
Vorlesungsskript von E. Best / Stand: 19. September 2005
e1
e2
c1
i1
c2
i2
s
x1
x2
P1
P2
Abbildung 5.15: Ein Semaphor-Netz. n¨amlich P1 :
loop
P (s);
%e1 %c1 V (s); %x1 skip %i1
P2 :
end
loop
P (s);
%e2 %c2 V (s); %x2 skip %i2
end
Dieses Programm beschreibt zwei Prozesse P1 (links) und P2 (rechts), deren kritische Abschnitte“ c1 und ” c2 durch ein bin¨ares Semaphor s (anf¨anglich mit Wert 1) gesch¨ utzt sind. Dadurch k¨onnen die Prozesse die Abschnitte nicht gleichzeitig betreten. Zur Mnemonik: c=critical, s=semaphore, i=internal, e=entry, x=exit. Frage: Die gezeigte Markierung sei die Anfangsmarkierung M0 ; welche Folgemarkierungen sind m¨oglich? Antwort: Wir konstruieren den Markierungsgraphen (d.h. den Graph aller erreichbaren Markierungen); siehe Abbildung 5.16. M0 i1
e1
e2
x1
e2 i2
i2 x2
i1
i2
x2
x1
e1 i1
Abbildung 5.16: Der Markierungsgraph des Semaphor-Netzes. Dieser Graph ist offensichtlich ein (mit Transitionen des Petrinetzes beschriftetes) Transitionssystem mit Anfangszustand M0 .
Automatentheorie und Logik - Wintersemester 2004/05
97
Zust¨ande: Anfangszustand: Transitionen:
Alle erreichbaren Markierungen. Anfangsmarkierung. t M −→ M 0 (t ist in M schaltbar und M 0 geht aus M durch Schalten von t hervor). t Kantenbeschriftung: λ(M −→ M 0 ) = t. Jetzt m¨ochten wir beweisen, dass f¨ ur jede erreichbare Markierung die kritische Abschnittseigenschaft gilt, d.h.: entweder c1 ist unmarkiert, oder c2 ist unmarkiert. Dazu f¨ uhren wir zwei Aussagevariablen p1 und p2 ein: p1 = 0 p2 = 0
⇔ ⇔
c1 ist unmarkiert. c2 ist unmarkiert.
Das Transitionssystem wird damit zu einer Kripke-Struktur (Abbildung 5.17). Anfangszustand M0 ¬p1 ¬p2 ¬p1 p2
p ¬p12 ¬p1 ¬p2
¬p1 ¬p2 ¬p1 p2
p ¬p12 ¬p1 ¬p2
Abbildung 5.17: Kripkestruktur f¨ ur den Markierungsgraphen des Beispielnetzes Die Eigenschaft des wechselseitigen Ausschlusses kann in CTL so spezifiziert werden: AG (¬p1 ∨ ¬p2 ).
(5.12)
Da diese Formel im betrachteten System gilt, kann die Frage, ob der wechselseitige Ausschluss garantiert ist, mit ja“ beantwortet werden. ” Die Eigenschaft der Verhungerungsfreiheit“ von Prozeß P2 kann folgendermaßen formalisiert werden: ” A(true U p2 ) ( = AG p2 ).
(5.13)
Diese Formel bedeutet, dass es immer wieder ein Vorkommen von p2 (d.h. eine Marke auf c2 ) gibt. Die Formel ist falsch, denn der Prozeß P2 kann verhungern; zum Beispiel ist e1 x 1 i1 e1 x 1 i1 . . . eine Ausf¨ uhrung des Systems, bei der nie eine Marke auf c2 gelangt. Ein korrekter Modelchecking-Algorithmus wird also bei Eingabe des Systems aus den Abbildungen 5.15-5.17 und der Formel (5.13) die Antwort nein“ ” ausgeben. 5.2.2
5.2.3
Das Modelchecking-Problem fu ¨ r CTL
Die CTL-Modelchecking-Frage lautet folgendermaßen:
98 ”
Vorlesungsskript von E. Best / Stand: 19. September 2005 Gegeben seien eine endliche Kripke-Struktur (S, →, Φ, s0 ) u ¨ber p1 , . . . , pn und eine CTL-Formel ϕ u ¨ber p1 , . . . , pn . Gilt K, s0 |= ϕ?“
Wir beschreiben einen Algorithmus zur L¨osung dieser Frage. Die Tiefe (oder Komplexit¨at) von ϕ, c(ϕ), sei als die maximale Schachtelungstiefe der Operatoren . ∧ ., A(.U.), E(.U.), AX. oder EX definiert. (In Abschnitt 3.2 war eine ¨ahnliche Definition ( Quantorentiefe“) f¨ ur FO-Formeln angegeben ” worden.) Es bezeichne cl+ (ϕ) die Menge der nichtatomaren, nichtnegativen Teilformeln von ϕ. Beispiel 5.2.3 Die Eigenschaft (5.12) aus dem letzten Abschnitt, AG(¬p1 ∨ ¬p2 ), lautet nach Aufl¨osung von AG und EF und Umformung: ϕ
=
¬E (true U (p1 ∧ p2 ))
cl+ (ϕ)
=
{p1 ∧ p2 , E (true U(p1 ∧ p2 ))} | {z } | {z } ϕ1
ϕ2
und es gilt c(ϕ1 ) = 1, c(ϕ2 ) = 2 und c(ϕ) = 2.
5.2.3
Der Algorithmus startet mit einer Verteilung der pi in den Knoten von K (wie in Bild 5.17; Annahme: true ist u ur alle i von 1 bis c(ϕ) die korrekten Teilformeln. ¨berall dabei) und erg¨anzt f¨ Am Ende gilt K, s0 |= ϕ genau dann, wenn ϕ (also nicht ¬ϕ) s0 zugeteilt ist. % CTL-Modelchecker. % Anf¨anglich liegt K = (S, →, Φ, s0 ) mit pi -Verteilung vor; true ist jedem s ∈ S zugeteilt. for i := 1 to c(ϕ) do % 1. Phase: unmittelbar geltende Teilformeln for s ∈ S and ψ ∈ cl+ (ϕ) such that c(ψ) = i do if ψ = ψ1 ∧ ψ2 and ψ1 , ψ2 in s → f¨ uge ψ zu s dazu ψ = AXψ1 and ∀r : ((s → r) ⇒ ψ1 ∈ r) → f¨ uge ψ zu s dazu %ψ1 ∈ r bedeutet: ψ1 ist r zugeteilt ψ = EXψ1 and ∃r : ((s → r) ∧ ψ1 ∈ r) → f¨ uge ψ zu s dazu ψ = A(ψ1 Uψ2 ) and ψ2 in s → f¨ uge ψ zu s dazu ψ = E(ψ1 Uψ2 ) and ψ2 in s → f¨ uge ψ zu s dazu fi % ψ muss eine dieser Formen haben end for ; % Ende Phase 1 % 2. Phase: Teilformeln mit Nachweis“ in Distanz ≤ j ” for j := 1 to |S| do + for s ∈ S and ψ ∈ cl (ϕ) such that c(ψ) = i and ψ = A/E(.U.) do if ψ = A(ψ1 Uψ2 ) and ψ1 in s and ∀r : ((s → r) ⇒ ψ ∈ r) → f¨ uge ψ zu s dazu ψ = E(ψ1 Uψ2 ) and ψ1 in s and ∃r : ((s → r) ∧ ψ ∈ r) → f¨ uge ψ zu s dazu fi end for end for ; % Ende Phase 2 % 3. Phase: Vervollst¨andigung durch Negate for s ∈ S and ψ ∈ cl+ (ϕ) such that c(ψ) = i and ψ not in s do f¨ uge ¬ψ zu s dazu end for ; % Ende Phase 3 end for ; % Ende i-Schleife.
Automatentheorie und Logik - Wintersemester 2004/05
99
Die beiden Beispiele (5.12) und (5.13) aus Abschnitt 5.2.2 sind leider nicht ganz gut dazu geeignet, diesen Algorithmus zu illustrieren, denn die 2. Phase ist in beiden F¨allen leer“. Wir erkl¨aren die Wirkungsweise ” trotzdem am Beispiel (5.13), d.h.: K ϕ c(ϕ)
= wie in Abbildung 5.17 = A(true Up2 ) ( Verhungerungsfreiheit“) ” = 1
cl+ (ϕ)
=
{ϕ}.
Die Phasen der Ausf¨ uhrung sind im Abbildung 5.18 dargestellt. Da bei M0 nach Ablauf des Algorithmus ¬ϕ“ (negiert) steht, gilt K, M0 6|= ϕ. ” Der Zeitbedarf des Algorithmus ist generell: O(|ϕ| · polynom(|S|)), wobei die 2. Phase dominiert. CTL-Modelchecking geht also polynomiell in der Gr¨oße des Systems K und polynomiell in der Gr¨oße der Formel ϕ. D.h., CTL-Modelchecking ist – gr¨oßenordnungsm¨aßig – schneller als LTL-Modelchecking (Abschnitt 5.1). Das suggeriert Abstriche an anderer Stelle. Wie wir gleich sehen werden, sind CTL und LTL unvergleichbar in Bezug auf ihre Ausdrucksm¨achtigkeiten.
¬p1 , ¬p2 ¬ϕ (1, 3) p1 , ¬p2 ¬ϕ (1, 3)
M0
¬p1 , p2 ϕ (1, 1)
¬p1 , ¬p2 ¬ϕ (1, 3)
¬p1 , ¬p2 ¬ϕ (1, 3)
¬p1 , p2 ϕ (1, 1)
p1 , ¬p2 ¬ϕ (1, 3) ¬p1 , ¬p2 ¬ϕ (1, 3)
Legende:
: ψ (i, k):
Literale, die bei der Initialisierung zugef¨ ugt werden; ψ wird in Phase k bei Schachtelungstiefe i zugef¨ ugt.
Abbildung 5.18: Wirkungsweise des CTL-Modelchecking-Algorithmus.
5.2.4
Vergleich der Ausdrucksm¨ achtigkeiten von LTL und CTL
Ein Vergleich zwischen den Logiken LTL und CTL ist m¨oglich, weil beide auf Kripke-Strukturen mit Anfangszustand interpretiert werden k¨onnen. Allerdings sind sowohl die Operatoren als auch die Semantikde¨ finitionen unterschiedlich. Eine direkte Ubersetzung gibt es in keine der beiden Richtungen. Die LTL-Operatoren und U entsprechen – sehr grob gesprochen – den CTL-Operatoren X bzw. U (die allerdings, wie gesagt, nur in bestimmten Kombinationen vorkommen d¨ urfen). Die CTL-Operatoren A(.U.) und E(.U.) haben keine LTL-Entsprechung. In CTL k¨onnten – so k¨onnte eine erste Vermutung sein – 3 und ¤ am ehesten so definiert werden: ¤ ≈ AG 3 ≈ EF ( oder AF).
100
Vorlesungsskript von E. Best / Stand: 19. September 2005
Aber EF heißt nur potentially“, nicht eventually“ wie 3. Dazu vergleichen wir zwei Formeln anhand der ” ” Kripke-Struktur K in Abbildung 5.19. K:
s0
¬p1
p1
¬p1
Abbildung 5.19: Ein Gegenbeispiel zu 3 = EF. Hier gilt mit ϕ ψ
= 3p1 = EFp1
(als LTL-Formel) (als CTL-Formel)
K, s0 6|= ϕ, aber K, s0 |= ψ. K 0:
s0 p1
t
s1 ¬p1
Abbildung 5.20: Ein Gegenbeispiel zu 3 = AF. Auch die Identifikation von 3 mit AF f¨ uhrt zu nicht-¨aquivalenten Formeln. Betrachten wir dazu die KripkeStruktur K 0 mit Anfangszustand s0 in Abbildung 5.20 und die LTL-Formel ϕ
=
¤3p1 → ¤3¬p1 .
Diese Formel dr¨ uckt eine Eigenschaft aus, die als spezielle Form von Fairness bezeichnet werden kann: wenn unendlich oft p1 , dann auch unendlich oft ¬p1 . Es gilt K 0 , s0 6|= ϕ, denn auf dem Pfad s0 s0 s0 . . . gilt dauernd p1 und nur endlich oft (n¨amlich niemals) ¬p1 . Dieser Pfad ist unfair gegen¨ uber der Transition t, die unendlich oft geschehen k¨onnte (und damit ¬p1 herstellen w¨ urde), aber nur endlich oft (n¨amlich niemals) eintritt. Wir betrachten nun die ϕfair durch die ¨ Ubersetzung 3 ; AF entsprechende Formel ψ
=
AGAF p1 → AGAF ¬p1 .
F¨ ur diese Formel gilt allerdings K 0 , s0 |= ψ, denn es gilt bereits K 0 , s0 6|= AGAF p1 (man betrachte dazu den Pfad s0 s1 s1 . . .). Genauer gesagt, gilt Folgendes: LTL und CTL sind unvergleichbar bez¨ uglich ihrer Ausdrucksf¨ ahigkeiten. Wir geben zwei (Gegen-) Beispiele hierf¨ ur, eins direkt und ein weiteres etwas sp¨ater.
Automatentheorie und Logik - Wintersemester 2004/05
101
Wir betrachten die LTL-Formel ϕLTL
=
3 ¤ p1
und behaupten, dass ϕLTL nicht in CTL ausdr¨ uckbar ist. Um diese Behauptung zu begr¨ unden, betrachten wir die beiden Strukturen K1 und L1 in Abbildung 5.21. Wie sollte eine CTL-Formel aussehen, die K1 und L1 unterscheidet? Eine solche Formel ist z.B. AXAG p1 , denn sie gilt in L1 (rechts), aber nicht in K1 (links). Offenbar gibt es u ¨berhaupt keine CTL-Formel ohne X-Operator, die K1 und L1 unterscheidet. K1 :
L1 : ¬p1
¬p1
p1
p1
Abbildung 5.21: Zwei Strukturen, zu deren Unterscheidung in CTL ein X-Operator ben¨otigt wird. Diese Konstruktion l¨asst sich fortsetzen, indem K1 und L1 verl¨angert werden (siehe Abbildung 5.22). Um die beiden Strukturen K2 und L2 zu unterscheiden, ben¨otigt man bereits mindestens zwei X-Operatoren. Umgekehrt findet man auf diese Weise zu jeder CTL-Formel ϕ zwei Strukturen Ki und Li , die ϕ nicht unterscheiden, in denen also ϕ entweder beide Male erf¨ ullt oder beide Male nicht erf¨ ullt ist, indem die Zahl i, und also auch die beiden Strukturen, groß genug gew¨ahlt werden. Es kann also keine CTL-Formel geben, die zu ϕLTL = 3 ¤ p1 ¨aquivalent ist, denn 3 ¤ p1 unterscheidet Ki und Li , unabh¨angig von der Gr¨oße von i. K2 :
L2 : ¬p1
¬p1
p1
p1
¬p1
¬p1
p1
p1
Abbildung 5.22: Strukturen, zu deren Unterscheidung in CTL zwei X-Operatoren ben¨otigt werden. Welche der beiden Logiken in der Praxis benutzt wird, h¨angt von verschiedenen Kriterien und von den vorgesehenen Anwendungen ab. Einer landl¨aufigen Meinung nach kann man mit LTL g¨ unstig interessante Eigenschaften ausdr¨ ucken, sollte aber doch (wenn u berhaupt m¨ o glich) CTL benutzen, um in den Genuss ¨ effizienteres Modelchecking zu kommen. Eine neuere Arbeit von Monika Maidl (The Common Fragment of CTL and LTL, erschienen in FOCS-2000), charakterisiert diejenigen Formeln, die sowohl in LTL als auch in CTL ausdr¨ uckbar sind, syntaktisch. Des Weiteren wird dort gezeigt, dass Modelchecking auf dieser Teilklasse besonders effizient durchgef¨ uhrt werden kann.
102
Vorlesungsskript von E. Best / Stand: 19. September 2005
CTL∗ , eine Erweiterung von LTL und von CTL
5.3
CTL∗ ist eine Erweiterung sowohl von LTL als auch von CTL. Das besondere Kennzeichen dieser Logik ist eine liberalere Verwendung der Pfadquantoren A und E als bei CTL. Zum Beispiel ist A (p1 ∧ (true U p2 )) eine CTL∗ -, aber keine CTL-Formel. Fairness-Eigenschaften sind in CTL∗ , normalerweise aber nicht in CTL ausdr¨ uckbar. Eine derartige Verallgemeinerung geht auf Kosten der Effizienz beim Model-Checking. CTL∗ wird ebenso wie CTL auf Kripke-Strukturen K interpretiert und hat zwei Arten von Formeln: • Zustandsformeln, d.h. Formeln, die auf den Zust¨anden von K interpretiert werden. Darunter fallen z.B. die CTL-Formeln. • Pfadformeln, d.h. solche, die auf den Pfaden von K interpretiert werden. Darunter fallen z.B. die LTL-Formeln. F¨ ur das Folgende sei eine Kripke-Struktur K mit Belegung Φ und Anfangszustand s 0 u ¨ber der Variablenmenge {p1 , . . . , pn } fest vorgegeben.
5.3.1
Definition der Syntax von CTL∗
Zustandsformeln: Die Konstanten false und true sind Zustandsformeln und jede Variable p i ist eine Zustandsformel. Sind ϕ, ϕ1 , ϕ2 Zustandsformeln, dann auch ¬ϕ und ϕ1 ∧ ϕ2 . Ist ψ eine Pfadformel, dann ist E ψ eine Zustandsformel. Pfadformeln: Die Konstanten false und true sind Pfadformeln. Sind ψ, ψ1 , ψ2 Pfadformeln, dann auch ¬ψ und ψ1 ∧ ψ2 . Ist ψ eine Pfadformel, dann auch Xψ (X heißt wie vorher Next“). ” Sind ψ1 , ψ2 Pfadformeln, dann auch ψ1 Uψ2 (U heißt wie vorher Until“). ” Ist ϕ eine Zustandsformel, dann ist D ϕ eine Pfadformel (D bedeutet Domain“). ” Obiges ist (fast) eine Minimalsyntax. Andere Formeln lassen sich, wie u ¨blich, ableiten, z.B. A ψ ≡ ¬(E (¬ψ)).
5.3.2
Definition der Semantik von CTL∗
Zustandsformeln: Sei s ein Zustand in S. K, s |= false K, s |= true K, s |= pi K, s |= ¬ϕ K, s |= ϕ1 ∧ ϕ2 K, s |= E ψ Pfadformeln:
gdw. gdw. gdw. gdw. gdw. gdw.
nie. immer. pi ∈ Φ(s). nicht K, s |= ϕ. K, s |= ϕ1 und K, s |= ϕ2 . es gibt einen maximalen Pfad ρ = r 0 r1 r2 . . . mit r 0 = s und K, ρ |= ψ.
Automatentheorie und Logik - Wintersemester 2004/05
103
Sei π = s0 s1 s2 . . . ein Pfad in K. K, π K, π K, π K, π K, π K, π K, π
5.3.3
|= false |= true |= ¬ψ |= ψ1 ∧ ψ2 |= Xψ |= ψ1 Uψ2 |= D ϕ
gdw. gdw. gdw. gdw. gdw. gdw. gdw.
nie. immer. nicht K, π |= ψ. K, π |= ψ1 und K, s |= ψ2 . K, s1 s2 s3 . . . |= ψ (Nebenbedingung: π = s0 s1 s2 . . .). ∃i≥0 : (∀k, 0≤k
Einbettung von CTL und LTL, und Entscheidbarkeit
Eine LTL-Formel ist (nach Ersetzen von durch X) eine Pfadformel von CTL∗ . Insofern subsumiert CTL∗ durch X. die Logik LTL. Genauer: sei ϕ eine LTL-Formel und sei ϕ0 aus ϕ erhalten durch Ersetzen von Dann ist ϕ0 eine CTL∗ -Pfadformel und es gilt K, s0 |= ϕ (im Sinne von Definition 5.1.22) genau dann, wenn K, s0 |= Aϕ0 (im Sinne von Abschnitt 5.3.2). CTL∗ subsumiert auch die Logik CTL, weil zu einer CTL-Formel ϕ stets eine ¨aquivalente CTL∗ -Formel ϕ0 wie in Abbildung 5.23 definiert werden kann: ϕ false, true pi ¬ϕ ϕ1 ∧ ϕ 2 EXϕ E (ϕ1 Uϕ2 ) A (ϕ1 Uϕ2 )
ϕ0 false, true pi ¬ϕ0 ϕ01 ∧ ϕ02 E (X(D ϕ0 )) (AX analog) 0 0 E (D (ϕ1 )UD (ϕ2 )) A [ D (ϕ01 )UD (ϕ02 ∨ (ϕ01 ∧ ¬E (X true))) ]. ¨ Abbildung 5.23: Ubersetzung von CTL nach CTL∗ .
Anmerkung zur letzten Zeile: X true charakterisiert nichtleere Pfade, also charakterisiert ¬E (X true) die Menge derjenigen Zust¨ande, die keine Nachfolger haben. Haben alle Zust¨ande mindestens einen Nachfolgezustand, dann vereinfacht sich die letzte Zeile zu A [D (ϕ01 )UD (ϕ02 ) ]. Ohne Beweis (Satz von Hafer und Thomas): CTL∗ ist gleichm¨achtig mit S2S (mit Quantifizierungen nur u ¨ber unendlichen Pfaden). Aus Satz 4.3.11 folgt deswegen: Korollar 5.3.1 Entscheidbarkeit von CTL∗ CTL∗ ist entscheidbar.
5.3.1
Allerdings ist CTL∗ PSPACE-vollst¨andig. Das Modelchecking-Problem ist nur mit entsprechendem algorithmischem Aufwand zu l¨osen.
5.3.4
Eine CTL-Formel, die nicht in LTL ausdru ¨ ckbar ist
Wir kehren zur¨ uck zu Abschnitt 5.2.4 und geben nun ein Beispiel einer CTL-Formel, die nicht in LTL ausdr¨ uckbar ist. Zur Vereinfachung nehmen wir an, dass jeder Zustand mindestens einen Nachfolgezustand hat (dann darf die entsch¨arfte Version der letzten Zeile von Tabelle 5.23 benutzt werden). Wir behaupten, dass die CTL-Formel ϕCTL
=
AFAG p1 .
104
Vorlesungsskript von E. Best / Stand: 19. September 2005
keine LTL-Entsprechung hat. Um diese Behauptung zu begr¨ unden, zitieren wir (ohne Beweis) den folgenden Satz: Satz 5.3.2 Clarke und Draghiescu Sei ϕ eine CTL-Formel und sei die Pfadformel ϕd aus ϕ erhalten durch Ersetzen gem¨ aß Abbildung 5.23 und L¨ oschen der Pfadquantoren A und E. Dann ist ϕ in LTL ausdr¨ uckbar genau dann, wenn ϕ und A (ϕd ) (bez¨ uglich CTL∗ ) ¨ aquivalent sind. 5.3.2 Die Formel A (ϕd ) muss nicht unbedingt eine CTL-Formel sein; sie ist aber stets als CTL ∗ -Formel interpretierbar. In einer Richtung ist der Beweis des Satzes trivial: Wenn n¨amlich ϕ und A (ϕd ) ¨aquivalent sind, dann ist schon ϕd (wenn X noch durch ersetzt wird) eine zu ϕ ¨aquivalente LTL-Formel. d Wir berechnen ϕCTL : (AFAG p1 )d
=
(A(true U (AG p1 )))d
=
(A(D(true) U D(AG p1 )))d
( AF ersetzen ) ( Tabelle 5.23 anwenden )
d
=
D(true) U (D(AG p1 ))
=
D(true) U (D(¬EF ¬ p1 ))d
( A l¨oschen und
d
in die Formel ziehen )
( AG ersetzen ) d
d
=
D(true) U D(¬ (E (true U ¬ p1 )) )
( EF ersetzen und
=
D(true) U D(¬ (E (D(true) U D(¬ p1 )))d )
( Tabelle 5.23 anwenden )
=
D(true) U (¬ (D(true) U D(¬ p1 ))).
( E l¨oschen )
in die Formel ziehen )
Es bedeuten intuitiv: AFAG p1 : A (D(true) U (¬ (D(true) U D(¬ p1 )))) :
irgendwann gibt es nur noch p1“ ” auf jedem (maximalen) Pfad gibt es irgendwann nur noch p1“. ”
Die Abbildung 5.24 zeigt eine Struktur KCTL (mit Anfangszustand s0 ), die diese beiden Formeln unterscheidet: es gilt n¨amlich KCTL , s0 6|= AFAG p1 aber
(weil der Pfad s0 s0 s0 . . . nicht AG p1 erf¨ ullt).
KCTL , s0 |= A (D(true) U (¬ (D(true) U D(¬ p1 )))).
Mithin sind ϕCTL und A((ϕCTL )d ) in¨aquivalent und Satz 5.3.2 liefert die Unausdr¨ uckbarkeit von AFAG p1 in LTL. KCTL :
s0 p1
s1 ¬p1
s2 p1
Abbildung 5.24: Eine Struktur, die ϕCTL und A(ϕCTL )d unterscheidet.
5.4
Zusammenfassung
Wir haben zwei verschiedene Auspr¨agungen von CTL∗ n¨aher untersucht:
Automatentheorie und Logik - Wintersemester 2004/05
105
• LTL (eine linear-time-Logik), die nur aus Pfadformeln besteht. Das Modelchecking-Problem hierf¨ ur erweist sich als exponentiell in der Formel und polynomiell im System (Kripke-Struktur). Grundlage f¨ ur den Algorithmus ist die clevere Konstruktion eines B¨ uchi-Automaten zu einer Formel, die erheblich effizienter ist als die in den vorangegangenen Kapiteln angegebene. • CTL (eine branching-time-Logik), die nur aus Zustandsformeln besteht. Das Modelchecking-Problem hierf¨ ur ist polynomiell sowohl in der Formel als auch im System (wieder Kripke-Struktur). Grundlage f¨ ur diesen Algorithmus ist eine Breitensuche in der Kripke-Struktur. Eine Verbindung zu den vorherigen Abschnitten (MSO, FO etc.) gibt es durch LTL. Denn LTL-definierbare Sprachen stellen sich als ¨aquivalent zu den FO-definierbaren heraus, sind also eine echte Teilklasse der MSO-definierbaren Sprachen. Man kann LTL durch Einf¨ uhrung eines Quantors zu QLTL verallgemeinern und erh¨alt dann die volle MSO-Logik in anderem Gewand. Neben diesen Logiken haben wir einige Systemmodelle kennengelernt, die uns im n¨achsten Kapitel weiter besch¨aftigen werden: (einfache, beschriftete, parametrisierte) Transitionssysteme, Kripke-Strukturen, und Petrinetze. Zu beachten ist, dass diese Modelle nicht auf der gleichen Ebene“ sind. W¨ahrend Transiti” onssysteme und Kripkestrukturen einander unmittelbar als Graphen entsprechen (nur die jeweiligen Beschriftungen unterscheiden sich), kann von jedem Petrinetz mit Markierung ein eigenes Transitionssystem (der Erreichbarkeitsgraph) abgeleitet werden. Dieses ist im Allgemeinen (obwohl unsere Beispiele dies bisher nicht deutlich gemacht haben) sehr viel gr¨oßer als das Petrinetz selbst. Man muss also aufpassen, auf welches Systemmodell man sich bezieht, wenn man von der Gr¨oße eines Systems“ spricht. Bisher war das ” unkritisch, weil stets eine Kripke-Struktur gemeint war.
106
Vorlesungsskript von E. Best / Stand: 19. September 2005
Kapitel 6
Modale Logiken und Fixpunkte Bislang wurden die betrachteten temporalen Logiken auf unbeschrifteten Transitionssystemen bzw. auf Kripke-Strukturen interpretiert. Wir wenden uns nun den Transitionsbeschriftungen zu. Es zeigt sich, dass diese orthogonal“ zu den pr¨apositionalen Variablen sind, insofern, als es ohne Probleme m¨oglich ist, beide ” (wie in den Transitionssystemen, so auch in der Logik) zu kombinieren. Eine mengentheoretische Umformulierung der bisher betrachteten Logiken findet sich in Abschnitt 6.2. In Abschnitt 6.3 gehen wir etwas n¨aher auf die schon fr¨ uher erw¨ahnten Fixpunktbeziehungen – f¨ ur den UntilOperator – ein, indem wir diese Beziehungen als tats¨achliche Gleichungen u ber Mengen interpretieren. Zu ¨ Ende des Kapitels, in Abschnitt 6.4, zeigen wir, dass es m¨oglich ist, Fixpunkte direkt in die Logik mit hineinzunehmen. Es ergibt sich eine sehr ausdrucksm¨achtige Logik.
6.1
Hennessy-Milner-Logik ... worin Aktionen eine Hauptrolle spielen ...
Die Hennessy-Milner-Logik wird f¨ ur beschriftete Transitionssysteme benutzt. Zun¨achst betrachten wir reine Transitionssysteme ohne pr¨apositionale Variablen p1 , . . . , pn . Es seien A ein Alphabet und K = (S, A, →) ein beschriftetes Transitionssystem. Die Formeln der Hennessy-Milner-Logik sind nach folgender Syntax aufgebaut: • Es gibt eine atomare Formel true; • es gibt zwei aussagenlogische Operatoren ¬ und ∧; • und es gibt |A| un¨are Operatoren hai. Wie u ¨blich, k¨onnen Operatoren wie ∨ (und auch die Konstante false) davon abgeleitet werden. Die Formeln der Hennessy-Milner-Logik sind Zustandsformeln, interpretiert auf beschrifteten Transitionssystemen K in einem Zustand s. Die Formel hai hat folgende Semantik: K, s |= hai ϕ
genau dann, wenn
a
∃s −→ s0 : K, s0 |= ϕ.
K, s |= haiϕ bedeutet also, dass es vom momentanen Zustand s an eine mit a beschriftete Transition gibt, so dass im Folgezustand ϕ gilt. Da der Operator hai – sehr entfernt – dem 3-Operator von LTL ¨ahnelt, werden die spitzen Klammern benutzt. Er betrifft aber, im Gegensatz zu 3, nur die Menge der direkten Folgezust¨ande und ist zudem mit einer Beschriftung a parametrisiert. Eine Bemerkung zur Terminologie: Statt eines einzigen mit A beschrifteten Transitionssystems kann man ur jedes Symbol a ∈ A. Historisch ist ¨aquivalent auch |A| verschiedene unbeschriftete betrachten, eines f¨ dies die u ¨bliche Interpretation von modalen Logiken. Die Symbole a ∈ A werden aus diesem Grund auch 107
108
Vorlesungsskript von E. Best / Stand: 19. September 2005
Modalit¨ aten, und der Operator hai ein modaler Operator genannt. Modale Logik steht nicht im Gegensatz zu temporaler Logik. Historisch kann der Begriff modale Logik“ als ein Oberbegriff angesehen werden; ” temporale Logiken sind dann spezielle modale Logiken. Zu jeder der |A| Modalit¨aten a ∈ A kann man neben hai einen dualen Operator [a] so definieren: [a] ϕ ≡ ¬ (hai (¬ϕ)) Dieser Operator ¨ahnelt entfernt dem ¤-Operator und soll durch die eckigen Klammern daran erinnern. Beispiel 6.1.1 Wir betrachten zwei Beispiele K1 und K2 (Abbildung 6.1). s0
K1 :
s0
K2 : a
a b
c
b
a c
Abbildung 6.1: Zwei Trace-¨aquivalente Transitionssysteme. Mit dem Anfangszustand s0 sind die Menge der Traces (Beschriftungsw¨orter) und die Menge der maximalen Traces der beiden Transitionssysteme gleich, n¨amlich gleich {ε, a, ab, ac} (Traces)
bzw.
{ab, ac} (maximale Traces).
Diese Gleichsetzung erscheint jedoch als zu grob, wenn man unterscheiden m¨ochte, dass in K1 nach einer Ausf¨ uhrung von a immer noch beide Alternativen, b oder c, m¨oglich sind, w¨ahrend in dies nicht der Fall ist: In K2 legt bereits die Auswahl, welches der beiden a zuerst ausgef¨ uhrt wird, entweder b oder c als die n¨achste Aktion fest. Die Hennessy-Milner-Logik ist aussagekr¨aftig genug, um diese beiden Transitionssysteme zu unterscheiden. Es gibt eine Formel, die in einem der beiden gilt, aber nicht in dem anderen, n¨amlich die Formel ϕ
=
[a]hbitrue
( d.h. expandiert: ¬ (hai¬ (hbitrue)) ).
Denn es gilt K1 , s0 |= ϕ und K2 , s0 6|= ϕ.
6.1.1
(Ohne Beweis:) Sind zwei beschriftete Transitionssysteme unter der Hennessy-Milner-Logik ununterscheidbar, dann haben sie auch die gleichen Traces. Liegt eine beschriftete Kripke-Struktur vor, dann kann die Hennessy-Milner-Logik mit aussagenlogischen Variablen p1 , . . . , pn kombiniert werden. Z.B. ist p1 ∧ hai p1 in allen Zust¨anden erf¨ ullt, in denen p1 gilt und von denen aus mit einer a-Transition ein Zustand, in dem wieder p1 gilt, erreicht werden kann. Umgekehrt k¨onnen LTL und CTL mit Modalit¨aten hai kombiniert werden. Z.B. bedeutet ¤haip1 , dass von jedem Zustand des gerade betrachteten Laufes aus eine a-Transition m¨oglich ist, die zu einem Zustand f¨ uhrt, der p1 erf¨ ullt.
Automatentheorie und Logik - Wintersemester 2004/05
6.2
109
Zustandsalgebren
Wir bringen jetzt expliziter als bisher zwei Dinge in Verbindung: • Eine Zustandsformel ϕ. • Die Menge der Zust¨ande, f¨ ur die ϕ gilt. Sei ϕ eine Formel und sei K, mit Zustandsmenge S, ein Transitionssystem, auf dem f¨ ur jeden Zustand s∈S entweder K, s |= ϕ oder K, s 6|= ϕ gilt, d.h. ein Transitionssystem, auf dem ϕ definiert“ ist. Wir nehmen ” an, dass K passend zur Formel ϕ gew¨ahlt ist. Ist ϕ z.B. eine CTL-Formel, dann ist K eine Kripke-Struktur und ist ϕ eine Hennessy-Milner-Formel, dann ist K ein beschriftetes Transitionssystem. Wir definieren: ϕK
=
{s ∈ S | K, s |= ϕ}.
D.h., ϕK ist die Menge derjenigen Zust¨ande von K, auf denen ϕ gilt (auch genannt die G¨ ultigkeitsmenge von ϕ). Da die Semantik von K, s |= ϕ induktiv u ¨ber die Syntax von ϕ definiert ist, sollte analog auch ϕK induktiv u ¨ber einfachere“ Mengen gebildet werden k¨onnen, gegebenenfalls beginnend mit den Mengen ” ϕpi = {s ∈ S | pi ∈ Φ(S)} f¨ ur 1≤i≤n, wenn n aussagenlogische Variablen vorhanden sind und K = (S, →, Φ) eine Kripke-Struktur ist. Beispielsweise k¨onnen die Konstante true, die Negation, die Konjunktion und die Modalit¨at hai der Hennessy-Milner-Logik folgendermaßen induktiv u ¨ber Mengen aufgebaut werden: trueK (¬ϕ)K (ϕ1 ∧ ϕ2 )K ( haiϕ )K
= = = =
S S \ ϕK ϕ1,K ∩ ϕ2,K {s ∈ S | ∃(s, a, s0 ) ∈→ : s0 ∈ ϕK }.
Die zweite Zeile besagt, dass die Menge der Zust¨ande, in denen ¬ϕ gilt, die Komplementmenge (bezogen auf die Gesamtzustandsmenge) derjenigen Zust¨ande ist, in denen ϕ gilt. Die anderen Zeilen sind ¨ahnlich zu verstehen. s0
K1 :
s0
K2 : a
a s01
s1 c
b s2
b s3
s2
a s001 c s3
Abbildung 6.2: Zwei Trace-¨aquivalente Transitionssysteme (revisited). Beispiel 6.2.1 Wir betrachten die beiden beschrifteten Transitionssysteme K1 und K2 in Abbildung 6.2. Es sei A = {a, b, c}. In K1 ist S = {s0 , s1 , s2 , s3 } und in K2 ist S = {s0 , s01 , s001 , s2 , s3 }. Wir betrachten die schon bekannte Formel ϕ = [a]hbitrue = ¬(hai¬(hbitrue)) mit folgenden Teilformeln: ϕ
=
¬ ( hai ¬ (hbi true | {z } ) ) . ϕ1
|
|
|
{z
ϕ2
{z
ϕ3
{z
ϕ4
}
}
}
110
Vorlesungsskript von E. Best / Stand: 19. September 2005
Dann berechnen sich die G¨ ultigkeitsmengen f¨ ur alle (Teil-) Formeln wie folgt: F¨ ur K1 : ϕ1,K1 ϕ2,K1 ϕ3,K1 ϕ4,K1 ϕK 1
= S = {s1 } = {s0 , s2 , s3 } = ∅ = S
(aus der Semantik von true) (da nur von s1 aus ein b-Pfeil nach true f¨ uhrt) (die Komplementmenge von {s1 }) (da kein a-Pfeil in {s0 , s2 , s3 } hineinf¨ uhrt) (wieder die Komplementmenge)
und f¨ ur K2 : ϕ1,K2 ϕ2,K2 ϕ3,K2 ϕ4,K2 ϕK 2
= S (aus der Semantik von true) uhrt) (da nur von s01 aus ein b-Pfeil nach true f¨ = {s01 } 00 = {s0 , s1 , s2 , s3 } (die Komplementmenge von {s01 }) = {s0 } (da nur von s0 aus ein a-Pfeil in {s0 , s001 , s2 , s3 } hineinf¨ uhrt) 0 00 = {s1 , s1 , s2 , s3 } (wieder die Komplementmenge).
Also gilt insbesondere K1 , s0 |= ϕ, da der Anfangszustand von K1 in ϕK1 enthalten ist, und K2 , s0 6|= ϕ, da 6.2.1 der Anfangszustand von K2 in ϕK2 nicht enthalten ist. Man kann die Menge (haiϕ)K auch algebraisch schreiben, indem man einen Operator ½ S 2 → 2S haiK : X 7→ {s ∈ S | ∃(s, a, s0 ) ∈→ : s0 ∈ X} so verwendet: (haiϕ)K = haiK (ϕK ). In analoger Weise kann man z.B. die zweistelligen CTL-Operatoren A(.U.) und E(.U.) durch Operatoren von 2S × 2S nach 2S ausdr¨ ucken. Auch lassen sich die atomaren Formeln als nullstellige Operatoren verstehen. So gesehen, sind diese Logiken verschiedene Auspr¨agungen einer algebraischen Struktur, die wir jetzt allgemein definieren. Sei Ω eine Menge von Operatoren δ, . . ., jeder mit Stelligkeit ( Arit¨at“) ar(δ) ∈ N. Eine Zustandsmengen” Ω-Algebra (¨ uber einer Kripke-Struktur K mit Zustandsmenge S) besteht aus einer Abbildung δK : 2 S × . . . × 2 S → 2 S {z } | ar(δ) viele
f¨ ur jeden Operator δ ∈ Ω. Wir betrachten als Beispiele die Hennessy-Milner-Logik, CTL und LTL, indem wir jedes Mal erst die Operatoren und dann deren Semantik angeben (letztere nicht wie vorher durch die Relation |=, sondern kompositionell mit Hilfe von Mengenoperationen). Beispiel 6.2.2 Hennessy-Milner-Algebra Die Hennessy-Milner-Algebra u ¨ber einem Alphabet A hat folgende |A| + 3 Operatoren: true ¬ ∧ hai
(Arit¨at (Arit¨at (Arit¨at (Arit¨at
0) 1) 2) 1)
(Konstante)
(f¨ ur jedes a ∈ A)
Sei K = (S, A, →) ein beschriftetes Transitionssystem. Die entsprechende Zustandsmengen-Ω-Algebra ist durch trueK ¬K (X) ∧K (X1 , X2 ) haiK (X) definiert.
= S = S\X (X ⊆ S) = X 1 ∩ X2 (X1 , X2 ⊆ S) = {s ∈ S | ∃(s, a, s0 ) ∈→ : s0 ∈ X}
(6.1)
6.2.2
Automatentheorie und Logik - Wintersemester 2004/05
111
Beispiel 6.2.3 Die Logik CTL CTL hat die folgenden n + 7 Operatoren: true, p1 , . . . , pn ¬, AX, EX ∧, AU, EU
(Arit¨at 0, d.h. Konstanten) (Arit¨at 1) (Arit¨at 2)
Sei K = (S, A, Φ) eine Kripke-Struktur. Die CTL entsprechende Zustandsmengen-Ω-Algebra ist folgendermaßen definiert: Der aussagenlogische Teil (trueK , ¬K , ∧K ) ist wie in (6.1) pi,K = {s ∈ S : pi ∈ Φ(s)} EXK (X) = {s ∈ S | ∃(s, s0 ) ∈→ : s0 ∈ X} AXK (X) = {s ∈ S | ∀(s, s0 ) ∈→ : s0 ∈ X} EUK (X1 , X2 ) = {s ∈ S | ∃ maximaler Pfad s0 s1 s2 . . . : s0 = s ∧ ∃i≥0 : si ∈X2 ∧ ∀0 ≤ k < i : sk ∈X1 } AUK (X1 , X2 ) = {s ∈ S | ∀ maximalen Pfade s0 s1 s2 . . . mit s = s0 : [ ∃i≥0 : si ∈X2 ∧ ∀0≤k
6.2.3
Beispiel 6.2.4 Die Logik LTL LTL hat die folgenden n + 5 Operatoren: true, p1 , . . . , pn ¬, ∧, U
(Arit¨at 0, d.h. Konstanten) (Arit¨at 1) (Arit¨at 2)
Die LTL-Formeln sind Pfadformeln, die nicht auf den Zust¨anden s, sondern auf den Pfaden s0 s1 . . . einer Kripke-Struktur definiert sind. Urspr¨ unglich hatten wir LTL-Formeln auf ω-W¨ortern α ∈ ({0, 1}n )ω definiert. Jedes solche Wort α kann kanonisch als Kripke-Struktur Kα = (S, →, Φ) interpretiert werden:
und
S = N → = {(j, j+1) | j ∈ N} ½ N → 2{p1 ,...,pn } Φ: j 7→ {pi | proj(α(j), i) = 1}.
Sei α ∈ ({0, 1}n )ω und sei K = Kα = (S, →, Φ) die zugeh¨orige Kripke-Struktur. Mit der nun folgenden Definition verstehen wir j erf¨ ullt ϕ“ (f¨ ur einen Zustand j ∈ N) als α(j)α(j+1) . . . (d.h. der Suffix, der an ” ” und U statt auf ω-W¨ortern Index j beginnt) erf¨ ullt ϕ“. Auf diese Weise k¨onnen die beiden Operatoren auf Zust¨anden j ∈ N interpretiert werden. trueK = ¬K (X) = ∧K (X1 , X2 ) = pi,K = = K (X) UK (X1 , X2 ) =
N N\X (X ⊆ S) X 1 ∩ X2 (X1 , X2 ⊆ S) {j ∈ N : proj(α(j), i) = 1} {j ∈ N | j + 1 ∈ X} {l ∈ N | ∃j ≥ l : j ∈ X2 ∧ ∀k, l≤k<j : k ∈ X1 } 6.2.4
Wir benutzen jetzt Fixpunkttheorie, um die verschiedenen Until-Operatoren besser zu verstehen und insbesondere die langen Mengenausdr¨ ucke auf den rechten Seiten der Semantikdefinitionen ¨aquivalent, aber eleganter zu formulieren.
112
Vorlesungsskript von E. Best / Stand: 19. September 2005
6.3
Fixpunkte
In diesem Abschnitt zeigen wir, dass die genannten Operatoren, insbesondere AU (CTL) und U (LTL), bzw. die davon abgeleiteten Funktionen, also AUK und UK , gewissen Fixpunktgleichungen gen¨ ugen. In der Konstruktion eines B¨ uchi-Automaten zu einer LTL-Formel haben wir eine Fixpunkteigenschaft dieser Art (n¨amlich die Gleichung (5.2) in Abschnitt 5.1.2) bereits ausgenutzt. Um die Gegebenheiten allgemein zu untersuchen, machen wir uns die Verbandsstruktur der Menge 2 S mit der Teilmengenbeziehung ⊆ zunutze.
Fixpunkte monotoner Funktionen auf 2S
6.3.1
Eine Funktion f : 2S → 2S heißt monoton (bzgl. ⊆), wenn aus X ⊆ Y ⊆ S immer auch f (X) ⊆ f (Y ) folgt. Sei f : 2S → 2S monoton. Wir betrachten die beiden Mengen: T µf = {X | f (X) ⊆ X} (6.2) S und νf = {X | X ⊆ f (X)}. Lemma 6.3.1 µf ist kleinster, νf ist gr¨ oßter Fixpunkt von f S S Sei f : 2 → 2 monoton. Dann gilt: 1. µf und νf sind Fixpunkte von f , d.h. f (µf ) = µf und f (νf ) = νf . 2. Sei X ⊆ S Fixpunkt von f , d.h. f (X) = X; dann gilt µf ⊆ X ⊆ νf .
6.3.1
Beweis: Wir f¨ uhren den Beweis nur f¨ ur µ, denn der Beweis f¨ ur ν ist vollkommen analog. Im ersten Teil der Behauptung ist f (µf ) ⊆ µf and µf ⊆ f (µf ) zu zeigen. • Beweis von f (µf ) ⊆ µf : Zuerst zeigen wir ∀X ∈ S : f (X) ⊆ X ⇒ f (µf ) ⊆ X: f (X) ⊆ X
⇒
( µf ist eine untere Schranke von {X | f (X) ⊆ X} ) f (X) ⊆ X ∧ µf ⊆ X ⇒ ( Monotonie von f ) f (X) ⊆ X ∧ f (µf ) ⊆ f (X) ⇒ ( Transitivit¨at von ⊆ ) f (µf ) ⊆ X.
Die Behauptung f (µf ) ⊆ µf folgt jetzt, weil µf die gr¨oßte untere Schranke von {X | f (X) ⊆ X} ist. • Beweis von µf ⊆ f (µf ): Da µf eine untere Schranke der Menge {X | f (X) ⊆ X} ist, folgt die Behauptung µf ⊆ f (µf ) sofort, wenn gezeigt werden kann, dass f (µf ) ein Element von {X | f (X) ⊆ X} ist. Es gilt aber f (µf ) ⊆ µf (wie oben schon gezeigt) und wegen der Monotonie von f folgt daraus f (f (µf )) ⊆ f (µf ). Also ist f (µf ) tats¨achlich ein Element von {X | f (X) ⊆ X}. F¨ ur den zweiten Teil der Behauptung sei f (X) = X. Dann gilt µf ⊆ X, weil µf eine untere Schranke von {Y | f (Y ) ⊆ Y } ist, und X ⊆ νf gilt, weil νf eine obere Schranke von {Y | Y ⊆ f (Y )} ist. 6.3.1 Wir zitieren noch ein paar weitere Resultate zur Berechnung von Fixpunkten. Die Beweise sind (weggelassen und) leicht. Eine Funktion f : 2S → 2S heißt stetig, wenn f¨ ur aufsteigende Ketten X0 ⊆ X1 ⊆ X2 ⊆ . . . mit Xj ⊆ S immer gilt: ∞ [
j=0
f (Xj ) = f (
∞ [
i=0
Xi )
Automatentheorie und Logik - Wintersemester 2004/05
113
und co-stetig, wenn f¨ ur absteigende Ketten X0 ⊇ X1 ⊇ X2 ⊇ . . . mit Xj ⊆ S immer gilt: ∞ \
f (Xj ) = f (
∞ \
Xi ).
i=0
j=0
Jede stetige Funktion ist monoton, aber es gibt monotone Funktionen, die nicht stetig sind. Betrachten wir als Beispiel S = N und die Funktion f : 2N → 2N , die folgendermaßen definiert ist: f:
(
{0, 2, . . . , i} X
7→ {0, 2, . . . i, i + 2} 7→ N
falls i eine gerade Zahl ist f¨ ur jede andere Menge X ∈ 2S .
Dann ist f monoton, aber nicht stetig, weil gilt: [
f ({0, 2, . . . , j}) = {0, 2, 4, . . .} 6= N = f (
[
{0, 2, . . . , i} ).
2|i
2|j
Genauso ist jede co-stetige Funktion monoton, aber es gibt monotone Funktionen, die nicht co-stetig sind. Alle drei Begriffe fallen zusammen, wenn S eine endliche Menge ist: Lemma 6.3.2 Sei S endlich. Dann ist f monoton genau dann, wenn f stetig ist, und auch genau dann, wenn f co-stetig ist. 6.3.2 F¨ ur stetige Funktionen kann µf , der kleinste Fixpunkt, so iteriert werden: Lemma 6.3.3 Kleinster Fixpunkt einer stetigen Funktion S∞ Sei f stetig. Dann gilt µf = i=0 f i (∅).
6.3.3
Lemma 6.3.4 Gr¨ oßter Fixpunkt einer co-stetigen Funktion T∞ Sei f co-stetig. Dann gilt νf = i=0 f i (S).
6.3.4
Dabei ist f i folgendermaßen definiert: f i = f ◦ . . . ◦ f (i-mal); bzw. induktiv: f 0 = id und f i+1 = f ◦ f i f¨ ur 0 ≤ i. F¨ ur co-stetige Funktionen kann νf , der gr¨oßte Fixpunkt, so iteriert werden:
Lemma 6.3.3 und Lemma 6.3.4 sind oft einfacher zu handhaben als die Ausdr¨ ucke (6.2) f¨ ur die Fixpunkte.
6.3.2
Fixpunkteigenschaften von CTL-Operatoren
Wir betrachten zun¨achst die Operatoren AUK und AXK aus CTL (Beispiel 6.2.3) mit festem K = (S, →, . . .) und formulieren eine Fixpunktbeziehung – analog (5.2) – mengentheoretisch. Weil K fest ist, lassen wir im Folgenden den Index K weg und schreiben AUK und AXK einfach als AU und AX. Lemma 6.3.5 Fixpunktgleichung f¨ ur AU in CTL Seien X1 , X2 ⊆ S und X = X1 AUX2 . Dann gilt X = X2 ∪ (X1 ∩ AX(X)). Dabei ist X1 AUX2 eine Infixschreibweise f¨ ur AU(X1 , X2 ).
114
Vorlesungsskript von E. Best / Stand: 19. September 2005
Beweis: (⊆): Sei s ∈ X. Laut Definition von AU gilt dann f¨ ur alle maximalen Pfade s0 s1 s2 . . . mit s0 = s: ∃i≥0 : si ∈ X2 ∧ ∀k, 0≤k
(6.3)
s0 s1 s2 . . . sm ist maximal und ∀k, 0≤k<m : sk ∈ X1 .
(6.4)
oder
Falls i = 0 die Bedingung (6.3) erf¨ ullt, gilt s0 ∈ X2 , d.h. s ∈ X2 und damit auch s ∈ X2 ∪ (X1 ∩ AX(X)). Falls die Bedingung (6.3) f¨ ur i>0 oder die Bedingung (6.4) erf¨ ullt ist, gilt s0 =s ∈ X1 , und f¨ ur den maximalen 1 2 1 1 Pfad s s . . . gilt s ∈X1 AUX2 , d.h. s ∈X. Also s ∈ X1 ∩ AX(X) nach Definition von AX und damit wieder s ∈ X2 ∪ (X1 ∩ AX(X)). (⊇): Sei s ∈ X2 . Sei s0 s1 s2 . . . ein maximaler Pfad mit s = s0 . Dann gilt s ∈ X wegen (6.3) mit i = 0. Sei s ∈ X1 ∩ AX(X). Falls s0 = s schon ein maximaler Pfad ist, gilt s ∈ X laut (6.4) wegen s0 ∈ X1 . Andernfalls haben die maximalen Pfade s0 s1 s2 . . . von s aus mindestens die L¨ange 2. Sei s0 s1 s2 . . . ein solcher maximaler Pfad mit s = s0 . Wegen s0 ∈ AX(X) ist s1 ∈ X und damit ∃i≥1 : si ∈ X2 ∧ ∀k, 1≤k
(6.5)
l¨ost: Lemma 6.3.6 X1 AUX2 ist kleinster Fixpunkt Sei Y irgend eine Menge mit Y = X2 ∪ (X1 ∩ AX(Y )). Dann gilt X1 AUX2 ⊆ Y . Beweis: Wir nehmen an, dass s0 ∈ X1 AUX2 , aber s0 6∈ Y . Weil X1 AUX2 die Gleichung (6.5) l¨ost, gilt s0 ∈ X2 ∪ (X1 ∩ AX(X1 AUX2 )). Aber es gilt auch s0 6∈ X2 wegen s0 6∈ Y (hier wird Y ⊇ X2 benutzt). Also gilt s0 ∈ X1 ∩ AX(X1 AUX2 und folglich gilt s1 ∈ X1 AUX2 f¨ ur alle s1 mit s0 → s1 . Wenn alle s1 mit s0 → s1 in Y w¨aren (und das gilt insbesondere, wenn s0 keine Nachfolger hat), dann w¨are auch s0 ∈ Y , weil Y die Gleichung l¨ost (hier wird Y ⊇ (X1 ∩ AX(Y )) benutzt). Also gibt es ein s1 mit s0 → s1 und s1 6∈ Y . Das Argument kann jetzt wiederholt werden und liefert einen Zustand s2 mit s1 → s2 und s2 6∈ Y , aber s2 ∈ X1 AUX2 . Insgesamt gibt es einen ω-Pfad s0 → s1 → . . ., wobei f¨ ur jedes sj gilt: sj ∈ X1 und sj 6∈ Y (insbesondere j s 6∈ X2 ). Dieser Pfad hat kein Element in X2 , und daher gilt nicht s0 ∈ X1 AUX2 , Widerspruch. Also war die urspr¨ ungliche Annahme falsch und es gibt keinen Zustand s0 mit s0 ∈ (X1 AUX2 ) \ Y . D.h., es gilt X1 UX2 ⊆ Y , was zu zeigen war.
6.3.6
Wir betten die beiden letzten Ergebnisse in die zuvor (Abschnitt 6.3.1) skizzierte Fixpunkttheorie ein. AU Es seien X1 , X2 ⊆ S. Wir definieren eine Funktion fX : 2S → 2S durch 1 ,X2 AU (X) fX 1 ,X2
=
X2 ∪ (X1 ∩ AX(X)).
Automatentheorie und Logik - Wintersemester 2004/05
115
AU Da die drei Operatoren ∪, ∩ und AX, aus denen fX aufgebaut ist, in allen ihren Argumenten monoton 1 ,X2 AU ¨ sind (Ubungsaufgabe), ist auch fX1 ,X2 monoton. Nach Abschnitt 6.3.1 hat diese Funktion einen eindeutig bestimmten kleinsten Fixpunkt. Auf Grund der Lemmata 6.3.10 und 6.3.11 handelt es sich bei X 1 AUX2 gerade um diesen Fixpunkt, d.h.: AU . X1 AUX2 ist der kleinste Fixpunkt von fX 1 ,X2
(6.6)
AU Wir fragen nun umgekehrt nach der Bedeutung (falls es eine gibt) des gr¨ oßten Fixpunkts νfX der 1 ,X2 AU Funktion fX1 ,X2 , der ja nach der allgemeinen Theorie ebenfalls existiert und eindeutig ist. Dazu betrachten wir die Menge
X1 AUK X2
=
{s ∈ S |
∀ ω-Pfade s0 s1 s2 . . . mit s = s0 : [∃i ≥ 0 : si ∈ X2 ∧ ∀0≤k
}. D.h.: in X1 AUK X2 sind gegen¨ uber X1 AUK X2 auch ω-Pfade zugelassen, die stets X1 erf¨ ullen, ohne je zu X2 zu kommen. Weil bei AUK nicht gefordert wird, dass X2 auf ω-Pfaden auf jeden Fall erreicht wird, heißt es auch schwaches Until“ (im Gegensatz zum starken Until“ AUK ). Wieder schreiben wir AU statt ” ” AUK , da K fest vorgegeben ist.
s0
s1
Abbildung 6.3: Zum Unterschied zwischen AU und AU. Die Abbildung 6.3 illustriert den Unterschied zwischen AU und AU. Mit X1 = {s0 } und X2 = {s1 } sind X1 AUX2 = {s1 } und X1 AUX2 = {s0 , s1 }. Die Abbildung 6.4 zeigt, dass die beiden Mengen X1 AUX2 und X1 AUX2 auch gleich sein k¨onnen. Mit X1 = {s0 } und X2 = {s1 } sind X1 UX2 = {s0 , s1 } und X1 UX2 = {s0 , s1 }.
s0
s1
Abbildung 6.4: Ein Beispiel, in dem AU und AU zusammenfallen.
AU (ohne Beweis) Lemma 6.3.7 X1 AUX2 ist der gr¨ oßte Fixpunkt von fX 1 ,X2 AU Es gilt X1 AUX2 = νfX . 1 ,X2
6.3.7
Der EU-Operator erf¨ ullt eine analoge Fixpunktbeziehung: Lemma 6.3.8 (Ohne Beweis) EU EU(X1 , X2 ) ist der kleinste Fixpunkt von fX (X) = X2 ∪ (X1 ∩ EX(X)). 1 ,X2
6.3.8
Die Beziehung (6.6) und Lemma 6.3.8 zeigen eine Symmetrie zwischen EU und AU, die in der fixpunktlosen Definition von Beispiel 6.2.3 nicht so deutlich war. Wir betrachten zuletzt den Operator AU0 , der wie AU definiert ist, außer dass die Klausel (∗) von Beispiel 6.2.3 wegf¨allt. F¨ ur ihn gilt:
116
Vorlesungsskript von E. Best / Stand: 19. September 2005
Lemma 6.3.9 (Ohne Beweis) AU0 AU0 (X1 , X2 ) ist der kleinste Fixpunkt von fX (X) = X2 ∪ (X1 ∩ AX(X) ∩ EX(X)). 1 ,X2
6.3.9
In Kripke-Strukturen, in denen jeder Zustand mindestens einen Folgezustand hat (in denen die Relation → also rechtstotal ist), gilt ∀X ⊆ S : AX(X) ⊆ EX(X) und damit geht – wie wir auf direktere Weise bereits sahen – AU0 (X1 , X2 ) in AU(X1 , X2 ) u ¨ber.
6.3.3
Fixpunkteigenschaften von LTL-Operatoren
Wir betrachten nun die Operatoren K und UK aus LTL (Beispiel 6.2.4) mit festem α ∈ ({0, 1}n )ω und zugeh¨origem K = Kα = (S, →, Φ). Wir reformulieren die Fixpunktbeziehung (5.2) mengentheoretisch. bzw. U. Wieder schreiben wir K und UK einfach als Lemma 6.3.10 Fixpunktgleichung f¨ ur U in LTL Seien X1 , X2 ⊆ S und X = X1 UX2 . Dann gilt X = X2 ∪ (X1 ∩ Dabei ist X1 UX2 Beweis: l∈X ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ ⇔
(X)).
eine Infixschreibweise f¨ ur U(X1 , X2 ). l ∈ X1 UX2 ∃j ≥ l : j ∈ X2 ∧ ∀k, l ≤ k < j : k ∈ X1 (l ∈ X2 ) ∨ (∃j ≥ l+1 : j ∈ X2 ∧ ∀k, l ≤ k < j : k ∈ X1 ) (l ∈ X2 ) ∨ (∃j ≥ l+1 : j ∈ X2 ∧ l ∈ X1 ∧ ∀k, l+1 ≤ k < j : k ∈ X1 ) (l ∈ X2 ) ∨ (l ∈ X1 ∧ ∃j ≥ l+1 : j ∈ X2 ∧ ∀k, l+1 ≤ k < j : k ∈ X1 ) (l ∈ X2 ) ∨ (l ∈ X1 ∧ (l+1) ∈ X1 UX2 ) l ∈ X2 ∪ (X1 ∩ (X1 UX2 ))
(X = X1 UX2 ) (Definition von U) (j=l ∨ j>l) (Aufspalten von ∀) (Herausziehen) (Definition von U) (Definition von ) 6.3.10 Diesem Beweis sind wir eigentlich schon gelegentlich Lemma 5.1.6 begegnet. Er ¨ahnelt außerdem sehr dem Beweis von Lemma 6.3.5. Wir zeigen weiter, dass X1 UX2 eine bez¨ uglich ⊆ minimale Menge X ist, die X = X2 ∪ (X1 ∩ (X)) l¨ost. Der Beweis ist ganz analog zum Beweis von Lemma 6.3.6.
Lemma 6.3.11 X1 UX2 ist kleinster Fixpunkt Sei Y irgend eine Menge mit Y = X2 ∪ (X1 ∩ (Y )). Dann gilt X1 UX2 ⊆ Y . Beweis: Wir nehmen an, dass l ∈ X1 UX2 , aber l 6∈ Y . Weil X1 UX2 die Gleichung X = X2 ∪ (X1 ∩ (X)) l¨ost, gilt l ∈ X2 ∪ (X1 ∩ (X1 UX2 )). Aber es gilt auch l 6∈ X2 wegen l 6∈ Y (hier wird Y ⊇ X2 benutzt). Also gilt l ∈ X1 und l+1 ∈ X1 UX2 . W¨are l+1 ∈ Y , dann w¨are l ∈ (Y ), also auch l ∈ Y wegen Y ⊇ X1 ∩ (Y ). Also gilt l+1 6∈ Y . Das Argument kann jetzt wiederholt werden und liefert l+2 6∈ Y , l+3 6∈ Y usw. Also gibt es kein j ≥ l mit j ∈ X2 , im Widerspruch zur Annahme l ∈ X1 UX2 . Die urspr¨ ungliche Annahme war also falsch und es gibt keinen Zustand l mit l ∈ (X 1 UX2 ) \ Y . D.h., es gilt X1 UX2 ⊆ Y , was zu zeigen war. 6.3.11 S S U Mit anderen Worten: Mit einer Funktion fX1 ,X2 : 2 → 2 , die durch U fX (X) 1 ,X2
=
X2 ∪ (X1 ∩
(X))
U definiert ist, ist X1 UX2 gerade der kleinste Fixpunkt von fX . 1 ,X2 ¨ Ubungsaufgabe: Man f¨ uhre eine analoge Analyse f¨ ur die Fixpunktgleichung (5.4) in Abschnitt 5.1.2 durch. Handelt es sich dabei um den kleinsten, den gr¨oßten oder um einen anderen Fixpunkt?
Automatentheorie und Logik - Wintersemester 2004/05
6.4
117
Der µ-Kalku ¨l ... worin Fixpunkte eine Hauptrolle spielen ...
Da also offenbar sowohl CTL-Formeln als auch LTL-Formeln mit Hilfe von Fixpunkten ausgedr¨ uckt werden k¨onnen, liegt es nahe, solche Fixpunkte gleich mit in die Logik“ zu nehmen. Man muss dann aber nur“ ” ” aufpassen, dass die Fixpunkte in der zugeh¨origen Semantik auch wohldefiniert sind, und das heißt, dass die entsprechenden Funktionen monoton bez¨ uglich ⊆ sind. Der einzige Operator, der bislang (von allen Operatoren des Abschnitts 6.2) zu nicht-monotonen Funktionen f¨ uhrt, ist die Negation; denn es gilt: X⊆Y
⇒
S \ X ⊇ S \ Y.
Man sagt dazu auch: die Negation, oder die Komplementierung, sei antimonoton, oder auch: antiton. Allerdings ist die Doppelnegation schon wieder unkritisch, denn es gilt ja X⊆Y
⇒
S \ (S \ X) ⊆ S \ (S \ Y ).
Dreifach geschachtelte Negationen sind dagegen wieder kritisch. Deswegen gibt es im µ-Kalk¨ ul, den wir jetzt definieren wollen, diese Unterscheidung: ob eine atomare Formel innerhalb einer geraden oder einer ungeraden Anzahl von Negationen geschachtelt ist. Wegen der Bedeutung von Teilmengen X, Y, . . . ⊆ S ist es jetzt g¨ unstig, anstelle der bisher verwendeten uhren, und auch Aussagenvariablen p1 , . . . , pn Teilmengenvariablen“ X1 , . . . , Xn einzuf¨ ” anstelle der bisherigen Belegung“ ” eine Valuierung“ ”
Φ : S → 2{p1 ,...,pn } Ψ : {X1 , . . . , Xn } → 2S .
Die (in beiden Richtungen eindeutige) Korrespondenz ist folgendermaßen: • Gegeben {p1 , . . . , pn } und Φ, definiere {X1 , . . . , Xn } und Ψ mit Ψ(Xi ) = {s | pi ∈ Φ(s)}. • Gegeben {X1 , . . . , Xn } und Ψ, definiere {p1 , . . . , pn } und Φ mit Φ(s) = {pi | s ∈ Ψ(Xi )}. Es k¨onnen p1 , . . . , pn und Belegungen“ sowie X1 , . . . , Xn und Valuierungen“ also ganz a¨quivalent benutzt ” ” werden. In Abbildung 6.5 findet sich ein Beispiel: X1 (und allgemein Xi ) gibt gerade den G¨ ultigkeitsbereich von p1 (bzw. pi ) an.
K = ({s0 , s1 }, →, Φ) :
K = ({s0 , s1 }, →, Ψ) :
¬p1
p1
s0
s1
X1
X1
s0
s1
Φ(s0 ) = ∅ und Φ(s1 ) = {s1 }.
Ψ(X1 ) = {s1 }.
Abbildung 6.5: Umrechnung von Φ nach Ψ.
118
Vorlesungsskript von E. Best / Stand: 19. September 2005
6.4.1
Syntax des pr¨ apositionalen modalen µ-Kalku ¨ ls
Sei A ein Alphabet und sei {X1 , . . . , Xn } eine Menge von Mengenvariablen. – Die atomaren Formeln des µ-Kalk¨ uls: – true (eine Konstante, Arit¨at 0); – X1 , . . . , Xn (n Konstanten, Arit¨at 0). – Die Operatoren des µ-Kalk¨ uls: – ¬. und . ∧ . (aussagenlogisch, Arit¨at 1 bzw. 2); – hai. (Arit¨at 1, wie bei Hennessy-Milner-Logik); – νXn+1 . (Mengenvariable Xn+1 , Arit¨at 1). Dabei ist νXn+1 ψ eine Formel u ¨ber n Mengenvariablen X1 , . . . , Xn , sofern ψ eine Formel u ¨ber n+1 Mengenvariablen X1 , . . . , Xn , Xn+1 ist. F¨ ur diese Art von Formeln gelten die im folgenden aufgef¨ uhrten Einschr¨ankungen. Um die syntaktischen Einschr¨ankungen von νXn+1 . zu formulieren, ben¨otigen wir zu einer Formel ϕ drei Mengen von Variablen, die induktiv parallel mit ϕ definiert werden und die folgende intuitive Bedeutung haben: FV + (ϕ) :
Freie Variablen in ϕ, in denen ϕ syntaktisch monoton ist;
−
FV (ϕ) : Freie Variablen in ϕ, in denen ϕ syntaktisch antiton ist; BV (ϕ) : Gebundene Variablen von ϕ. Die induktive Definition ist in der folgenden Tabelle gegeben: ϕ = true :
FV + (ϕ) = FV − (ϕ) = BV (ϕ) = ∅.
ϕ = Xi :
FV + (ϕ) = {Xi }, FV − (ϕ) = BV (ϕ) = ∅.
ϕ = ¬ψ :
FV + (ϕ) = FV − (ψ), FV − (ϕ) = FV + (ψ), BV (ϕ) = BV (ψ)
ϕ = ψ1 ∧ ψ2 :
FV + (ϕ) = FV + (ψ1 ) ∪ FV + (ψ2 ), ditto f¨ ur FV − und BV .
ϕ = haiψ :
FV + (ϕ) = FV + (ψ), ditto f¨ ur FV − und BV .
ϕ = νXn+1 ψ :
Hier muss per definitionem gelten, dass Xn+1 ∈ / FV − (ψ), sonst ist ϕ keine syntaktisch zugelassene Formel; und dann: FV + (ϕ) = FV + (ψ) \ {Xn+1 }, FV − (ϕ) = FV − (ψ), BV (ϕ) = BV (ψ) ∪ {Xn+1 }.
In der Zeile mit ϕ = ¬ψ kommt die gerade/ungerade-Unterscheidung zum Tragen. Der entscheidende Grund f¨ ur die Einf¨ uhrung dieser drei Mengen ist die Bedingung Xn+1 ∈ / FV − (ψ) bei ν-Formeln. So sind z.B. Formeln wie νX(¬X) syntaktisch ausgeschlossen, Formeln wie νX(X ∧ ¬(Y ∨ ¬X)) aber erlaubt. F¨ ur ¨ Rekursionsvariablen schreiben wir der Ubersichtlichkeit halber oft einfach X oder Y – ohne Index – anstelle von Xn+1 oder Yn+1 . Alle Formeln, die der Syntax gen¨ ugen, erf¨ ullen die anfangs geforderte Monotonieeigenschaft, so dass Funktionen, die davon abgeleitet werden, tats¨achlich monoton sind. Es gibt dar¨ uber hinaus Formeln, die zwar nicht syntaktisch monoton sind, aber trotzdem zu monotonen Funktionen f¨ uhren. Ein Beispiel ist die Formel ϕ(X) = (true ∨ ¬X), in der ein st¨orender Term ¬X durch einen Term true dominiert“ wird. Syntaktische ” Monotonie ist nur ein hinreichendes, nicht ein notwendiges Kriterium f¨ ur Wohldefiniertheit. Der pr¨apositionale µ-Kalk¨ ul ist der pr¨apositionale modale µ-Kalk¨ ul ohne die hai.-Modalit¨aten (und so auch ohne A). Der modale µ-Kalk¨ ul ist der pr¨apositionale modale µ-Kalk¨ ul ohne die Konstanten X1 , . . . , Xn (und so auch nur mit gebundenen Variablen X).
Automatentheorie und Logik - Wintersemester 2004/05
119
• Der pr¨apositionale µ-Kalk¨ ul wird u ¨ber Kripke-Strukturen interpretiert (eigentlich u ¨ber (S, →, Ψ) statt (S, →, Φ), aber Ψ und Φ sind, wie oben gesehen, ineinander u uhrbar). ¨berf¨ • Der modale µ-Kalk¨ ul wird u ¨ber mit A beschrifteten Transitionssystemen interpretiert. • Der pr¨apositionale modale µ-Kalk¨ ul wird u ¨ber mit A beschrifteten Kripke-Strukturen (S, A, →, Ψ) interpretiert. Wir geben seine Semantik, da dieser Kalk¨ ul von den betrachteten das allgemeinste ist.
6.4.2
Semantik des pr¨ apositionalen modalen µ-Kalku ¨ ls
Sei K = (S, A, →, Ψ) mit Ψ : {X1 , . . . , Xn } → 2S , sei s ∈ S, und sei ϕ eine Formel des pr¨apositionalen modalen µ-Kalk¨ uls. Wir definieren K, s |= ϕ
gdw.
wobei die Menge ϕ true Ψ Xi Ψ ¬ψ Ψ ψ1 ∧ ψ 2 Ψ haiψ Ψ νXn+1 ψ Ψ
Ψ
s∈ ϕ
Ψ,
⊆ S induktiv u ¨ber den Aufbau von ϕ definiert ist:
= S (d.h., die Menge aller Zust¨ande) = Ψ(Xi ) = S \ ( ϕ Ψ) = ( ψ1 Ψ ) ∩ ( ψ2 Ψ ) = {s ∈ S | ∃(s, a, s0 ) ∈→ : s0 ∈ ψ Ψ } (siehe Hennessy-Milner) S = { Z ⊆ S | Z ⊆ ψ Ψ[Xn+1 ←Z] },
wobei Ψ[Xn+1 ← Z] eine Funktion von {X1 , . . . , Xn , Xn+1 } nach 2S mit folgender Definition ist: ( Z, falls Y = Xn+1 , Ψ[Xn+1 ← Z](Y ) = Ψ(Y ), falls Y ∈ {X1 , . . . , Xn }, d.h.: Ψ[Xn+1 ← Z] stimmt mit Ψ u ¨berein, außer an der Stelle Xn+1 . Die ersten vier Zeilen dieser Definition sind bereits bekannte Formeln in wieder etwas anderem Gewand. Die vorletzte Zeile ist aus der Hennessy-Milner-Logik bekannt und macht den modalen Anteil“ des µ-Kalk¨ uls ” aus. Die Formel in der letzten Zeile ist zu vergleichen mit der Formel (6.2) f¨ ur νf . Sie entspricht genau der Formel f¨ ur einen gr¨ oßten Fixpunkt. Dabei spielt f (Z) = ψ
Ψ[Xn+1 ←Z]
die Rolle der Funktion, deren Fixpunkt berechnet wird (und die deswegen monoton zu sein hat). Die soeben beschriebene Syntax und Semantik des pr¨apositionalen modalen µ-Kalk¨ uls sind, wie u ¨blich, eine Art Minimalausgabe. Es k¨onnen weitere Operatoren daraus abgeleitet werden, insbesondere ein Operator f¨ ur den kleinsten Fixpunkt: µXψ = ¬ νX( ¬ ψ[X ← ¬X] ), wobei ψ[X ← χ] die syntaktische Ersetzung aller freien X in ψ durch χ bedeutet. Z.B.: µX(X ∨ ¬ (Y ∧ ¬X)) = ¬ νX(¬(¬X ∨ ¬ (Y ∧ ¬(¬X)))) . Man k¨onnte die Semantik dieses Operators auch ohne Umweg u ¨ber ν so definieren: \ { Z ⊆ S | Z ⊇ ψ Ψ[X←Z] }. µXψ Ψ = Wir verwenden einige Abk¨ urzungen. F¨ ur B={b1 , . . . , bn } ⊆ A seien [B] ϕ = [−B] ϕ = [−] ϕ = hBi, h−Bi,
[b1 ] ϕ ∧ . . . ∧ [bn ] ϕ, [A\B] ϕ, [A] ϕ, h−i analog.
(6.7)
120
Vorlesungsskript von E. Best / Stand: 19. September 2005
6.4.3
Einige Beispiele
µ-Kalk¨ ul-Formeln sind (intuitiv) oft schwer zu verstehen. Was bedeutet zum Beispiel die folgende Formel: νXµY
( h−itrue ∧ [−a]Y ∧ [b]false ∧ [a]νX 0 µY 0 ( h−itrue ∧ [−b]Y 0 ∧ [a]false ∧ [b]X ) )
? Wir rechnen zuerst noch einige einfachere Beispiele. Beispiel 1. ϕ1 = µX(X1 ∨ ([−]X ∧ h−itrue)). Intuitiv gilt ϕ1 im Zustand s, wenn • entweder dieser Zustand, • oder: jeder Folgezustand (und es gibt mindestens einen), • oder: jeder Folgezustand (und es gibt mindestens einen), • usw. (aber nur endlich oft) • in Ψ(X1 ) liegt. Diese Formel bedeutet also eventually X1“. Als Beispiel betrachten wir die Struktur in Abbildung 6.6. ” X1 X1 a mit Ψ(X1 ) = {s1 }. K = ({s0 , s1 }, →, Ψ) : s0 s1 Abbildung 6.6: Eine Beispielstruktur zu ϕ1 . Wir nehmen der Einfachheit halber (d.h., weil das Beispiel ohne diese Annahme nur unn¨otig verkompliziert werden w¨ urde) A = {a} an. Um ϕ1 Ψ formal auszurechnen, wenden wir zun¨achst die Formel (6.7) f¨ ur den µ-Operators direkt an. Wir suchen also die rechte Seite der Gleichung \ ϕ1 Ψ = {Z | Z ⊇ f (Z)} mit der Funktion f : 2S → 2S , die folgendermaßen definiert ist: f (Z) = {s1 } ∪ ([a]K (Z) ∩ haiK (S)). Denn diese Funktion entspricht genau X1 ∨ ([−]X ∧ h−itrue) der Annahme A = {a}:1 X1 ∨ ([−]X ∧ h−itrue)
Ψ[X←Z]
= =
Ψ[X←Z]
unter der Valuierung Ψ und unter
X1 ∪ [a]X ∧ haitrue Ψ[X←Z] {s1 } ∪ ([a]K (Z) ∩ haiK (S)).
Wir gehen die vier m¨oglichen Mengen Z durch und pr¨ ufen, ob sie zu der Menge geh¨oren, u ¨ber die der Durchschnitt gebildet wird: • Z = {s0 , s1 }. Dann Z ⊇ f (Z), schon da Z die Gesamtmenge aller Zust¨ande ist. • Z = {s0 }. Dann f (Z) = {s1 }, und es gilt {s0 } ∈ / {Z | Z ⊇ f (Z)}. 1 G¨ abe
es mehr Elemente in A, m¨ ussten auf der rechten Seite noch ein paar Terme hinzukommen.
Automatentheorie und Logik - Wintersemester 2004/05
121
• Z = {s1 }. Dann f (Z) = {s0 , s1 }, und es gilt wiederum {s1 } ∈ / {Z | Z ⊇ f (Z)}. • Z = ∅. Dann f (Z) = {s1 }, und es gilt ebenfalls ∅ ∈ / {Z | Z ⊇ f (Z)}. Damit ist der Fixpunkt {s0 , s1 }, d.h.: es gilt sowohl K, s0 |= ϕ1 als auch K, s1 |= ϕ1 . Unter Benutzung von Lemmata 6.3.2 und 6.3.3 h¨atte dieser Fixpunkt auch noch einfacher ausgerechnet werden k¨onnen. Denn das erste der beiden Lemmata zieht nach sich, dass f nicht nur monoton, sondern auch stetig ist, und das zweite besagt, dass der Fixpunkt von f durch Herauf-Iterieren von ∅ aus“ errechnet ” werden kann. Dazu bilden wir eine Kette von Zustandsmengen: Z0 Z1 Z2
= = =
∅ f (Z0 ) = {s1 } f (Z1 ) = {s0 , s1 },
und da hier schon die Gesamtmenge erreicht wird, muss diese Folge hier station¨ar werden. Damit ist best¨atigt, dass ϕ1
Ψ
= {s0 , s1 }
gilt. Dass die Formel wirklich eventually“ (und nicht possibly“) bedeutet, wird durch das leicht abgewandelte ” ” Beispiel in Abbildung 6.7 gezeigt.
K 0 = ({s0 , s1 }, →, Ψ) :
X1
X1
s0
s1
mit Ψ(X1 ) = {s1 }.
Abbildung 6.7: Noch eine Beispielstruktur zu ϕ1 . Hier gilt, wie man durch eine Rechnung analog der obigen verifizieren kann, ϕ1
Ψ
= {s1 }.
Der intuitive Grund daf¨ ur ist, dass es f¨ ur den Zustand s0 nicht garantiert ist, dass X1 jemals erreicht wird (wegen des ω-Pfades s0 s0 s0 . . .). Es gilt also K 0 , s0 6|= ϕ1 und K 0 , s1 |= ϕ1 , im Unterschied zu oben. Beispiel 2. Die Formel ϕ2 = νX(X1 ∧ [−]X) bedeutet intuitiv: • der jetzige Zustand, • und jeder Folgezustand, • und jeder Folgezustand, • etc. • liegt in X1 , insgesamt also always X1“. ” Warum wird in ϕ2 der Operator ν f¨ ur den gr¨oßten Fixpunkt anstelle von µ benutzt? Wir betrachten dazu die Variante ϕ02 = µX(X1 ∧ [−]X)
122
Vorlesungsskript von E. Best / Stand: 19. September 2005
und eine Kripke-Struktur K, in der jeder Zustand in X1 liegt und auch mindestens einen Nachfolgezustand uhrlicher: hat, z.B. die aus Abbildung 6.8. Dann gilt f¨ ur alle s: K, s |= ϕ2 , aber K, s 6|= ϕ02 , und ausf¨ ϕ2 = {s0 , s1 } und ϕ02 = ∅. Hier ist die Rechnung f¨ ur ϕ02 : T ϕ02 = {Z | Z ⊇ ψ Ψ[X←Z] } | {z } f (Z)
mit
Iteration von ∅:
= X1 ∩ [a]K (Z) = {s0 , s1 } ∩ [a]K (Z). ∅, f (∅) = {s0 , s1 } ∩ [a]K (∅) = ∅, Fixpunkt erreicht. ψ
Der gr¨oßte Fixpunkt toleriert (informell gesprochen) also auch unendliche Pfade, w¨ahrend der kleinste Fixpunkt Terminierung fordert. Genauer gesagt: die G¨ ultigkeit einer µ-Formel h¨angt von etwas ab, das auf allen endlichen Pfaden stattfindet (oder nicht), selbst wenn die L¨ange solcher Pfade keine obere Schranke besitzt, wie in Abbildung 6.9. Dort gilt ϕ02 u ¨berall, im Gegensatz zu Abbildung 6.8. X1
X1
s0
s1
Abbildung 6.8: Eine Beispielstruktur zu ϕ2 . X1
X1 X1
X1
X1 X1
X1 X1
X1 X1
X1
... Abbildung 6.9: Noch eine Beispielstruktur zu ϕ2 . Beispiel 3. Die letzte Bemerkung wird besonders durch die Formel ϕ3 = µX([−]X) verdeutlicht, die eventual termination“ bedeutet. Z.B. gilt in der Struktur aus Abbildung 6.10: ” K, s0 6|= ϕ3 , K, s1 6|= ϕ3 , K, s2 |= ϕ3 , K, s3 |= ϕ3 . Wir pr¨ ufen dies nach: ϕ3 mit Iteration von ∅:
[−]X
=
T
{Z | Z ⊇ [−]X Ψ[X←Z] } {z } | f (Z)
= ([a]K (X))Ψ[X←Z] = [a]K (Z). ∅, f (∅) = {s3 }, f ({s3 }) = {s2 , s3 }, f ({s2 , s3 }) = ({s2 , s3 }), Fixpunkt erreicht. Ψ[X←Z]
Eine ¨ahnliche Unterscheidung hatten wir bereits beim starken und schwachen Until festgestellt: das erste entspricht dem kleinsten, das zweite dem gr¨oßten Fixpunkt.
Automatentheorie und Logik - Wintersemester 2004/05
s0
s1
123
s2
s3
Abbildung 6.10: Eine Beispielstruktur zu ϕ3 . Beispiele 4 und 5. Hier sind zwei Beispiele mit dem Operator [a]ψ bzw. dem Operator haiψ: ϕ4 = νX(ψ ∧ [a]X) : auf allen a-Pfaden vom jetzigen Zustand aus gilt stets ψ“. ” ϕ5 = µX(ψ ∨ haiX) : es gibt einen a-Pfad vom jetzigen Zustand aus mit, irgendwann einmal, ψ“. ” Einbettung von CTL in den µ-Kalk¨ ul. Wir ordnen nun jeder CTL-Formel ϕ eine µ-Kalk¨ ul-Formel ϕ0 mit gleicher Bedeutung zu: CTL-Formel ϕ true pi ¬ϕ ϕ1 ∧ ϕ 2 EXϕ AXϕ E(ϕ1 Uϕ2 ) A(ϕ1 Uϕ2 )
µ-Kalk¨ ul-Formel ϕ0 true Xi ¬ ϕ0 ϕ01 ∧ ϕ02 h−iϕ0 [−]ϕ0 µX(ϕ02 ∨ (ϕ01 ∧ h−iX)) µX(ϕ02 ∨ (ϕ01 ∧ [−]X)).
In der vorletzten und letzten Zeile wird beide Male der kleinste Fixpunkt gefordert. W¨ urde in diesen Zeilen das µ durch ein ν ersetzt, h¨atte man das schwache Until U statt U definiert. (Siehe auch Lemmata 6.3.6 und 6.3.8.) Techniken f¨ ur geschachtelte Fixpunkte. Es folgen jetzt Beispiele mit geschachtelten µ / ν-Operatoren (der eigentlichen Ausdrucksm¨achtigkeit des µ-Kalk¨ uls). Um komplexere Formeln zu verstehen, kann man zwei verschiedene Techniken verwenden: • Auffaltung: Hier benutzt man die Fixpunkteigenschaft der Operatoren µ und ν in folgender Weise:
bzw.
µX.BODY
=
BODY [X ← µX.BODY ]
νX.BODY
=
BODY [X ← νX.BODY ].
(6.8)
Die rechten Seiten dieser Gleichungen entsprechen einer einmaligen Anwendung der Funktion auf den Fixpunkt, was wieder den Fixpunkt ergibt (deshalb die Gleichheit mit den linken Seiten der Gleichungen). Wichtig ist, dass beim kleinsten Fixpunkt die Auffaltung (6.8) nur endlich oft geschehen darf, w¨ahrend sie beim gr¨oßten Fixpunkt durchaus (imagin¨ar) unendlich oft geschehen kann. • Iteration: Hier iteriert man einen (geschachtelten) Fixpunktoperator entweder nach Lemma 6.3.3 oder nach Lemma 6.3.4. Der Iterationsbeginn ist: Beim kleinsten Fixpunkt:
∅.
Beim gr¨oßten Fixpunkt:
S (die Gesamtmenge der Zust¨ande).
(6.9)
∅ bzw. S sind die gr¨obstm¨oglichen Approximationen an den kleinsten bzw. den gr¨oßten Fixpunkt. Durch sukzessive Iteration gewinnt man eine – in der Regel unendliche – Menge von Formeln. Jede dieser Formeln hat einen Fixpunktoperator weniger und ist dadurch leichter zu verstehen. Die Approximationen k¨onnen zum Verst¨andnis der Ausgangsformel beitragen, selbst wenn die Funktion nicht stetig bzw. co-stetig ist und der Fixpunkt durch Iterieren nicht erreicht wird.
124
Vorlesungsskript von E. Best / Stand: 19. September 2005
Beispiel 6. Beide Techniken werden am Beispiel ϕ6 = νY µZ ((X1 ∨ [−]Z) ∧ [−]Y ∧ h−itrue) | {z } ϕ06
verdeutlicht. Hier h¨angt die innere Rekursion µZ (auch) von der ¨außeren Rekursionsvariablen Y ab. Es gilt K, s |= ϕ6
⇔
Entfaltung (6.8) des ¨außeren Fixpunkts K, s |= µZ.ϕ06 [Y ← ϕ6 ]
⇔
Entfaltung (6.8) des inneren Fixpunkts K, s |= (X1 ∨ [−]µZ.ϕ06 [Y ← ϕ6 ]) ∧ [−]ϕ6 ∧ h−itrue.
Hier sieht man zun¨achst, dass alle Nachfolgezust¨ande von s auch ϕ6 erf¨ ullen und dass damit die gleiche Analyse wie f¨ ur s auch auf alle seine Nachfolger anwendbar ist. Weiter sieht man, dass entweder X 1 in schon s gilt oder die Folgezust¨ande von s die Eigenschaft µZ.ϕ06 [Y ← ϕ6 ] haben. Im letzten Fall entfalten wir den kleinsten Fixpunkt und finden heraus, dass das gleiche Argument f¨ ur die Nachfolger gilt. Weil es aber der kleinste Fixpunkt ist, d¨ urfen wir das nicht unendlich oft tun, so dass irgendwann einmal der Zweig mit X 1 zum Tragen kommt. Also besagt ϕ6 : Irgendwann einmal geschieht X1 und wenn X1 geschieht, dann gilt ϕ6 wieder in den Nachfolgezust¨anden, insgesamt also: X geschieht unendlich oft“. ” 1 Jetzt betrachten wir die Approximationen (6.9) von ϕ6 . ϕ06
=
S [−]ϕ06
ϕ16
=
µZ.((X1 ∨ [−]Z) ∧
ϕ26
=
µZ.((X1 ∨ [−]Z) ∧ [−]ϕ16 ∧ h−itrue) :
∧ h−itrue) :
alle Zust¨ande“ ” irgendwann X1“ ” irgendwann X1 , und bis (inklusive) X1 : ” Next(irgendwann X1 )“
... Also besagt ϕi6 , dass X1 mindestens i Male auf allen Pfaden vom aktuellen Zustand aus geschieht, und im Limit bedeutet das (wie oben, nur anders hergeleitet): X geschieht unendlich oft“. ” 1 Beispiel 7. Die Formel ϕ6 kann mit der Formel ϕ7 = νY (µZ(X1 ∨ ([−]Z ∧ htruei)) ∧ [−]Y ∧ h−itrue) verglichen werden, in der der innere Fixpunkt sich nicht bis zur a¨ußeren Rekursionsvariablen erstreckt. Diese Formel bedeutet stets irgendwann X1 ∧ h−itrue“. ” Zuf¨alligerweise ist dies fast auch schon die Eigenschaft, die durch ϕ6 ausgedr¨ uckt wird. Geht man von der universellen zur existenziellen Quantifizierung u ¨ber, muss das jedoch nicht so sein, wie die n¨achsten Beispiele ϕ08 und ϕ08 zeigen.
Automatentheorie und Logik - Wintersemester 2004/05
125
Beispiele 8, 80 und 800 . ϕ8
=
νXµY (h−biY ∨ hbiX) : es gibt einen ω-Pfad, auf dem unendlich oft b vorkommt“ ”
¨ Ahnlich: ϕ08 = νXµY ((X1 ∨ h−iY ) ∧ h−iX) : es gibt einen ω-Pfad, auf dem unendlich oft Zust¨ande in Ψ(X1 ) vorkommen“ ” Dagegen: ϕ008 = νX((µY (X1 ∨ h−iY )) ∧ h−iX) : es gibt einen ω-Pfad, von dem aus Ψ(X1 )-Zust¨ande stets erreicht werden k¨onnen“. ” In Abbildung 6.11 findet sich eine Kripke-Struktur, die den Unterschied zwischen ϕ 08 und ϕ008 verdeutlicht: |6 = 6|= 6|=
K, s0 K, s1 K, s2
ϕ08 , ϕ08 , ϕ08 ,
aber und und
|= ϕ008 (wegen des Pfades s0 s0 s0 . . .) 6|= ϕ008 6|= ϕ008 . X1
X1
X1
s0
s1
s2
Abbildung 6.11: Eine Beispielstruktur zu ϕ08 und ϕ008 . Beispiele 9, 90 und 900 . Hier sind drei weitere Beispiele mit Modalit¨aten: ϕ9 = µX(h−itrue ∧ [−a]X) : a geschieht irgendwann“ ” ϕ09 = µX(([−a]false ∨ [−]X) ∧ h−itrue) : irgendwann muss a geschehen“ ” ϕ009 = µX(haitrue ∨ ([−]X ∧ h−itrue)) : irgendwann kann a geschehen“. ” Eine Kripke-Struktur, die den Unterschied zwischen diesen drei Formeln erl¨autert, findet sich in Abbildung 6.12: ϕ9 ϕ09 ϕ009
gilt bei gilt bei gilt bei
s 0 , s1 , s3 s3 (nur) s 0 , s1 , s2 , s3 , s4 .
Beispiel 10. Hier ist ein Beispiel f¨ ur eine Fairnesseigenschaft: ϕ10 = νXµY ([−{a, b}]Y ∧ [b]X ∧ h−itrue) : entweder a geschieht, oder b geschieht unendlich oft“. ” In Abbildung 6.13 gilt: K, s0 K, s1 K, s2
|= |= 6|=
ϕ10 ϕ10 ϕ10
Beispiel 11. Schließlich betrachten wir noch die zuerst angegebene Formel: νXµY
( h−itrue ∧ [−a]Y ∧ [b]false ∧ [a]νX 0 µY 0 ( h−itrue ∧ [−b]Y 0 ∧ [a]false ∧ [b]X ) ).
126
Vorlesungsskript von E. Best / Stand: 19. September 2005 a
b s0
s1
b b
s2
b s4
a
s6
a s3
s5
s7
Abbildung 6.12: Eine Beispielstruktur zu ϕ9 , ϕ09 und ϕ009 . b s0
c
a s1
s2
c
Abbildung 6.13: Eine Beispielstruktur zu ϕ10 . Diese bedeutet: auf allen Pfaden geschehen a und b abwechselnd, eventuell mit anderen Aktionen dazwi” schen“. Eine solche Eigenschaft l¨asst sich in LTL nicht ausdr¨ ucken.
6.4.4
Zwei Resultate
Ohne Beweis erw¨ahnen wir: Satz 6.4.1 Entscheidbarkeit des µ-Kalk¨ uls Der µ-Kalk¨ ul ist entscheibar.
6.4.1
Satz 6.4.2 Mads Dam CTL∗ ist in den µ-Kalk¨ ul einbettbar. Es gibt im µ-Kalk¨ ul nicht in CTL∗ ausdr¨ uckbare Formeln, z.B. νX(haiX ∧ hbiX).
6.4.2
Der µ-Kalk¨ ul ist also echt ausdrucksst¨arker als CTL∗ , und damit erst recht als CTL oder LTL. Allerdings sind die L¨angen von CTL∗ -Formeln und entsprechenden µ-Kalk¨ ul-Formeln unvergleichbar: Letztere k¨onnen sehr viel l¨anger sein.
6.5
Zusammenfassung
In diesem Kapitel haben wir gesehen, wie die Aktionen eines beschrifteten Transitionssystems in eine Logik eingebunden werden k¨onnen. Es werden einfach statt nur einer Modalit¨at so viele Modalit¨aten definiert, wie es Aktionen gibt. Dies vetr¨agt sich gut mit dem temporalen Aufbau des letzten Kapitels: aktionsbasierte Modalit¨aten und pr¨apositionale Variablen k¨onnen friedlich ko-existieren. In Abschnitt 6.1 haben wir zun¨achst eine sehr einfache Logik, die Hennessy-Milner-Logik, kennengelernt, die ganz auf die Beschreibung beschrifteter Transitionssysteme zugeschnitten ist. Danach haben wir alle bisherigen Logiken in einen Fixpunktrahmen gebracht und endlich auch die Fixpunkte zur¨ uck in die Logik. Der resultierende µ-Kalk¨ ul stellt sich als die m¨achtigste der Logiken heraus, die betrachtet wurden. Es gibt auch f¨ ur das µ-Kalk¨ ul Modelchecking-Algorithmen, die allerdings (erheblich) ineffizienter sind als die von uns explizit betrachteten – kein Wunder, wenn man seine Ausdrucksst¨arke bedenkt.