4 - Rechnerarchitektur

Werbung
Institut für Informatik, Albert-Ludwigs-Universität Freiburg
Georges-Köhler-Allee 051, 79110 Freiburg im Breisgau
Automatenbasierte
Entscheidungsverfahren
für Theorien der Logik erster Stufe
mit Addition
Jochen Eisinger
2009
Dissertation zur Erlangung des Doktorgrades
der Technischen Fakultät
der Albert-Ludwigs-Universität Freiburg im Breisgau
Dekan:
Prof. Dr. Hans Zappe
Erstreferent:
Prof. Dr. Bernd Becker
Zweitreferent:
Prof. Dr. Martin Fränzle
Datum der Promotion: 13. März 2009
Für Lisa.
Vorwort
Die vorliegende Arbeit entstand während meiner Zeit als Kollegiat des
DFG Graduiertenkollegs „Mathematische Logik und Anwendungen“ der
Albert-Ludwigs-Universität Freiburg.
Mein Dank gilt in erster Linie den wichtigsten Personen in meinem Leben,
meiner Familie. Euch ein herzliches Dankeschön für die geduldige und
bedingungslose Unterstützung meiner Arbeit.
Ich möchte mich bei Dr. Felix Klaedtke für seine konstante Unterstützung
und Hilfe bedanken. Ebenso möchte ich mich bei allen Kollegiaten des
Graduiertenkollegs und allen aktiven und ehemaligen Mitarbeitern der
Arbeitsgruppe Betriebssysteme und des Lehrstuhls für Rechnerarchitektur
bedanken. Besonders Prof. Dr. Bernd Becker, der mir die nötige Unterstützung und das nötige Vertrauen entgegenbrachte und mir die Freiräume
gewährte, die es mir ermöglicht haben, meine Ideen zu verfolgen.
Zudem möchte ich Moritz Müller, Gabi Röger, Dr. Tobias Schubert und
Dr. Stefan Wölfl danken, die durch aufmerksames Korrekturlesen und die
vielen damit verbundenen Hinweise zur besseren Lesbarkeit dieser Arbeit
beigetragen haben.
Freiburg im Breisgau, Februar 2009
Jochen Eisinger
v
vi
Inhaltsverzeichnis
1
Einleitung
1.1
1.2
1.3
1.4
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3.3
3.4
Wörter und Sprachen . . . . . . . . . . . . . . . . . .
Transitionssysteme und Automaten . . . . . . . . .
Logik erster Stufe . . . . . . . . . . . . . . . . . . . .
Darstellung von Mengen ganzer und reeller Zahlen
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 9
. 10
. 11
. 13
17
Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . .
Determinisierung durch Potenzmengenkonstruktion . .
3.2.1 Automaten für Sprachen aus WDBA . . . . . . . .
Gemischte ganzzahlige und reelle lineare Arithmetik . .
3.3.1 Endliche Darstellungen unendlicher Strukturen .
3.3.2 Eine ω-automatische Darstellung von M . . . . .
3.3.3 Definierbare Sprachen . . . . . . . . . . . . . . . .
3.3.4 Ein automatenbasiertes Entscheidungsverfahren .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Obere Schranken für das Entscheiden linearer Arithmetiken
4.1
4.2
4.3
4.4
Einleitung . . . . . . . . . . . . . . . . . .
Charakterisierung definierbarer Mengen
4.2.1 Ganzzahlige lineare Arithmetik .
4.2.2 Reelle lineare Arithmetik . . . . .
4.2.3 Gemischte lineare Arithmetik . . .
Ganzzahlige lineare Arithmetik . . . . . .
Gemischte lineare Arithmetik . . . . . . .
4.4.1 Verbindung zu Sprachen . . . . .
1
3
5
7
9
Ein automatenbasiertes Entscheidungsverfahren
3.1
3.2
4
.
.
.
.
Grundlagen
2.1
2.2
2.3
2.4
3
Einleitung . . . . . . .
Beiträge der Arbeit . .
Verwandte Arbeiten .
Gliederung der Arbeit
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
18
19
21
24
24
25
31
32
32
33
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
34
35
36
37
38
40
43
43
vii
Inhaltsverzeichnis
4.5
5
Don’t-Care-Sprachen
5.1
5.2
5.3
5.4
6
Einleitung . . . . . . . . . . . . . . . . . . . . . .
Optimierung der Automatendarstellung . . . . .
Automatenoperationen mit Don’t-Care-Mengen
5.3.1 Boolesche Operationen . . . . . . . . . .
5.3.2 Leerheitstest . . . . . . . . . . . . . . . . .
5.3.3 Minimieren von WDBAs . . . . . . . . .
5.3.4 Behandlung von Quantoren . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . .
49
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Implementierung
6.1
6.2
6.3
7
4.4.2 Obere Grenzen . . . . . . . . . . . . . . . . . . . . . . 46
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . 48
Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . .
Implementierungsdetails und Alleinstellungsmerkmale
Anwendungen und Benchmarks . . . . . . . . . . . . .
6.3.1 Experimentelle Evaluation . . . . . . . . . . . .
6.3.2 Vergleich zu anderen Ansätzen . . . . . . . . . .
Zusammenfassung
50
51
56
56
57
57
62
69
71
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
72
72
74
74
81
87
A Zusätzliche Beweise zu Kapitel 4
91
B Zusätzliche Beweise zu Kapitel 5
95
viii
Kapitel 1
Einleitung
1.1 Einleitung
Eingebettete Systeme, die mit diskreten und kontinuierlichen Komponenten interagieren, kommen in vielen sicherheitskritischen Bereichen vor:
Ganze Netzwerke solcher Systeme finden sich zum Beispiel in Autos, Flugzeugen und Zügen. Funktionieren diese Systeme nicht richtig oder fallen
sie aus, kann dies zu einer akuten Bedrohung von Menschenleben führen.
Das Verhalten solcher hybrider diskret-kontinuierlichen Systeme kann
aber nur dann vollständig erfasst werden, wenn die Interaktion zwischen
den diskreten und den kontinuierlichen Komponenten explizit berücksichtigt wird. Entsprechend existieren kommerzielle Anwendungen, um
solche hybriden Systeme zu modellieren und zu simulieren. Allerdings
reicht Simulation alleine nicht aus, um die korrekte Funktion eines solchen
Systems zu garantieren. Dazu sind Techniken der formalen Verifikation
notwendig, mit denen gezeigt werden kann, dass ein eingebettetes System sich in seiner jeweiligen Umgebung nicht fehlerhaft verhält, sondern
immer korrekt arbeitet, oder zum Beispiel einen stabilen Systemzustand
erreicht, unabhängig von störenden Einflüssen.
Obwohl ein großer Bedarf an solchen Verifikationsmethoden besteht,
unterschieden sich die hybriden Systemen, wie sie in der Praxis modelliert
werden, und die hybriden Automaten, die in der Forschung zur Modellierung solcher Systeme verwendet werden, im Hinblick auf ihre Ausdrucksmächtigkeit gravierend. Existierende Verifikationswerkzeuge [45, 39] sind
häufig auf lineare hybride Automaten beschränkt. Allerdings skalieren diese Ansätze nicht ausreichend. Dies hat zwei Gründe: Zum Einen werden
die diskreten Systemzustände oft explizit dargestellt, was schnell zu einer
Explosion der Größe der Darstellung der erreichbaren Zustände führt.
1
Kapitel 1 Einleitung
Zum anderen stoßen diese Werkzeuge bereits bei niedrig-dimensionalen
kontinuierlichen Systemen an ihre Komplexitätsgrenzen.
Eine mögliche Lösung dieser Probleme sind Automaten. Wie bereits Büchi 1960 erkannte, können Automaten über endlichen Wörtern nicht nur
verwendet werden, um verschiedene sequentielle und modale Logiken
zu entscheiden. Sie können auch für arithmetische Theorien eingesetzt
werden [17, 18]. Zum Beispiel kann mit Automaten über endlichen Wörtern die Addition natürlicher Zahlen dargestellt werden. Da Automaten
unter booleschen Operationen und Projektion abgeschlossen sind, erhält man so ein Entscheidungsverfahren für die Presburger Arithmetik,
d.h. die Theorie der Logik erster Stufe über den natürlichen Zahlen mit
Addition FO(N, +) bzw. FO(Z, +, <) [16]. Ein Vergleich mit auf Quantorenelimination basierenden Verfahren zeigt, dass der automatenbasierte
Ansatz häufig effizienter ist [70]. Darüber hinaus erlauben Automaten eine
kompakte symbolische Darstellung, die trotzdem effizient manipuliert
werden kann [55]. Büchi-Automaten ermöglichen einen ähnlichen Ansatz
für die gemischte lineare Arithmetik, d.h. die Theorie der Logik erster
Stufe über den ganzen und reellen Zahlen mit Addition und Ordnung
FO(R, Z, +, <), wobei Z ( x ) ein Prädikat ist, das genau dann gilt, wenn x
eine ganze Zahl ist. Boigelot et. al. haben gezeigt, dass bereits eine Teilklasse der Büchi-Automaten ausreicht, so genannte schwache deterministische
Büchi-Automaten („weak deterministic Büchi automata“ – WDBA), um
diese Logik zu entscheiden [12]. Durch den Einsatz von WDBAs erhält
man also nicht nur ein Entscheidungsverfahren für FO(R, +, <), sondern
auch für FO(R, Z, +, <). Dies ist insbesondere im Kontext der Verifikation
hybrider Systeme interessant, da die Menge der erreichbaren Systemzustände bereits sehr einfacher Beispiele linearer hybrider Automaten nicht
in FO(R, +, <) aber in FO(R, Z, +, <) definiert werden kann [9].
Neuere Verifikationswerkzeuge für Systeme mit unbegrenzten ganzzahligen Zählern wie FAST [2, 3] und ALV [74] verwenden solche automatenbasierten Darstellungen, um Mengen von Systemzuständen zu
beschreiben. Diese Verwendung von Automaten kann mit dem Einsatz
von binären Entscheidungsdiagrammen („binary decision diagrams“ –
BDDs) bei Verifikationswerkzeugen, wie SMV [64], für endliche Systeme
verglichen werden: Automaten beschreiben Mengen von Systemzuständen. Weiterhin können Automatenoperationen verwendet werden, um
die Menge aller erreichbaren Zustände zu berechnen oder zu überapproximieren. Auch die Logik FO(R, Z, +, <) hat (potenziell) ein breites
2
1.2 Beiträge der Arbeit
Spektrum von Anwendungsgebieten, wie zum Beispiel die symbolische
Verifikation von linearen hybriden Automaten [9, 11]. Obwohl Implementierungen automatenbasierter Entscheidungsverfahren für FO(R, Z, +, <)
exisitieren [24, 6, 60], sind noch viele Forschungsfragen offen bzw. nicht
vollständig beantwortet, und die praktische Anwendbarkeit scheitert häufig an der Größe der Automaten.
1.2 Beiträge der Arbeit
Ziel der vorliegenden Arbeit ist es, sowohl die praktische Anwendbarkeit
automatenbasierter Entscheidungsverfahren zu erhöhen, als auch zu einem besseren theoretischen Verständnis solcher Entscheidungsverfahren
beizutragen.
In dieser Arbeit wird ein neues, in mehrfacher Hinsicht gegenüber
bisherigen Algorithmen verbessertes automatenbasiertes Entscheidungsverfahren für die gemischte lineare Arithmetik über den ganzen und
reellen Zahlen vorgestellt. Das hier vorgestellte Entscheidungsverfahren
unterscheidet sich von bisherigen Verfahren in zwei Punkten. Erstens
wird ein neuer Algorithmus zum Determinisieren einer Teilklasse von
ω-Automaten definiert, der auf der Potenzmengenkonstruktion basiert.
Diese Konstruktion erlaubt eine effizientere Behandlung von Quantoren.
Damit wird eine lange Zeit offene Frage durch Angabe eines expliziten Verfahrens beantworten. Bisher war nur die Existenz eines solchen
Algorithmus bekannt.
Zweitens wird das Konzept der Don’t-Care-Mengen eingeführt, das von
BDDs auf Sprachen verallgemeinert wird. Don’t-Care-Mengen erlauben
es, Redundanzen in der automatenbasierten Darstellung auszunutzen,
und so Mengen von Zahlen kompakter mit Automaten darzustellen. Dadurch kann das automatenbasierte Entscheidungsverfahren mit kleineren
Automaten agieren, und wird entsprechend effizienter.
Die herkömmlichen und die hier vorgestellten Algorithmen wurden in
dem Programm LIRA [6] implementiert. Anhand unterschiedlicher Benchmarkklassen können so die verschiedenen Algorithmen experimentell
ausgewertet werden. Die neuen Algorithmen führen dabei zu teilweise
um Größenordnungen besseren Ergebnissen, sowohl im Vergleich mit den
3
Kapitel 1 Einleitung
herkömmlichen Algorithmen, als auch im Vergleich zu anderen automatenbasierten Implementierungen.
Darüber hinaus werden obere Grenzen für die Größe der Automaten
gezeigt, die in der Presburger Arithmetik und in der gemischten linearen
Arithmetik beschreibbare Sprachen darstellen. Diese oberen Schranken
sind strikt, d.h. sie entsprechen den bekannten unteren Schranken [52].
Der Beweis der oberen Grenzen greift auf Techniken aus der Modelltheorie
zurück und gilt unabhängig davon, wie der Automat konstruiert wurde.
Dieses Ergebnis ist nicht nur für das theoretische Verständnis von Interesse,
sondern liefert auch Erkenntnisse über die Struktur der Automaten.
Die in dieser Arbeit vorgestellten Ergebnisse wurden bereits in folgenden Publikationen präsentiert:
• B. Becker, C. Dax, J. Eisinger, and F. Klaedtke. LIRA: Handling constraints of linear arithmetics over the integers and the reals. In Proceedings of the 19th International Conference on Computer Aided Verification
(CAV’07), volume 4590 of Lecture Notes in Computer Science, pages 307–
310. Springer-Verlag, 2007.
• C. Dax, J. Eisinger, and F. Klaedtke. Mechanizing the powerset construction for restricted classes of ω-automata. In Proceedings of the 5th
International Symposium on Automated Technology for Verification and Analysis (ATVA’07), volume 4762 of Lecture Notes in Computer Science, pages
223–236. Springer-Verlag, 2007.
• J. Eisinger. Upper bounds on the automata size for integer and mixed
real and integer linear arithmetic. In Proceedings of the 17th EACSL
Annual Conference on Computer Science Logic (CSL’08), volume 5213 of
Lecture Notes in Computer Science, pages 430–444. Springer-Verlag, 2008.
• J. Eisinger and F. Klaedtke. Don’t care words with an application to the
automata-based approach for real addition. In Proceedings of the 18th
International Conference on Computer Aided Verification (CAV’06), volume
4144 of Lecture Notes in Computer Science, pages 67–80, 2006.
• J. Eisinger and F. Klaedtke. Don’t care words with an application to the
automata-based approach for real addition. Formal Methods in Systems
Design, 33(1–3):85–115, 2008.
4
1.3 Verwandte Arbeiten
1.3 Verwandte Arbeiten
Die Grundlagen für ein effizientes automatenbasiertes Entscheidungsverfahren für FO(R, Z, +, <) wurden von Boigelot, Jodogne und Wolper [12]
gelegt. Die hier präsentierten Ergebnisse bauen auf diesen Algorithmen
auf.
Kupferman et al. merken an, dass die klassische Potenzmengenkonstruktion für Automaten über endlichen Wörtern verwendet werden kann,
um einen äquivalenten WDBA von einem gegeben Automaten, der eine
WDBA-erkennbare Sprache darstellt, zu konstruieren [58]. Allerdings wird
kein konkreter Algorithmus angegeben. Insbesondere wird der entscheidende Punkt, wie die Menge der akzeptierenden Zustände des WDBA
effizient berechnet werden kann, ausgelassen. Diese Frage wird in Kapitel 3 erstmalig korrekt beantwortet.
Die in Kapitel 4 vorgestellte Komplexitätsanalyse baut auf dem Resultat
von Klaedtke [53] auf, das eine doppelt exponentielle obere Schranke für
den minimalen WDBA zum Entscheiden von FO(R, +, <) zeigt. Dieses
Resultat wird hier verwendet und mit dem Ergebnis für FO(Z, +, <)
kombiniert, um die obere Schranke für FO(R, Z, +, <) zu zeigen. Vom
Standpunkt der Implementierung ist der Unterschied zwischen einem Entscheidungsverfahren für FO(R, +, <) und einem Entscheidungsverfahren
für FO(R, Z, +, <) minimal, da es derzeit keine speziell auf FO(R, +, <)
zugeschnittenen Algorithmen gibt. Daher unterstützen existierende Implementierungen die allgemeinere Logik FO(R, Z, +, <) [6, 60]. Auch
verwandt zu den hier vorgestellten Ergebnissen ist eine frühere Arbeit
von Klaedtke [52], in der eine dreifach exponentielle obere Schranke für
die Größe des minimalen DFA zum Entscheiden von FO(Z, +, <) gezeigt
wird. Im Gegensatz zu dem in Kapitel 4 gezeigten Beweis verwendet
Klaedtke Quantorenelimination, um diese Schranke zu zeigen. Klaedtkes
Ansatz basiert auf einem spezifischen Verfahren zur Quantorenelimination
und mehreren oberen Schranken für die von dem Verfahren erzeugten
quantorenfreien Formeln. Man beachte, dass FO(Z, +, <) keine Elimination von Quantoren erlaubt, sondern um Teilbarkeitsprädikate und
Konstantensymbole erweitert werden muss. Der hier vorgestellte Ansatz
zeigt hingegen die Schranke auf einem direkteren Weg und ist unabhängig
davon, wie der DFA konkret konstruiert wurde. Obwohl die Schranke
in beiden Fällen identisch ist, kann der im Rahmen der vorliegenden
5
Kapitel 1 Einleitung
Arbeit gezeigte Beweis für die obere Schranke für FO(R, Z, +, <) zudem
wiederverwendet werden.
Verwandt zu dem Ansatz der Don’t-Cares, ist der Widening-Ansatz [5]
für Mengen von ganzen Zahlen, die durch Automaten dargestellt werden.
Er wird im Kontext der Verifikation von unendlichen Zustandssystemen
angewendet. Um immer eine Überapproximation der dargestellten Menge
zu erhalten, werden beim Widening nur Wörter zur Sprache hinzugefügt, die von dem Automaten dargestellt werden. Im Gegensatz dazu
werden bei dem Don’t-Care-Ansatz Wörter sowohl hinzugefügt als auch
entfernt, und trotzdem erhält man eine exakte automatenbasierte Darstellung einer gegebenen Menge. Man beachte, dass die Widening-Methode
komplementär zu Don’t-Care-Wörtern ist, und daher in einem möglichen Algorithmus zum Verifizieren von unendlichen Zustandssystemen
kombiniert werden könnte. Ähnlich sind Don’t-Care-Wörter auch komplementär zu so genannten Acceleration-Ansätzen [11, 10, 14]. Allerdings sind
weitere Vorarbeiten für eine tatsächliche Implementierung notwendig,
da anzunehmen ist, dass die Automatenoperationen für Widening und
Acceleration für Don’t-Care-Wörter angepasst werden müssen.
Eng verwandt zu LIRA, der Implementierung der in Kapitel 3–5
vorgestellten Ergebnisse, sind die Automatenbibliotheken LASH [60],
PresTaf [24] und MONA [55]. Genau wie LIRAs Automatenbibliothek
stellt LASH Operationen für Automaten über unendlichen und endlichen
Wörtern zur Verfügung. LIRA übertrifft die Leistungsfähigkeit von LASH
um Größenordnungen. Ein Grund für diesen Unterschied sind die neuen
Automatenoperationen, die in den folgenden Kapiteln vorgestellt werden
und in LIRA implementiert sind. PresTafs und MONAs Automatenbibliothek unterstützen nur Automaten über endlichen Wörtern und können
somit nur mit der Presburger Arithmetik umgehen. Weiterhin ist MONA nicht speziell für die Behandlung von Mengen zugeschnitten, die in
der Presburger Arithmetik definierbar sind. Die Omega Bibliothek [68]
ist zu LIRA verwandt, da sie die Darstellung und Manipulation von
in FO(Z, +, <) definierbaren Mengen erlaubt. Im Gegensatz zu LIRA
unterstützt sie keine reellen Zahlen und verwendet eine formelbasierte Darstellung, die keine kanonische Form hat. Zur Vereinfachung der
Formelmenge werden Heuristiken verwendet. Auch verwandt ist die AndInverter-Graphs (AIGs) [57] basierte Datenstruktur zur Darstellung von
Formeln über FO(R, +, <), die im so genannten First-Order-Model-Checker
verwendet wird [69, 26]. Diese Datenstruktur verwendet ein Quantoren-
6
1.4 Gliederung der Arbeit
eliminationsverfahren, um Quantoren zu behandeln, und SMT-Solver, um
redundante Formelteile zu erkennen. SMT-solver wie Barcelogic [8] und
Yices [29] sind auch verwandt zu LIRA, da sie Entscheidungsverfahren für
Fragmente der gemischten linearen Arithmetik über den reellen und ganzen Zahlen beinhalten. Allerdings unterstützen diese Programme Quantoren nicht bzw. nur in sehr eingeschränkten Fällen. Die meisten aktuellen
SMT-Solver unterstützen aber auch andere Fragmente von Theorien der
ersten Stufe und Kombinationen von solchen Fragmenten. Neuere, auf Intervallarithmetik basierende Ansätze, wie sie von iSAT [38] implementiert
werden, unterstützen sogar nicht-lineare Arithmetik.
1.4 Gliederung der Arbeit
Die vorliegende Arbeit ist wie folgt gegliedert. In Kapitel 2 werden grundlegende Definitionen der Logik und Automatentheorie dargestellt, um
die Notation festzulegen. In Kapitel 3 wird ein automatenbasiertes Entscheidungsverfahren für die gemischte lineare Arithmetik eingeführt,
das, anders als bisherige Verfahren, auf der Potenzmengenkonstruktion
basiert. In Kapitel 4 wird eine obere Schranke für die Komplexität dieses Entscheidungsverfahren gezeigt. Motiviert aus Beobachtungen, die
aus diesen Beweisen resultieren, wird in Kapitel 5 der Begriff der Don’tCare-Mengen eingeführt, die zur Verbesserung des automatenbasierten
Entscheidungsverfahren eingesetzt werden können. In Kapitel 6 wird eine
Implementierung dieser Algorithmen und ein experimenteller Vergleich
der verschiedenen Algorithmen sowie eine Abgrenzung zu verwandten
Ansätzen und Werkzeugen vorgestellt. Kapitel 7 schließt die Arbeit mit
einer Diskussion der Ergebnisse ab.
7
Kapitel 1 Einleitung
8
Kapitel 2
Grundlagen
Um die Notation festzulegen, werden im Folgenden grundlegende Definitionen der Logik und Automatentheorie wiederholt.
2.1 Wörter und Sprachen
Sei Σ ein (endliches) Alphabet. Σ∗ bezeichnet die Menge aller endlichen
Wörter über Σ, und Σ+ die Menge Σ∗ \ {e}, wobei e das leere Wort ist.
Mit Σω wird die Menge aller ω-Wörter über Σ bezeichnet, d.h. aller unendlichen Wörter über Σ. Die Konkatenation zweier endlicher Wörter
wird durch Hintereinanderschreiben der beiden Wörter notiert. Die Länge
eines Wortes u ∈ Σ∗ wird mit |u| bezeichnet. Ein Wort u ∈ Σ∗ der Länge
` wird oft als u(0)u(1) . . . u(` − 1) geschrieben und ein ω-Wort α ∈ Σω
oft als α(0)α(1) . . . , wobei u(i ) und α(i ) den (i + 1)-ten Buchstaben von u
bzw. α bezeichnet. Die unendliche Wiederholung eines Buchstabens b ∈ Σ
wird mit bω bezeichnet.
Für L ⊆ Σ∗ ist die syntaktische Rechtskongruenz (oder Nerode-Relation)
∼ L auf Σ∗ × Σ∗ definiert durch u ∼ L v gdw. uw ∈ L ⇔ vw ∈ L für alle
w ∈ Σ∗ . Für eine ω-Sprache L ⊆ Σω ist ∼ L auf Σ∗ × Σ∗ definiert durch
u ∼ L v gdw. uα ∈ L ⇔ vα ∈ L für alle α ∈ Σω .
9
Kapitel 2 Grundlagen
2.2 Transitionssysteme und
Automaten
Ein endliches Transitionssystem (TS) T ist ein Tupel ( Q, Σ, δ, q I ), wobei Q eine endliche Menge von Zuständen, Σ ein endliches Alphabet,
δ : Q × Σ → P ( Q) die Transitionsfunktion, und q I ∈ Q der Startzustand ist. Dabei bezeichnet P ( Q) die Potenzmenge von Q. Die Funktion
δ kann zu δ̂ : Q × Σ∗ → P ( Q) erweitert werden, mit δ̂(q, e) = {q} und
S
δ̂(q, bu) = p∈δ(q,b) δ̂( p, u) für q ∈ Q, b ∈ Σ und u ∈ Σ∗ . T ist deterministisch, wenn |δ(q, b)| = 1 für alle q ∈ Q und alle b ∈ Σ, wobei |δ(q, b)|
die Kardinalität der Menge δ(q, b) bezeichnet. In diesem Fall werden
die Abkürzungen δ(q, b) = p und δ̂(q, u) = p für δ(q, b) = { p} und
δ̂(q, u) = { p} verwendet.
Ist der Index von ∼ L , d.h. die Anzahl der Äquivalenzklassen, endlich,
für L ⊆ Σω bzw. L ⊆ Σ∗ , dann bezeichnet C L das deterministische TS
mit C L = ({[u] : u ∈ Σ∗ }, Σ, δ, [e]) mit δ([u], b) = [ub], wobei [u] die
Äquivalenzklasse von u ∈ Σ∗ bezeichnet, d.h. [u] = {v ∈ Σ∗ : u ∼ L v}.
Sei im Folgenden T = ( Q, Σ, δ, q I ) ein TS. Ein Zustand p ∈ Q ist erreichbar von q ∈ Q, wenn es ein Wort u ∈ Σ∗ gibt, so dass p ∈ δ̂(q, u). Im
Weiteren wird davon ausgegangen, dass jeder Zustand eines TS vom initialen Zustand q I aus erreichbar ist. Eine starke Zusammenhangskomponente
(„strongly connected component“ – SCC) von T ist eine Menge S ⊆ Q,
so dass jedes p ∈ S von jedem q ∈ S aus erreichbar ist, und S maximal
mit dieser Eigenschaft ist. Für q ∈ Q bezeichnet SCC(q) das SCC S, in
dem q liegt, d.h. q ∈ S. Eine Schleife von T ist ein Wort q0 . . . qn ∈ Q+ mit
n ≥ 1, q0 = qn und für alle 0 ≤ i < n existiert ein Buchstabe b ∈ Σ, so
dass qi+1 ∈ δ(qi , b) ist. Das TS Tq bezeichnet ein TS, das identisch zu T ist,
ausser dass q ∈ Q der initiale Zustand ist, d.h. Tq = ( Q, Σ, δ, q). Ein Lauf
von T auf einem ω-Wort α ∈ Σω ist ein ω-Wort ϑ ∈ Qω , so dass ϑ0 = q I
und ϑi+1 ∈ δ(ϑi , αi ) für alle i ≥ 0. Sei Inf(ϑ ) die Menge der Zustände, die
unendlich oft in ϑ vorkommen.
Ein Automat A ist ein Tupel ( T, C ), wobei T ein TS ist, und C eine
Akzeptanzbedingung. Im Folgenden werden hauptsächlich die Büchi- und
co-Büchi-Akzeptenzbedingungen verwendet, die folgendermaßen definiert sind.
• S ⊆ Q erfüllt die Büchi-Akzeptanzbedingung C ⊆ Q, wenn S ∩ C 6= ∅.
10
2.3 Logik erster Stufe
• S ⊆ Q erfüllt die co-Büchi-Akzeptanzbedingung C ⊆ Q, wenn S ∩ C = ∅.
Andere übliche Akzeptanzbedingungen sind die Muller, Rabin, Streett,
und Parity Bedingungen [71]. Ein Lauf ϑ ist akzeptierend, wenn Inf(ϑ )
die Akzeptanzbedingung C erfüllt; andernfalls ist er verwerfend. Damit akzeptiert ein Automat A die Sprache Lω (A) = {α ∈ Σω :
es existiert ein akzeptierender Lauf von A’s TS auf α}. Für endliche Wörter wird durch eine Akzeptanzbedingung C ⊆ Q ein endlicher Automat
definiert, der die Sprache L∗ (A) = {u ∈ Σ∗ : δ̂(q I , u) ∩ C 6= ∅} akzeptiert.
Die Größe eines Automaten ist die Kardinalität der Menge der Zustände
seines Transitionssystems. Der Automat Aq ist definiert als ( Tq , C ).
Ein Automat A = ( T, C ) wird entsprechend seiner Akzeptanzbedingung C benannt. Ist zum Beispiel C eine Büchi-Akzeptanzbedingung,
so ist A ein Büchi-Automat (BA), und wenn C eine co-Büchi-Akzeptanzbedingung ist, so ist A ein co-Büchi-Automat (co-BA). Wenn T deterministisch ist, ist A ein deterministischer BA (DBA), bzw. ein deterministischer
co-BA (co-DBA). Ein BA ( T, C ) ist schwach, wenn für jedes SCC S ⊆ Q
gilt, dass entweder S ⊆ C oder S ∩ C = ∅ ist. Entsprechend werden die
Begriffe schwacher Büchi-Automat („weak Büchi automaton“ – WBA)
und schwacher deterministischer Büchi-Automat („weak deterministic
Büchi automaton“ – WDBA) verwendet. Endliche Automaten werden
in nicht-deterministische endliche Automaten („non-deterministic finite automata“ – NFA) und deterministische endliche Automaten („deterministic
finite automata“ – DFA) unterteilt, je nachdem, ob das zugehörige TS
deterministisch ist oder nicht.
WDBA bezeichnet die Klasse aller Sprachen L, für die es einen WDBA
A gibt, so dass Lω (A) = L gilt. Die Klassen DBA und coDBA sind ähnlich
definiert. Es existieren verschiedene Charakterisierungen dieser Klassen,
so entspricht WDBA der Borel-Klasse Fσ ∩ Gδ [63], bzw. es gilt WDBA =
DBA ∩ coDBA [20].
2.3 Logik erster Stufe
Die Logik der ersten Stufe wird wie gewöhnlich definiert [30]. Eine Signatur ist eine Menge bestehend aus Funktions-, Relations- und Konstantensymbolen, wobei jedem Funktions- und Relationssymbol eine Stelligkeit
11
Kapitel 2 Grundlagen
r ∈ N zugeordnet ist. In dieser Arbeit werden nur relationale Signaturen
betrachtet, d.h. Signaturen ohne Funktions- und Konstantensymbole.
Eine Struktur A über einer relationalen Signatur S definiert einen Träger
dom(A) und für jedes r-stellige Relationssymbol der Signatur S eine Relation über dom(A)r . Die Strukturen (Z, +, <), (R, +, <) und (R, Z, +, <)
werden mit Z, R und M bezeichnet, wobei + die dreistellige Additionsrelation, < die zweistellige Ordnungsrelation und Z eine einstellige Relation
ist, so dass Z ( x ) genau dann gilt, wenn x eine ganze Zahl ist. Die logischen Theorien erster Stufe dieser Strukturen mit Addition werden im
Folgenden als ganzzahlige lineare Arithmetik, lineare Arithmetik bzw.
gemischte lineare Arithmetik bezeichnet.
Für eine gegebene relationale Signatur S kann man Terme erster Stufe
und Formeln erster Stufe definieren, die es erlauben, über Strukturen über
S zu reden: Jede Variable x1 , x2 , . . . ist ein Term erster Stufe. Atomare Formeln
erster Stufe sind Ausdrücke der Form s = t, wobei s und t Terme sind,
und R(t1 , . . . , tr ), wobei R ein r-stelliges Relationssymbol ist und t1 , . . . , tr
Terme sind. Formeln erster Stufe werden durch endliche Anwendung der
booleschen Operatoren ¬ („nicht“) und ∧ („und“) und dem Quantor
∃ x („es existiert ein x“) auf atomare Formeln konstruiert. Im Folgenden
werden zusätzlich die üblichen Abkürzungen wie ∨ („oder“) oder ∀ x
(„für alle x“) verwendet. Für eine S-Struktur A bezeichnet FO(A) die Logik
erster Stufe über A, d.h. die Menge aller Formeln der ersten Stufe über S.
Im Weiteren wird der Zusatz „erster Stufe“ häufig ausgelassen.
Variablen, die im Einflussbereich eines Quantors vorkommen, werden
gebunden und ansonsten frei genannt. Eine Formel ϕ mit freien Variablen
x1 , . . . , xr wird als ϕ( x1 , . . . , xr ) geschrieben. Seien a1 , . . . , ar ∈ dom(A)
und sei ϕ( x1 , . . . , xr ) eine Formel, dann bedeutet A |= ϕ[ a1 , . . . , ar ] dass ϕ
in A erfüllt ist, wobei xi als ai interpretiert wird für 1 ≤ i ≤ r, d.h.
A |= xi = x j [ a1 , . . . , ar ]
gdw.
ai = a j für 1 ≤ i, j ≤ r,
A |= R( x1 , . . . , xn )[ a1 , . . . , ar ]
gdw.
R( a1 , . . . , an ) für 1 ≤ n ≤ r,
A |= ¬ ϕ[ a1 , . . . , ar ]
gdw.
A 6|= ϕ[ a1 , . . . , ar ],
A |= ( ϕ ∧ ψ)[ a1 , . . . , ar ]
gdw.
A |= ϕ[ a1 , . . . , ar ] und
A |= ψ[ a1 , . . . , ar ],
12
2.4 Darstellung von Mengen ganzer und reeller Zahlen
A |= ∃ xr ϕ[ a1 , . . . , ar−1 ]
gdw.
es gibt ein ar ∈ dom(A), so dass
A |= ϕ[ a1 , . . . , ar ] gilt.
Gibt es a1 , . . . , ar ∈ dom(A), so dass A |= ϕ[ a1 , . . . , ar ] gilt, so schreiben
wir A |= ϕ. Wenn r aus dem Zusammenhang klar ist, werden x1 , . . . , xr
und a1 , . . . , ar häufig mit x̄ und ā abgekürzt. Die Theorie einer Logik FO(A)
ist die Menge der Formeln ϕ, für die A |= ϕ gilt. Ein Entscheidungsverfahren
für die Theorie einer Logik FO(A) entscheidet für eine gegebene Formel
ϕ, ob A |= ϕ gilt.
Der Quantorenrang einer Formel ϕ wird mit qr( ϕ) bezeichnet und ist
folgendermaßen definiert:
qr( ϕ) = 0, wenn ϕ atomar ist;
qr( ϕ ∧ ψ) = max{qr( ϕ), qr(ψ)};
qr(¬ ϕ) = qr( ϕ)
qr(∃ xϕ) = qr( ϕ) + 1.
Für m, r ∈ N und ā, b̄ ∈ dom(A)r gilt ā ≡rm b̄ gdw. A |= ϕ[ ā] ⇔ A |= ϕ[b̄]
für alle Formeln ϕ( x1 , . . . , xr ) mit qr( ϕ) ≤ m gilt. Die Relation ≡rm partitioniert dom(A)r , so dass die Elemente einer Äquivalenzklasse nicht durch
Formeln mit einem Quantorenrang kleiner oder gleich m unterschieden
werden können.
2.4 Darstellung von Mengen ganzer und reeller
Zahlen
Boigelot, Jodogne und Wolper haben gezeigt [12], dass für jede in der
Logik der ersten Stufe über der Struktur M definierbaren Menge X ⊆ Rr
ein WDBA A existiert, der X beschreibt. Weiterhin haben sie gezeigt, dass
A effektiv aus der Formel ϕ( x1 , . . . , xr ) konstruiert werden kann, die die
Menge X beschreibt, d.h. X = { ā ∈ Rr : M |= ϕ[ ā]}. Die Korrespondenz
zwischen Sprachen und Mengen reeller Zahlen wird im Folgenden definiert. In dieser Arbeit sei $ ∈ N mit $ > 1 und Σ = {0, . . . , $ − 1} fest,
wobei $ die Basis genannt wird. An den Stellen, an denen Bezug auf ein
anderes Alphabet genommen wird, wird das Alphabet mit Γ bezeichnet.
Die im Folgenden definierte Darstellung von Zahlen als Wörter basiert
auf der $-Komplement Darstellung, wobei der erste Buchstabe die höchste
13
Kapitel 2 Grundlagen
Wertigkeit hat („Most-Significant-Bit-First“) und das Vorzeichen der dargestellten Zahl bestimmt. Weiterhin kann der erste Buchstabe eines Wortes
beliebig oft wiederholt werden, ohne die dargestellte Zahl zu ändern.
Daher kann man bei der Darstellung von Vektoren davon ausgehen, dass
die Darstellungen der ganzzahligen Anteile alle aus gleich vielen Buchstaben bestehen, auch wenn ein einzelner Wert mit weniger Buchstaben
dargestellt werden könnte. Der Buchstabe ? spielt die Rolle des Dezimalpunktes, der den ganzzahligen Anteil von dem Nachkommaanteil trennt.
Im Folgenden sei r ∈ N mit r ≥ 1.
Definition 2.1.
1. Vr bezeichnet die Menge aller ω-Wörter über dem Alphabet Σr ∪ {?} der
Form u ? α, wobei u ∈ (Σr )+ , u(0) ∈ {0, $ − 1}r und α ∈ (Σr )ω ist. Das
Wort u wird ganzzahliger Anteil, das Wort α Nachkommaanteil genannt.
Der Buchstabe u(0) bestimmt das Vorzeichen.
2. Ein ω-Wort u ? α ∈ Vr stellt folgenden r-dimensionalen Vektor reeller Zahlen
dar
hu ? αi = ∑ $|u|−i−1 · u(i ) + ∑ $−i−1 · α(i ) −
0 < i < |u|
i ≥0
$|u|−1
· u (0)
$−1
wobei Vektoraddition und Skalarmultiplikation komponentenweise zu verstehen sind.1 Für u ∈ (Σr )+ mit u(0) ∈ {0, $ − 1}r und u0 ∈ (Σr )∗ wird
hui = hu ? 0̄ω i und hu ? u0 i = hu ? u0 0̄ω i definiert.
3. Eine Formel ϕ( x1 , . . . , xr ) definiert die Sprachen Lω ( ϕ) = {α ∈ Vr : M |=
ϕ[hαi]} und L∗ ( ϕ) = {u ∈ (Σr )+ : u(0) ∈ {0, $ − 1}r und Z |= ϕ[hui]}.
Man beachte, dass jeder Vektor aus Rr durch ein ω-Wort aus Vr dargestellt werden kann. Folgende Beispiele sollen helfen, die Zahlendarstellung
zu verdeutlichen.
Beispiel 2.2. In der Basis $ = 10, kann die Zahl 3, 5 zum Beispiel durch
folgendes ω-Wort kodiert werden:
3, 5 = h03 ? 50ω i.
Allerdings ist diese Darstellung nicht eindeutig. Erstens kann der Buchstabe, der das Vorzeichen darstellt, beliebig wiederholt werden, ohne den
dargestellten Wert zu ändern, zum Beispiel
3, 5 = h003 ? 50ω i.
1 Es
14
wird hier nicht zwischen Vektoren und Tupeln unterschieden.
2.4 Darstellung von Mengen ganzer und reeller Zahlen
Zweitens hat eine rationale Zahl, deren Nenner nur aus Primfaktoren besteht, die auch Faktoren der Basis $ sind, unterschiedliche Darstellungen,
zum Beispiel
3, 5 = h03 ? 49ω i.
Negative Werte werden durch das so genannte $-Komplement dargestellt,
so entspricht
−23, 4 = h976 ? 60ω i.
Dabei markiert der Wert $ − 1 als erster Buchstabe eine negative Zahl. Der
Rest des ω-Wortes ergibt sich aus $3 − 23, 4. Folgendes Beispiel zeigt eine
mögliche Darstellung des Vektors (3, 5; −23, 4):
3, 5
−23, 4
ω 0
0
3
5
0
=
?
.
9
7
6
6
0
Man beachte, dass das Vorzeichen des Wortes 03 ? 50ω einmal wiederholt
wurde, so dass beide Wörter gleich lange ganzzahlige Anteile haben.
Sei r ≥ 1 und s, t ∈ {1, . . . , r } mit s ≤ t. Dann
bezeichnet bt die t-te Komponente eines Buchstabens b ∈ Σr und bs,t =
(bs , bs+1 , . . . , bt ). Für α ∈ (Σr ∪ {?})ω bezeichnet αt die t-te Spur eines
Wortes, d.h. das ω-Wort β ∈ Σ ∪ {?} mit β(i ) = ? gdw. α(i ) = ? und
β(i ) = α(i )t sonst, für alle i ∈ N. Analog dazu bezeichnet αs,t das
ω-Wort das aus den Spuren s, s + 1, . . . , t von α besteht. Für m, n ≥ 1
und ω-Wörter α ∈ (Σm ∪ {?})ω und β ∈ (Σn ∪ {?})ω bezeichnet (α, β)
das ω-Wort γ ∈ (Σm+n ∪ {?})ω mit γ1,m = α und γm+1,n = β, unter
der Annahme dass α(i ) = ? gdw. β(i ) = ?, für alle i ∈ N. Die gleiche
Notation wird für endliche Wörter verwendet.
Zusätzliche Notation
15
Kapitel 2 Grundlagen
16
Kapitel 3
Ein automatenbasiertes
Entscheidungsverfahren
Automaten über unendlichen Wörtern sind ein mächtiges Werkzeug,
um verschiedene Entscheidungsprobleme zu lösen. Allerdings ist es aus
praktischen Gründen häufig einfacher und effizienter, eingeschränkte Teilklassen der Automaten über unendlichen Wörtern zu betrachten. Zum
Beispiel sind schwache deterministische Büchi-Automaten (WDBAs) algorithmisch ähnlich effizient handhabbar wie Automaten über endlichen
Wörtern. In diesem Kapitel wird gezeigt, wann und wie die klassische
Potenzmengenkonstruktion für endliche Automaten verwendet werden
kann, um Automaten über unendlichen Wörtern zu determinisieren. Ein
konkreter Algorithmus wird für die Klasse der Sprachen angegeben, die
von WDBAs beschrieben werden kann. Weiterhin wird ein automatenbasiertes Entscheidungsverfahren für die gemischte lineare Arithmetik über
den ganzen und reellen Zahlen eingeführt, bei dem dieser Algorithmus
angewendet wird.
Die in diesem Kapitel vorgestellten Ergebnisse, wurden teilweise in
folgender Publikation präsentiert:
• C. Dax, J. Eisinger, and F. Klaedtke. Mechanizing the powerset construction for restricted classes of ω-automata. In Proceedings of the 5th
International Symposium on Automated Technology for Verification and Analysis (ATVA’07), volume 4762 of Lecture Notes in Computer Science, pages
223–236. Springer-Verlag, 2007.
17
Kapitel 3 Ein automatenbasiertes Entscheidungsverfahren
3.1 Einleitung
Automaten über unendlichen Wörtern sind als mächtiges Werkzeug zur
Implementierung von Entscheidungsverfahren für verschiedene logische
Theorien etabliert [12, 33, 6, 55]. Automatentheoretische Ansätze sind
leicht zu verstehen und zu implementieren und von daher interessant
für praktische Anwendungen. Allerdings hängt der Erfolg dieser Ansätze häufig von dem verwendeten Automatenmodell und der Größe der
Automaten ab.
Häufig ist es deshalb einfacher und auch effizienter, mit oder über eingeschränkte Klassen von Automaten zu arbeiten. Ein prominentes Beispiel
sind schwache deterministische Büchi-Automaten („weak deterministic
Büchi automata“ – WDBAs), die algorithmisch ähnlich effizient wie deterministische Automaten über endlichen Wörtern behandelt werden können.
Im Gegensatz zu Büchi-Automaten haben WDBAs zum Beispiel eine kanonische minimale Form, die effizient berechnet werden kann [62]. WDBAs
können verwendet werden, um Mengen darzustellen und zu manipulieren, die in der gemischten linearen Arithmetik über den ganzen und
reellen Zahlen definierbar sind [12]. Solch eine automatenbasierte Darstellung von M-definierbaren Mengen kann zur Verifikation von unendlichen
Zustandssystemen eingesetzt werden [9, 33].
Es ist allerdings nicht klar, wie man von diesen Algorithmen für WDBAs profitieren kann, wenn eine WDBA-erkennbare Sprache zum Beispiel
als nicht-deterministischer Muller-Automat gegeben ist. Kupferman et al.
merken an, dass die klassische Potenzmengenkonstruktion für Automaten
über endlichen Wörtern verwendet werden kann, um einen äquivalenten
WDBA aus einem gegebenen Automaten zu konstruieren, wenn letzterer eine WDBA-erkennbare Sprache darstellt [58]. Allerdings wird kein
konkreter Algorithmus angegeben. Insbesondere wird der entscheidende
Punkt, wie die Menge der akzeptierenden Zustände des WDBA effizient
berechnet werden kann, ausgelassen.
In diesem Kapitel wird ein effizienter Algorithmus präsentiert, der die
akzeptierenden Zustände für den WDBA bestimmt, der mittels der herkömmlichen Potenzmengenkonstruktion für Automaten über endlichen
Wörtern konstruiert wurde. Es wird gezeigt, wie diese neue Konstruktion verwendet werden kann, um eine automatenbasierte Darstellung von
18
3.2 Determinisierung durch Potenzmengenkonstruktion
Mengen zu erhalten, die in der gemischten linearen Arithmetik definierbar sind. Insbesondere werden Quantoren effizienter behandelt, als bei
herkömmlichen Algorithmen [12].
Dieses Kapitel ist folgendermaßen aufgeteilt: In Abschnitt 3.2 wird gezeigt, wann und wie die Potenzmengenkonstruktion zum Determinisieren
von Automaten über unendlichen Wörtern eingesetzt werden kann. In
Abschnitt 3.3 wird ein automatenbasiertes Entscheidungsverfahren für
die gemischte lineare Arithmetik über den ganzen und reellen Zahlen
eingeführt, bei dem dieser Algorithmus eingesetzt wird. Abschnitt 3.4
fasst die Ergebnisse dieses Kapitels zusammen.
3.2 Determinisierung durch
Potenzmengenkonstruktion
Im folgenden Abschnitt wird untersucht, wann und wie die Potenzmengenkonstruktion verwendet werden kann, um Automaten über unendlichen Wörtern zu determinisieren. Dabei ist es unerheblich, welche Akzeptenzbedingung der Automat hat. Ausschlaggebend ist, welche
Sprache von dem Automat akzeptiert wird. Das Potenzmengen Transitionssystem eines TS T = ( Q, Γ, δ, q I ) ist P ( T ) = (P ( Q), Γ, η, {q I }) mit
S
η ( R, b) = q∈ R δ(q, b) für R ⊆ Q und b ∈ Γ. Weiterhin sei CONG die Klasse der ω-Sprachen L, die von dem DBA (C L , E) mit irgendeiner Menge E
akzeptiert werden, d.h. die Klasse der ω-Sprachen, für die der Index der
syntaktischen Rechtskongruenz ∼ L endlich ist und die von einem DBA
akzeptiert werden können, dessen Zustände den Kongruenzklassen von
∼ L entsprechen.
Lemma 3.1. Sei A = ( T, C ) ein Automat. Wenn Lω (A) ∈ CONG ist, dann
gibt es eine Menge F, so dass der DBA (P ( T ), F ) die Sprache Lω (A) akzeptiert.
Beweis. Sei T = ( Q, Γ, δ, q I ). Angenommen, der DBA (C Lω (A) , E) akzeptiert die Sprache Lω (A). Definiere F = { R ⊆ Q : δ̂(q I , u) = R und [u] ∈
E, für ein u ∈ Γ∗ }. Für ein ω-Wort α ∈ Γω sei ϑ der Lauf von C Lω (A) und
ϑ0 der Lauf von P ( T ). Es ist zu zeigen, dass ϑi ∈ E gdw. ϑi0 ∈ F für alle
i ≥ 0 gilt. Sei v = α0 . . . αi−1 . Dann ist ϑi = [v]. Die Hinrichtung folgt direkt aus der Definition von F. Für die Rückrichtung sei ϑi0 ∈ F, d.h. es gibt
ein Wort u ∈ Γ∗ mit δ̂(q I , u) = ϑi0 und [u] ∈ E. Da ϑi0 = δ̂(q I , u) = δ̂(q I , v)
ist, folgt, dass u ∼ Lω (A) v und damit [u] = [v] = ϑi gilt.
19
Kapitel 3 Ein automatenbasiertes Entscheidungsverfahren
Lemma 3.1 zeigt die Existenz einer Büchi-Akzeptanzbedingung F für
das TS P ( T ). Es bleibt aber offen, wie diese algorithmisch bestimmt
werden kann. Ein naiver Algorithmus wäre, für alle möglichen Mengen
F ⊆ P ( Q) zu überprüfen, ob (P ( T ), F ) die Sprache Lω (A) akzeptiert.
Im Weiteren wird für eine Teilklasse von CONG, nämlich WDBA, ein verbesserter Algorithmus vorgestellt, der diese Menge F bestimmt. Dieser
Algorithmus hat eine exponentiell bessere Komplexität, als der soeben vorgestellte naive Algorithmus. Mit diesem Algorithmus zum Bestimmen der
Menge F erhält man sofort einen neuen Algorithmus, der einen beliebigen
Automat, der eine Sprache aus WDBA akzeptiert, in einen deterministischen Büchi-Automat überführt. Bevor diese Algorithmen besprochen
werden, werden im Folgenden zunächst die Sprachen aus CONG und
Automaten, die solche Sprachen akzeptieren, näher charakterisiert.
Als erstes sei angemerkt, dass die Umkehrung von Lemma 3.1 im
Allgemeinen nicht gilt. Sei zum Beispiel L die Sprache {α ∈ {0, 1}ω :
1 kommt unendlich oft in α vor}. Da ∼ L nur eine Äquivalenzklasse hat ist
klar, dass L 6∈ CONG. Man kann aber einen DBA E = ( T, C ) angeben, der
L akzeptiert, und da E deterministisch ist, gibt es offensichtlich auch eine
Menge F, so dass der DBA (P ( T ), F ) die Sprache L akzeptiert. Man kann
also festhalten, dass CONG ( DBA ist. Jede Sprache in CONG kann per
Definition von einem DBA akzeptiert werden, und wie soeben festgestellt,
akzeptiert der DBA E eine Sprache, die nicht in CONG liegt.
Weiterhin subsumiert die Klasse CONG eine wichtige Klasse von ωregulären Sprachen:
Satz 3.2 (Korollar 16 aus [63]). Ist L eine ω-Sprache aus WDBA, dann gibt es
eine Büchi-Akzeptanzbedingung E, so dass der Automat (C L , E) die Sprache L
akzeptiert.
Solche Sprachen sind zum Beispiel die ω-regulären Sprachen, die in
gemischter linearer Arithmetik über den ganzen und reellen Zahlen definierbar sind [12].
Zuletzt ist erwähnenswert, dass für eine ω-reguläre Sprache L ⊆ Γω
die minimale Anzahl Zustände eines deterministischen Automaten A mit
Lω (A) = L mindestens der Index der Relation ∼ L ist. Für den Fall, dass
L ∈ CONG ist, ist die minimale Anzahl Zustände eines deterministischen
Automaten A, der die Sprache L akzeptiert, gleich dem Index der Relation
20
3.2 Determinisierung durch Potenzmengenkonstruktion
0
0
0
q0
0
q1
q2
(a) Büchi-Automat, der die leere Sprache
akzeptiert
0
{q0 }
0
{q0 , q1 }
0
{q0 , q1 , q2 }
(b) Schwacher deterministischer Büchi-Automat,
der die Sprache {0ω } akzeptiert
Abbildung 3.1 – Büchi-Automat und nach Kupferman et al. konstruierter WDBA
für die selbe Sprache, die aber unterschiedliche Sprachen akzeptieren.
∼ L . Aus Lemma 3.1 folgt dann, dass für das TS T von A eine Menge von
Zuständen F existiert, so dass der DBA ( T, F ) die Sprache L akzeptiert.
Weiterhin ist das Potenzmengentransitionssystem des (deterministischen)
TS T isomorph zu T, wenn man die Zustände entfernt, die nicht vom
initialen Zustand aus erreichbar sind. Allerdings ist auch hier unklar, wie
die Menge F anhand des Automaten A effizient bestimmt werden kann.
Im Folgenden wird diese Frage für Automaten beantwortet, die Sprachen
aus der Klasse WDBA akzeptieren.
3.2.1 Automaten für Sprachen aus WDBA
In diesem Abschnitt wird die Frage behandelt, wie anhand eines Automaten A, der eine Sprache aus WDBA akzeptiert, ein WDBA konstruiert
werden kann, der die gleiche Sprache akzeptiert. Angenommen, A ist der
Automat ( T, C ) mit T = ( Q, Γ, δ, q I ) und P ( T ) = (P ( Q), Γ, η, {q I }).
Kupferman et al. haben eine Konstruktion zum Determinisieren von
A angegeben für den Fall, dass A ein BA ist [58]. Das folgende Beispiel
zeigt, dass diese Konstruktion fehlerhaft ist.
21
Kapitel 3 Ein automatenbasiertes Entscheidungsverfahren
Beispiel 3.3. Angenommen, A ist ein Büchi-Automat, dann behaupten
Kupferman et al., dass der WDBA B = (P ( T ), C 0 ) mit C 0 = { R ⊆ P ( Q) :
R ∩ C 6= ∅} die gleiche Sprache akzeptiert. Ein Gegenbeispiel für die
Behauptung ist der Büchi-Automat, der in Abbildung 3.1(a) dargestellt ist.
Der Automat ist in einer grafischen Notation gegeben. Dabei entsprechen
Zustände q0 , q1 , . . . Kreisen, die entsprechend beschriftet sind. Akzeptierende Zustände, d.h. Zustände, die in der Büchi-Akzeptanzbedingung C
liegen, sind durch Doppelkreise markiert. Ein Pfeil von qi nach q j , der mit
einem Buchstaben u markiert ist, zeigt an, dass q j ∈ δ(qi , u). Existieren
mehrere Transitionen von qi nach q j , so sind die Pfeile häufig zu einem
Pfeil mit mehreren Beschriftungen zusammengefasst. Der initiale Zustand
wird durch einen unbeschrifteten Pfeil markiert. Häufig wird die verwerfende Senke, d.h. ein Zustand qi , der nicht akzeptierend ist, und von dem
aus nur qi erreichbar ist, der Übersichtlichkeit halber ausgelassen.
Der BA in Abbildung 3.1(a) ‘akzeptiert die leere Sprache, da der einzige
akzeptierende Zustand, q1 , nicht unendlich oft in einem Lauf vorkommen
kann. Der entsprechend konstruierte WDBA ist in Abbildung 3.1(b) dargestellt. Da im Potenzmengentransitionssystem der Zustand q1 im Zustand
{q0 , q1 , q2 } enthalten ist, der aber wiederum unendlich oft auf einem Lauf
vorkommen kann, akzeptiert dieser WDBA die Sprache {0ω }.
Bevor die Automatenkonstruktion angegeben wird, sei folgendes angemerkt: Aus Satz 3.2 folgt, dass es einen DBA (C Lω (A) , E) gibt, der
Lω (A) ∈ WDBA akzeptiert. Aus Lemma 3.1 folgt, dass es ein F ⊆ P ( Q)
gibt, so dass der DBA (P ( T ), F ) die Sprache Lω (A) akzeptiert. Der Automat (P ( T ), F ) ist inhärent schwach [12], d.h. es gibt kein SCC S von
P ( T ), das sowohl akzeptierende als auch verwerfende Schleifen enthält.
Dabei ist eine Schleife Q0 . . . Qn ∈ P ( Q)+ akzeptierend, wenn Qi ∈ F für
ein i ∈ {0, . . . , n − 1} und ansonsten verwerfend.
Lemma 3.4. Seien R ∈ P ( Q) und u ∈ Γ∗ so, dass η̂ ({q I }, u) = R ist, und
w ∈ Γ+ so, dass η̂ ( R, w) = R ist. Dann ist uwω ∈ Lω (A) gdw. alle Schleifen
des SCC, das R enthält, akzeptierend sind.
Beweis. (⇒) Da uwω ∈ Lω (A) gilt, ist auch uwω ∈ Lω ((P ( T ), F )). Da
(P ( T ), F ) inhärent schwach ist und der Zustand R unendlich oft in dem
Lauf von P ( T ) auf uwω vorkommt, sind alle Schleifen des SCC, das R
enthält, akzeptierend.
22
3.2 Determinisierung durch Potenzmengenkonstruktion
Eingabe: ω-Automat A = ( T, C ) und ein SCC S des TS P ( T ).
Ausgabe: Akzeptanzstatus für S.
1: falls S keine Schleifen hat dann markiere S als verwerfend
2: Sei R ein Zustand aus S.
3: Wähle ein Wort u ∈ Γ∗ , so dass η̂ ({q I }, u ) = R.
4: Wähle ein Wort w ∈ Γ+ , so dass η̂ ( R, w) = R.
5: falls uwω ∈ Lω (A) dann markiere S als akzeptierend sonst als verwerfend
Abbildung 3.2 – Algorithmus der feststellt, ob ein SCC S von P ( T ) akzeptierend
oder verwerfend ist.
(⇐) Wenn alle Schleifen des SCC, das R enthält akzeptierend sind, dann
ist uwω ∈ Lω ((P ( T ), F )). Da Lω ((P ( T ), F )) = Lω (A) ist, folgt, dass
uwω ∈ Lω (A) ist.
Um den Automat A zu determinisieren sind zwei Schritte notwendig.
Als erstes wird P ( T ) konstruiert. Im zweiten Schritt wird mit dem Algorithmus aus Abbildung 3.2 eine Menge F 0 ⊆ P ( Q) bestimmt, wobei
F 0 die Vereinigung der SCCs ist, die der Algorithmus als „akzeptierend“
markiert. Die Wörter u und w, die in dem Algorithmus benötigt werden,
können zum Beispiel durch eine Breitensuche bestimmt werden. Der Test
uwω ∈ Lω (A) ist äquivalent zu {uwω } ∩ Lω (A) = ∅. Man kann also einen
Automat konstruieren, der {uwω } ∩ Lω (A) akzeptiert, und einen der Akzeptanzbedingung entsprechenden Leerheitstest durchführen [21, 42, 51].
Die Korrektheit dieser Konstruktion kann folgendermaßen gezeigt werden: zunächst ist anzumerken, dass es für ein SCC S ohne Schleifen
irrelevant ist, ob es zu F 0 gehört oder nicht. Die Sprache, die der Automat akzeptiert, wird dadurch nicht verändert, da diese Zustände maximal einmal in einem Lauf vorkommen können. Diese Zustände werden
o.B.d.A. nicht in F 0 aufgenommen. Also hat S mindestens eine Schleife.
Aus Lemma 3.4 folgt, dass der Algorithmus in Abbildung 3.2 S als „akzeptierend“ markiert gdw. alle Schleifen in S akzeptierend sind. Daher
gilt Lω ((P ( T ), F )) = Lω ((P ( T ), F 0 )).
Weiterhin ist anzumerken, dass der so konstruierte Automat schwach ist.
Außerdem ist die Konstruktion unabhängig von der Akzeptanzbedingung
23
Kapitel 3 Ein automatenbasiertes Entscheidungsverfahren
des Automaten A. Daher erhält man Übersetzungen in WDBAs von
Parity-, Rabin-, Streett-, Muller- und Büchi-Automaten.
Der folgende Satz fasst die Ergebnisse dieses Abschnitts zusammen.
Satz 3.5. Sei A ein Automat mit n Zuständen. Wenn Lω (A) ∈ WDBA ist,
dann kann man einen WDBA anhand von A konstruieren, der maximal 2n
Zustände hat, und die Sprache Lω (A) akzeptiert.
3.3 Gemischte ganzzahlige und reelle lineare
Arithmetik
Im folgenden Abschnitt wird eine Anwendung des Algorithmus zum
Determinisieren von Sprachen aus WDBA gegeben. Es wird gezeigt, dass
die Struktur M ω-automatisch ist [50, 7], d.h. es gibt eine Darstellung der
Struktur mit Hilfe von ω-Automaten.
3.3.1 Endliche Darstellungen unendlicher
Strukturen
Unendliche logische Strukturen, die endliche Darstellungen haben, sind
ein wichtiges Teilgebiet der mathematischen Logik und der theoretischen
Informatik. Eine solche Klasse von Strukturen mit endlicher Darstellung
sind so genannte automatische (bzw. ω-automatische) Strukturen. Im
Weiteren werden ω-automatische Strukturen behandelt. Intuitiv ist eine
(relationale) Struktur dann ω-automatisch, wenn ihr Träger sowie die
einzelnen Relationen von Büchi-Automaten dargestellt werden können.
Um für r-stellige Relationen kein neues Automatenmodell einführen zu
müssen, das r-Tupel von Wörtern akzeptiert, wird der Fall mehrstelliger
Tupel (α1 , . . . , αr ) mit αi ∈ Γω auf den einstelligen Fall zurückgeführt,
indem die Wörter über dem Alphabet Γr ∪ {} kodiert werden. Anders als
in der Definition von Blumensath und Grädel [7], ist hier diese Kodierung
nicht fest vorgegeben. Stattdessen werden Kodierungen zugelassen, die die
ω-Wörter an bestimmten Buchstaben A ⊆ Γ ausrichten. Kommt in einem
ω-Wort kein Buchstabe aus A vor, so ist für dieses Wort die Kodierung
nicht definiert. Seien m j = min{i ∈ N : α j (i ) ∈ A} für 1 ≤ j ≤ r die
Positionen der ω-Wörter α1 , . . . , αr an denen erstmalig ein Buchstabe aus
A vorkommt. Zulässige Kodierungen richten nun die einzelnen Wörter
24
3.3 Gemischte ganzzahlige und reelle lineare Arithmetik
entweder durch Wiederholen des ersten Buchstabens oder durch Auffüllen
mit dem Buchstaben aus. Sei m = max{m1 , . . . , mr }, dann werden vor
das i-te ω-Wort m − mi Buchstaben gehängt. Wählt man A = Γ, so erhält
man die Kodierung von Blumensath und Grädel.
Definition 3.6. Sei A eine relationale Struktur, D ⊆ Γω eine ω-reguläre Sprache und ν : D → dom(A) eine surjektive Abbildung. Gegeben eine Kodierung
von r ω-Wörtern α1 , . . . , αr ∈ D als ω-Wort α1 ⊗ · · · ⊗ αr ∈ (Γr ∪ {})ω , die
für alle ω-Wörter aus D definiert ist. Die Abbildung ν ist eine ω-automatische
Darstellung von A gdw. ν die folgenden zwei Bedingungen erfüllt.
(i) Es existiert ein ω-Automat über dem Alphabet Γ2 ∪ {}, der für alle α, β ∈
D das Wort α ⊗ β akzeptiert gdw. ν(α) = ν( β) gilt.
(ii) Für jede r-stellige Relation R aus A und alle α1 , . . . , αr ∈ D existiert
ein ω-Automat über dem Alphabet Γr ∪ {}, der das Wort α1 ⊗ · · · ⊗ αr
akzeptiert gdw. Rν(α1 ) . . . ν(αr ) gilt.
Existiert eine ω-automatische Darstellung von A, dann ist die Struktur ωautomatisch.
Im Folgenden wird die Abbildung h·i : V1 → R verwendet, und gezeigt, dass diese eine ω-automatische Darstellung von M ist, indem die
entsprechenden Automaten angegeben werden. Dabei werden r ω-Wörter
α1 , . . . , αr ∈ (Σ ∪ {?})ω als ω-Wort α1 ⊗ · · · ⊗ αr ∈ (Σr ∪ {?, })ω kodiert,
indem die ω-Wörter am Buchstaben ? ausgerichtet werden, und die einzelnen Wörter durch Wiederholen des ersten Buchstabens angeglichen
werden. Dadurch ist der Buchstabe ? bei allen Wörtern an der gleichen
Position. Statt Automaten über dem Alphabet (Σ ∪ {?, })r zu verwenden,
kann daher o.B.d.A. das Alphabet Σr ∪ {?} verwendet werden.
3.3.2 Eine ω -automatische Darstellung von M
Äquivalenz zweier Elemente
Um zu zeigen, dass ein ω-Automat existiert, der für alle α, β ∈ V1 entscheidet, ob hαi = h βi, wird ein entsprechender WDBA angegeben. Dabei
ist zu beachten, dass zwei ω-Wörter nicht nur dann den gleichen Wert
darstellen, wenn sie bereits selbst gleich sind. Eine rationale Zahl kann
25
Kapitel 3 Ein automatenbasiertes Entscheidungsverfahren
x
x
x
x
,
q0
0
0
̺−1
̺−1
⋆
q1
̺−1
0
q2
̺−1
0
x
x+1
̺−1
0
⋆
q3
q5
0
̺−1
0
̺−1
x+1
x
0
̺−1
q4
x
x+1
⋆
x+1
x
q6
Abbildung 3.3 – Ein WDBA, der die Sprache Lω ( x = y) akzeptiert, d.h. alle
Paare von ω-Wörtern, die die selbe Zahl kodieren. Die verwerfende Senke wurde
der Übersichtlichkeit halber weggelassen.
auf verschiedene Weisen dargestellt werden, wenn ihr Nenner nur Primfaktoren hat, die auch gleichzeitig Faktoren der Basis $ sind.
Der WDBA in Abbildung 3.3 akzeptiert die Sprache Lω ( x = y), d.h.
Paare von ω-Wörtern, die die gleiche Zahl darstellen. Von dem Startzustand q0 aus geht eine Transition für zwei positive Zahlen (Vorzeichen (00))
1
bzw. zwei negative Zahlen (Vorzeichen ($$−
−1)) aus. Der Zustand q1 hat $
Kanten für die Fälle, in denen beide ω-Wörter an der aktuellen Position
den gleichen Buchstaben haben, und eine Kante für den Buchstaben ?, der
das Ende des ganzzahligen Anteils markiert. Entsprechend akzeptiert der
Zustand q2 den Nachkommaanteil, wenn beide ω-Wörter aus den gleichen
Buchstaben bestehen. Da die Darstellung wie bereits erwähnt nicht eindeutig ist, kann eine rationale Zahl, deren Darstellung die Form ub0∗ ? 0ω
bzw. u ? u0 b0ω hat mit u ∈ Σ+ , u0 ∈ Σ∗ und b ∈ {1, . . . , $ − 1}, auch
durch u(b − 1)($ − 1)∗ ? ($ − 1)ω bzw. u ? u0 (b − 1)($ − 1)ω dargestellt
werden. Diese Fälle, d.h. wenn die beiden ω-Wörter sich unterscheiden,
aber dennoch die gleiche Zahl darstellen, werden in den Zuständen q3
und q4 bzw. q5 und q6 behandelt.
Relationen der Struktur M
Im Folgenden werden drei Automaten für die Relationen Z, + und <, die
in der Struktur M definiert sind, angegeben.
26
3.3 Gemischte ganzzahlige und reelle lineare Arithmetik
(̺ − 1)
q3
(̺ − 1)
(0), . . . , (̺ − 1)
q0
(0), (̺ − 1)
q1
⋆
(0)
q2
(0)
q4
Abbildung 3.4 – Ein WDBA, der die Sprache Lω ( Zx ) akzeptiert, d.h. alle ωWörter die eine ganze Zahl kodieren. Die verwerfende Senke wurde der Übersichtlichkeit halber weggelassen.
Ein ω-Wort u ? γ mit u ∈ Σ+ , u(0) ∈ {0, $ − 1}
und γ ∈
kodiert einen Wert hu ? γi ∈ Z gdw. der Nachkommaanteil
entweder 0ω oder ($ − 1)ω ist. So ist zum Beispiel h0 ? ($ − 1)ω i = 1. Ein
WDBA für die Sprache Lω ( Zx ) ist in Abbildung 3.4 dargestellt.
Die einstellige Relation Z.
Σω
Der Aufbau des WDBA für die Relation <
ist ähnlich zu dem WDBA für die Gleichheit. Der WDBA, der die Sprache
Lω ( x < y) akzeptiert, ist in Abbildung 3.5 dargestellt. Die Zustände q0 , q1
und q2 behandeln wieder den Fall, dass die beiden ω-Wörter identisch
sind. Der Zustand q2 ist hier aber nicht akzeptierend, da der Automat
keine ω-Wörter akzeptiert, die die gleichen Werte darstellen. Die Zustände
q3 und q4 behandeln den Fall, dass aufgrund der nicht eindeutigen Darstellung die beiden ω-Wörter noch den gleichen Wert kodieren könnten.
Die Zustände q5 und q6 behandeln den Fall, dass der Wert, den das erste
ω-Wort darstellt, definitiv kleiner ist als der Wert, den das zweite ω-Wort
darstellt.
Die zweistellige Relation <.
Die dreistellige Relation +.
Der WDBA für die dreistellige Relation +, d.h.
+( x, y, z) gilt gdw. die Summe von x und y gleich z ist, ist in Abbildung 3.6
dargestellt. Der Automat arbeitet folgendermaßen: Seien u x , uy , uz ∈ Σ∗
die bisher gelesenen Präfixe der Spuren, die x, y bzw. z kodieren. Dann
befindet sich der Automat nach dem Lesen dieses Präfixes im Zustand
qb , wobei b = hu x i + huy i − huz i ist. Entsprechend sollte der Automat
immer im Zustand q0 sein, wenn die Additionsrelation erfüllt ist. Da
27
Kapitel 3 Ein automatenbasiertes Entscheidungsverfahren
x
x
x
x
,
q0
0
0
̺−1
̺−1
⋆
q1
q2
̺−1
0
̺−1
0
⋆
q3
̺−1
0
Σ2 \ {
}
̺−1
0
Σ2 \ {
{
q5
x
x+1
x
x+1
x
y
q4
}
̺−1
0
: x + 1 < y}
⋆
x
y
{
x
y
: x + 1 < y}
q6
x
y
Abbildung 3.5 – Ein WDBA, der die Sprache Lω ( x < y) akzeptiert. Die verwerfende Senke wurde der Übersichtlichkeit halber weggelassen.
jedoch die Zahlendarstellung nicht eindeutig ist, kann über den Nachkommaanteil ein Fehler in der Addition ausgeglichen werden: die Werte für
x, y und z können jeweils um 1 erhöht werden, d.h. von den Zuständen
q−2 , q−1 und q1 aus ist es auch möglich solche ω-Wörter zu lesen, dass
die Additionsrelation erfüllt ist. Liest der Automat im Zustand qb einen
Buchstaben (bx , by , bz ) ∈ Σ3 , so wechselt der Automat in den Zustand qb0
mit b0 = $ · b + h0bx i + h0by i − h0bz i: Dem Präfix wird ein neuer Buchstabe angehängt. Dadurch erhöht sich der Stellenwert der alten Buchstaben,
daher wird der alte Wert mit $ multipliziert. Der Automat überprüft so die
Korrektheit der Addition ziffernweise. Das folgende Beispiel verdeutlicht
den Zusammenhang zwischen dem alten und dem neuen Präfix:
Beispiel 3.7. Sei $ = 2. Angenommen, der Automat hat bisher das Präfix
(u x , uy , uz ) = (001, 010, 011) gelesen.
hu x i
huy i
huz i
hu x bx i
h u y by i
h u z bz i
0 0 1
0 1 0
0 1 1
0 0 1 0
0 1 0 1
0 1 1 1
b = hu x i + huy i − huz i
b0 = $ · b + h0bx i + h0by i − h0bz i
23 22 21 20
Die Wörter kodieren die Zahlen x = 1, y = 2 und z = 3, d.h. die
28
3.3 Gemischte ganzzahlige und reelle lineare Arithmetik
q1
q−1
⋆
′
q−1
q1′
⋆
qI
q0
q0′
⋆
q−2
⋆
q2′
Abbildung 3.6 – Ein WDBA, der die Sprache Lω ( x + y = z) akzeptiert. Die
Beschriftungen der Kanten und die verwerfende Senke wurde der Übersichtlichkeit halber weggelassen. Die Kanten zwischen zwei ungestrichenen Zuständen von qi nach q j sind mit dem Buchstaben ( a, b, c) ∈ Σ3 markiert gdw.
j = $ · i + h0ai + h0bi − h0ci gilt. Die Kanten vom initialen Zustand q I nach q j
sind mit ( a, b, c) ∈ {0, $ − 1}3 markiert gdw. j = h ai + hbi − hci gilt. Die Kanten
zwischen zwei gestrichenen Zuständen von qi0 nach q0j sind mit dem Buchstaben
( a, b, c) markiert gdw. j = $ · i − h0ai − h0bi + h0ci gilt. Für manche Werte von
$ sind nicht alle dargestellten Übergänge möglich, so existiert für $ = 2 keine
Kante zwischen zum Beispiel q0 und q−2 .
Additionsrelation ist erfüllt. Entsprechend befindet sich der Automat
nach dem Lesen dieses Präfixes im Zustand b = 0 = 1 + 2 − 3. Liest
der Automat als nächsten Buchstaben (bx , by , bz ) = (0, 1, 1), d.h. das neue
Präfix ist (0010, 0101, 0111), dann verändern sich die dargestellten Werte
folgendermaßen: Alle bisher gelesenen Buchstaben werden nach links
verschoben. Dies entspricht der Multiplikation mit der Basis $. Der neu
gelesene Buchstabe wird zu diesem Wert hinzuaddiert. Das Präfix stellt
also jetzt die Werte x 0 = 2, y0 = 5 und z0 = 7 dar. Die Additionsrelation
ist immer noch erfüllt und der Automat befindet sich im Zustand b0 =
0 = 2 · 0 + 0 + 1 − 1.
Da in einem Schritt so maximal der Wert 2 · ($ − 1) addiert bzw. der
29
Kapitel 3 Ein automatenbasiertes Entscheidungsverfahren
Wert 1 · ($ − 1) abgezogen werden kann, sind von allen Zuständen qi
aus mit i < −2 oder i > 1 keine akzeptierenden Zustände erreichbar:
Befindet sich der Automat in einem Zustand qi mit zum Beispiel i = −3,
so können nur Zustände q j erreicht werden mit j ≤ −3 · $ + 2 · ($ − 1) < i.
Bei den Kanten, die von dem initialen Zustand q I ausgehen, ist außerdem
zu beachten, dass nur Buchstaben aus {0, $ − 1}3 gelesen werden, und die
Komponenten, die den Wert $ − 1 haben, als negative Zahl interpretiert
werden.
Den Zuständen, die den Nachkommaanteil behandeln, werden ebenfalls Zahlen zugeordnet. Werden vom Zustand q0b aus die ω-Wörter
α x , αy , αz ∈ Σω akzeptiert, dann gilt b = h0 ? α x i + h0 ? αy i − h0 ? αz i.
Liest der Automat im Zustand q0b einen Buchstaben (bx , by , bz ) ∈ Σ3 und
geht in den Zustand q0b0 , dann muss b0 = $ · b − h0bx i − h0by i + h0bz i
gelten: Die ω-Wörter, die von q0b0 aus akzeptiert werden, werden links
um den Buchstaben (bx , by , bz ) erweitert und ergeben dann den Wert b.
Die Zustände qi und q0j sind über eine mit ? markierte Kante verbunden
gdw. i + j = 0 ist. Das folgende Beispiel soll helfen, das Verhalten des
Automaten auf dem Nachkommaanteil zu verstehen.
Beispiel 3.8. Sei $ = 2. Angenommen, der Automat befindet sich im Zustand q00 , d.h. von diesem Zustand aus wird zum Beispiel das ω-Wort
(bx α x , by αy , bz αz ) = (01ω , 00ω , 10ω ) akzeptiert: Dieses ω-Wort, interpretiert als Nachkommaanteil, stellt die Werte x = 21 , y = 0 und z = 21 dar.
Die Additionsrelation ist also erfüllt.
h0 ? b x α x i
h 0 ? by α y i
h 0 ? bz α z i
0 ? 0 1 1 1 ...
0 ? 0 0 0 0 ...
0 ? 1 0 0 0 ...
b = h 0 ? b x α x i + h 0 ? by α y i − h 0 ? bz α z i
h0 ? α x i
h0 ? α y i
h0 ? α z i
0 ? 1 1 1 1 ...
0 ? 0 0 0 0 ...
0 ? 0 0 0 0 ...
b0 = $ · b − h0bx i − h0by i + h0bz i
2−1 2−2 2−3 2−4
...
Wenn der Automat im nächsten Schritt den Buchstaben (bx , by , bz ) =
(0, 0, 1) liest, dann geht er in einen Zustand, von dem aus der Rest des
ω-Wortes akzeptiert wird. Der Wert, der von diesem Rest (α x , αy , αz )
dargestellt wird, berechnet sich durch Verschieben des ursprünglichen
ω-Wortes um eine Stelle nach links. Der Buchstabe, der nun links des
30
3.3 Gemischte ganzzahlige und reelle lineare Arithmetik
Buchstabens ? steht, muss anschließend subtrahiert werden. Der Automat
geht also in den Zustand b0 = 2 · 0 − 0 − 0 + 1 über.
3.3.3 Definierbare Sprachen
Ist eine beliebige Formel ϕ über der Struktur M gegeben, kann nun ein
ω-Automat rekursiv über die Formelstruktur konstruiert werden. Der
WDBA akzeptiert dann die ω-Wörter, die erfüllende Belegungen der Formel ϕ darstellen. Die atomaren Formeln, d.h. die Relationen werden durch
die soeben angegebenen WDBAs ersetzt, und boolesche Kombinationen
werden durch die entsprechenden Automatenoperation behandelt. Man
beachte dabei, dass die Klasse WDBA sowohl unter Schnitt und Vereinigung, als auch unter Komplementbildung abgeschlossen ist, und hierbei
kein Umweg über WBAs nötig ist. Weiterhin ist zu beachten, dass die boolesche Negation nicht direkt durch das Komplementieren der Sprachen
abgebildet werden kann, da so auch ω-Wörter akzeptiert werden würden,
die keine Zahl darstellen. Dies wird dadurch vermieden, dass nach der
Komplementbildung der WDBA mit dem WDBA für Vr geschnitten wird.
Existentielle Quantoren werden durch Projektion und anschließende
Determinisierung behandelt. Da die Klasse WDBA unter Projektion abgeschlossen ist, kann die Determinisierung laut Satz 3.5 mit Hilfe der
Potenzmengenkonstruktion erfolgen. Universelle Quantifikation kann auf
existentielle Quantifikation zurückgeführt werden.
Man kann davon ausgehen, dass jede Formel mindestens eine freie
Variable enthält, so dass die durch die Projektion des Alphabets entstehenden Automaten immer eine Sprache aus Vr mit r ≥ 1 akzeptieren. Ist
zum Beispiel die Formel ϕ ein Satz, so betrachtet man o.B.d.A. die Formel
ϕ ∧ x = x, wobei x eine Variable ist, die nicht in ϕ vorkommt.
Man beachte, dass die Potenzmengenkonstruktion, die maximal 2n
Zustände erzeugt (Satz 3.2) optimal ist. Die Größe der minimalen WDBAs
für die Formeln ϕr ( x1 , x2 ) mit x1 = 2r ∧ „der r-letzte Buchstabe des
ganzzahligen Anteils von x2 ist 1“ ist linear in r, während die Größe
der minimalen WDBAs für die Sprachen ∃ x1 ϕ( x1 , x2 ) bekanntermaßen
exponentiell in r ist [49]. Dabei ist anzumerken, dass die Eigenschaft
„der r-letzte Buchstabe des ganzzahligen Anteils von x2 ist 1“ nur in der
31
Kapitel 3 Ein automatenbasiertes Entscheidungsverfahren
Logik FO(Z, +, <) bzw. FO(R, Z, +, <) definierbar ist, nicht jedoch in
FO(R, +, <).
3.3.4 Ein automatenbasiertes
Entscheidungsverfahren
Gegeben eine Formel ϕ, kann nun das Entscheidungsproblem, ob M |= ϕ
gilt, folgendermaßen gelöst werden. Zunächst wird der WDBA A ϕ konstruiert, der die erfüllenden Belegungen der Formel ϕ akzeptiert. Anschließend wird ein Leerheitstest auf A ϕ ausgeführt, d.h. man überprüft,
ob die Sprache, die von dem WDBA akzeptiert ist, die leere Menge ist. Ist
dies nicht der Fall, so gibt es erfüllende Belegungen für ϕ und M |= ϕ
gilt.
Um zu überprüfen, ob ein gegebener WDBA (im Allgemeinen ein
beliebiger Büchi-Automat) die leere Sprache akzeptiert, sucht man im
ersten Schritt einen akzeptierenden Zustand, der vom initialen Zustand
aus erreichbar ist, und im zweiten Schritt eine Schleife, auf der dieser
Zustand liegt. Beides lässt sich durch eine Tiefen- oder Breitensuche
realisieren. Die Komplexität dieses Tests ist also linear in der Größe des
Automaten.
3.4 Zusammenfassung
In diesem Kapitel wurde eine neue Automatenkonstruktion zum Determinisieren von eingeschränkten Klassen von Automaten über unendlichen
Wörtern vorgestellt. Die Konstruktion basiert auf der klassischen Potenzmengenkonstruktion für Automaten über endlichen Wörtern. Besonders
hervorzuheben ist, dass die Konstruktion unabhängig von dem Automatenmodell ist. Ausschlaggebend ist allein, ob die Sprache, die von
dem Automat akzeptiert wird, in einer bestimmten Klasse ist. Die Konstruktion wurde für ein automatenbasiertes Entscheidungsverfahren für
FO(R, Z, +, <) angewandt. Dies ist eine Verbesserung gegenüber den
herkömmlichen Ansätzen, die die so genannte breakpoint-Konstruktion verwenden [12, 65, 59], was in Kapitel 6 anhand von Benchmarks demonstriert
werden wird.
32
Kapitel 4
Obere Schranken für das Entscheiden
linearer Arithmetiken
Automatenbasierte Entscheidungsverfahren, wie das im vorherigen Kapitel vorgestellte Verfahren für FO(R, Z, +, <), haben sich als praktisches
Werkzeug erwiesen. Allerdings sind noch einige theoretische Aspekte dieser Entscheidungsverfahren unklar. In diesem Kapitel wird eine
dreifache obere Grenze für die Größe der Automaten für die Logiken
FO(Z, +, <) und FO(R, Z, +, <) gezeigt. Für die Presburger Arithmetik,
d.h. FO(Z, +, <), wurde eine dreifach exponentielle Grenze bereits über
Quantorenelimination gezeigt, während die Grenze für FO(R, Z, +, <)
neu ist. Es werden zwei so genannte Graded-Back-And-Forth-Systeme definiert. Von diesen Systemen wird dann eine Obergrenze für die Größe der
Automaten abgeleitet, indem eine Verbindung zwischen diesen Systemen
und den Sprachen hergestellt wird, die durch Formeln über den jeweiligen Strukturen beschrieben werden können. Mit diesen oberen Grenzen,
die den bekannten unteren Grenzen entsprechen, wird die theoretische
Grundlage für diese Entscheidungsverfahren vollständiger.
Die Ergebnisse, die in diesem Kapitel vorgestellt werden, wurden in
folgender Publikation präsentiert:
• J. Eisinger. Upper bounds on the automata size for integer and mixed
real and integer linear arithmetic. In Proceedings of the 17th EACSL
Annual Conference on Computer Science Logic (CSL’08), volume 5213 of
Lecture Notes in Computer Science, pages 430–444. Springer-Verlag, 2008.
33
Kapitel 4 Obere Schranken für das Entscheiden linearer Arithmetiken
4.1 Einleitung
Obwohl effiziente Implementierungen solcher automatenbasierten Entscheidungsverfahren für Theorien der Logik der ersten Stufe mit Addition
existieren [24, 6, 60], sind noch viele Forschungsfragen offen bzw. nicht
vollständig beantwortet. Eine solche Frage ist die nach einer oberen Grenze für die Größe der Automaten zum Entscheiden von FO(R, Z, +, <).
Eine naive Analyse der Größe der Automaten führt zu einem Exponenten je verschachtelter Negation. Im Gegensatz dazu haben Fischer und
Rabin eine doppelt exponentielle untere Schranke für beliebige nichtdeterministische Entscheidungsverfahren für die Presburger Arithmetik
gezeigt [37].
In diesem Kapitel werden zwei strikte obere Schranken bewiesen,
zum einen für die Größe der minimalen DFAs, um FO(Z, +, <) zu entscheiden, und zum anderen für die Größe des minimalen WDBAs, um
FO(R, Z, +, <) zu entscheiden. Dazu wird eine Methode verwendet, die
von Klaedtke eingeführt wurde, um eine obere Grenze für die Größe
der Automaten zum Entscheiden von FO(R, +, <) zu zeigen [53]. Intuitiv werden die Zustände des minimalen Automaten für eine Formel in
Relation zu geeignet gewählten Verfeinerungen von durch EhrenfeuchtFraïssé-Spielen definierten Äquivalenzklassen gesetzt. Solche Verfeinerungen werden Graded-Back-And-Forth-Systeme oder auch Ehrenfeucht-FraïsséRelationen genannt [46, 36]. Es ist häufig einfacher, mit solchen Verfeinerungen zu arbeiten und obere Grenzen für den Index dieser Relationen
zu bestimmen und somit auch für den Index der Äquivalenzrelationen,
die durch Ehrenfeucht-Fraïssé-Spiele definiert sind.
Zunächst werden für FO(Z, +, <) und für FO(R, Z, +, <) zwei GradedBack-And-Forth-Systeme definiert, die die Mengen ganzer und reeller
Zahlen charakterisieren, die in der jeweiligen Logik definiert werden
können. Diese Systeme sind mit der Dimension dieser Menge und dem
Quantorenrang der Formeln parametrisiert. Für die Indizes dieser Systeme werden obere Schranken gezeigt. Im zweiten Teil dieses Kapitels wird
dann gezeigt, dass diese Graded-Back-And-Forth-Systeme die syntaktische Rechtskongruenz auf Wörtern verfeinern. Dadurch erhält man eine
obere Grenze für die Größe des minimalen DFA zum Entscheiden von
FO(Z, +, <) und für die Größe des minimalen WDBA zum Entscheiden
von FO(R, Z, +, <). Die hier gezeigten dreifach exponentiellen oberen
34
4.2 Charakterisierung definierbarer Mengen
Grenzen sind strikt, d.h. es gibt eine Familie von Formeln ϕn , für die
die Größe des minimalen WDBAs bzw. des minimalen DFAs dreifach
exponentiell in n ist [52].
Dieses Kapitel ist folgendermaßen aufgebaut: In Abschnitt 4.2 werden
die Äquivalenzrelationen definiert, die dann in Abschnitt 4.3 und 4.4
verwendet werden, um obere Grenzen für die Größe der Automaten für
lineare Arithmetik über den ganzen Zahlen und für gemischte lineare
Arithmetik über den ganzen und reellen Zahlen zu zeigen. In Abschnitt 4.5
werden die Ergebnisse zusammengefasst und diskutiert.
Sei a ∈ R, dann bezeichnet b ac die größte ganze
Zahl die kleiner oder gleich a ist, d ae die kleinste ganze Zahl, die größer
oder gleich a ist, und { a} bezeichnet den Nachkommaanteil von a, also
a − b ac1 . Dieselbe Notation wird für Tupel verwendet, wobei b·c, d·e und
{·} komponentenweise angewendet werden.
Zusätzliche Notation
4.2 Charakterisierung definierbarer
Mengen
In diesem Abschnitt werden drei Familien von Relationen definiert, die
jeweils ≡rm für die Strukturen Z, R und M verfeinern. In der Literatur werden solche Relationen Graded-Back-And-Forth-Systeme oder EhrenfeuchtFraïssé-Relationen genannt [46, 36]. Für Z wird eine Familie von Relationen
definiert, die die Relationen verfeinern, die von Ferrante und Rackoff
verwendet wurden [36], und für R werden die Relationen verwendet, die
Klaedtke definiert hat [53]. Letztere sind eine Verfeinerung der Relationen,
die Kozen definiert hat [56]. Mit diesen Relationen, die ≡rm auf den Strukturen Z und R verfeinern, wird anschließend eine Familie von Relationen
definiert, die ≡rm auf der Struktur M verfeinert.
In allen drei Fällen ähneln die Definitionen der Relationen den entsprechenden Quantoreneliminationsverfahren für die jeweiligen Strukturen [22, 73, 72].
1 Durch
diese Definition ist der Nachkommaanteil immer positiv, zum Beispiel ist
{−23, 4} = 0, 6.
35
Kapitel 4 Obere Schranken für das Entscheiden linearer Arithmetiken
4.2.1 Ganzzahlige lineare Arithmetik
Im Folgenden werden Relationen definiert, die Tupel von ganzen Zahlen
gleichsetzen, die durch lineare Funktionen, deren Koeffizienten beschränkt
sind, nicht unterschieden werden können. Die Definition der zulässigen
Koeffizienten ist kompliziert, wird aber benötigt, um später strikte obere
Schranken der Indizes der Relationen zeigen zu können. Intuitiv werden
doppelt exponentiell viele ganze Zahlen zugelassen aus der Menge der
ganzen Zahlen deren absoluter Wert dreifach exponentiell beschränkt
ist. Zum Verständnis dieses Kapitel ist es ausreichend, die im Folgenden
definierten Mengen Bm als die Mengen von ganzen Zahlen zu betrachten, deren absoluter Wert dreifach exponentiell in m beschränkt ist. Alle
Formeln in diesem Abschnitt beziehen sich auf die Struktur Z.
Für m ∈ N, werden die Mengen Bm induktiv definiert als
B0 = {−2, −1, 0, 1, 2},
0
Bm
= {δv/v0 : δ = lcm Bm ; v, v0 ∈ Bm ; v0 6= 0} und
0
Bm+1 = {v + v0 : v, v0 ∈ Bm
} ∪ Bm ,
wobei lcm A das kleinste positive gemeinsame Vielfache aller Elemente
von A ⊆ Z bezeichnet, die nicht Null sind.
Als nächstes werden Mengen linearer Funktionen definiert, deren Koeffizienten aus den Mengen Bm stammen.
r die Menge der Funktionen der Form f ( x̄ ) =
Für r, m ∈ N, sei Bm
c0 + ∑ri=1 ci xi , wobei c1 , . . . , cr ∈ Bm , c0 ∈ Z und |c0 | ≤ (r + 1) lcm( Bm )2
r mit f ( x̄ ) = c + r
ist. Für eine Funktion f ∈ Bm
∑i=1 ci xi bezeichnet f ∗ ( x̄ )
0
r .
die Funktion f ( x̄ ) − c0 . Damit ist auch f ∗ ∈ Bm
Der Unterschied zwischen der hier gegebenen Definition und der Definition, wie sie Ferrante und Rackoff verwenden, liegt in der Definition
des konstanten Elements c0 der linearen Funktion. Ferrante und Rackoff
definieren eine kleinere Schranke, nämlich |c0 | ≤ lcm( Bm )2 . Entsprechend
verfeinert die Familie der Relationen, die im Folgenden definiert wird,
die Familie der Relationen, die von Ferrante und Rackoff gegeben wurde.
Diese Verfeinerung erlaubt es später Lemma 4.14 zu beweisen, bei dem
eine Verbindung zwischen dieser Familie von Relationen und Sprachen
gezeigt wird. Dies wäre nicht möglich, wenn die ursprüngliche Definition
zu Grunde gelegt würde.
36
4.2 Charakterisierung definierbarer Mengen
r definiert als
Definition 4.1. Für ā, b̄ ∈ Zr ist die Äquivalenzrelation Em
r
r
b̄ gdw. (1) f ( ā) ≥ 0 ⇔ f (b̄) ≥ 0 für alle Funktionen f ∈ Bm
, und
āEm
(2) ai ≈ bi ( mod lcm( Bm )2 ) für alle 1 ≤ i ≤ r.2
r
r
Man beachte, dass Em
+1 die Relation Em verfeinert. Diese Tatsache wird
im Weiteren verwendet ohne explizit darauf zu verweisen.
r . Die
Die nächsten drei Lemmas charakterisieren die Relationen Em
r die Relation ≡r auf Z verfeiersten beiden Lemmas sagen aus, dass Em
m
r
nert. Das dritte Lemma stellt eine obere Schranke für den Index von Em
r von der von Ferrante
auf. Obwohl die hier gegebene Definition von Em
und Rackoff gegebenen abweicht, sind die Beweise ähnlich. Die Beweise
befinden sich in Anhang A.
r
Lemma 4.2. Gegeben ā, b̄ ∈ Zr mit āEm
+1 b̄, dann gibt es für jedes ar +1 ∈ Z
r
+
1
ein br+1 ∈ Z, so dass ( ā, ar+1 ) Em (b̄, br+1 ) gilt.
r b̄ impliziert.
Lemma 4.3. Für m, r ∈ N und ā, b̄ ∈ Zr wird ā ≡rm b̄ von āEm
r ist durch 22
Lemma 4.4. Der Index der Relation Em
Konstante c ∈ N.
2c ( m +r )
beschränkt für eine
4.2.2 Reelle lineare Arithmetik
Im Folgenden werden alle Formeln über der Struktur R interpretiert. Ähnlich wie in dem vorherigen Abschnitt wird eine Familie von Relationen
Fmr definiert, so wie sie von Klaedtke eingeführt wurde [53]. Da in R
Teilbarkeit nicht definierbar ist, werden die Relationen Fmr nur über das
Vorzeichen bestimmter linearer Funktionen mit beschränkten Koeffizienten definiert.
r die Menge der Funktionen der Form f ( x̄ ) =
Für m, r ∈ N sei Cm
c0 + ∑ri=1 ci xi mit c0 , . . . , cr ∈ Z, |c0 | ≤ rm und |ci | ≤ m für alle 1 ≤ i ≤ r.
Definition 4.5. Für ā, b̄ ∈ Rr ist die Äquivalenzrelation Fmr definiert als āFmr b̄
r .
gdw. f ( ā) ≥ 0 ⇔ f (b̄) ≥ 0 für alle f ∈ Cm
einer Verwechslung mit der Relation ≡rm zu vermeiden, wird die Kongruenz
modulo n als ≈ ( mod n) geschrieben.
2 Um
37
Kapitel 4 Obere Schranken für das Entscheiden linearer Arithmetiken
Die nächsten drei Lemmas charakterisieren die Relationen Fmr . Da die
Definition direkt aus [53] übernommen wurde, werden die Lemmas an
dieser Stelle nicht nochmal bewiesen.
r b̄, dann gibt es für jedes a
Lemma 4.6. Gegeben ā, b̄ ∈ Rr mit āF4m
r +1 ∈ R
2
r
+
1
ein br+1 ∈ R, so dass ( ā, ar+1 ) Fm (b̄, br+1 ) gilt.
Lemma 4.7. Für m, r ∈ N und ā, b̄ ∈ Rr wird ā ≡rm b̄ von āF2r3·2m −2 b̄ impliziert.
Lemma 4.8. Der Index der Relation F2r2m ist durch 22
Konstante c ∈ N.
c ( m +r )
beschränkt für eine
4.2.3 Gemischte lineare Arithmetik
Mit den beiden Familien von Relationen, die bisher definiert wurden,
r
kann nun eine Familie Gm,n
definiert werden, die ≡rm auf der Struktur
r
M verfeinert. Zwei Tupel werden dann von Gm,n
gleich gesetzt, wenn ihr
r ist, und ihr
ganzzahliger Anteil in der gleichen Äquivalenzklasse von Em
Nachkommaanteil in der gleichen Äquivalenzklasse von Fnr ist. Dabei ist
zu bemerken, dass sowohl Z als auch R in M interpretiert werden können.
Alle Formeln in diesem Abschnitt beziehen sich auf die Struktur M.
r
Definition 4.9. Für ā, b̄ ∈ Rr ist die Äquivalenzrelation Gm,n
definiert als
r
r
r
āGm,n b̄ gdw. b āc Em bb̄c und { ā} Fn {b̄}.
r
Die nächsten Lemmas sagen aus, dass Gm,n
die Relation ≡rm verfeinert,
r . Dabei kommen Stanund zeigen eine obere Schranke des Index von Gm,n
dardbeweistechniken aus dem Gebiet der Modelltheorie zum Einsatz. Zur
nächst wird gezeigt, dass Gm,n
die so genannte Back-And-Forth-Eigenschaft
hat.
r
Lemma 4.10. Gegeben ā, b̄ ∈ Rr mit āGm
b̄, dann gibt es für jedes ar+1 ∈
+1,4n2
r +1 ( b̄, b
R ein br+1 ∈ R, so dass ( ā, ar+1 ) Gm,n
r +1 ) gilt.
r
Beweis. Seien ā, b̄ ∈ Rr mit āGm
b̄ und ar+1 ∈ R gegeben. Aufgrund
+1,4n2
r
von Definition 4.9 gilt auch b āc Em
+1 b b̄ c und mit Lemma 4.2 gibt es für
0
r +1 b b̄, b0
b ar+1 c ein br+1 ∈ Z, so dass b ā, ar+1 c Em
r +1 c gilt. Genauso wird
38
4.2 Charakterisierung definierbarer Mengen
r { b̄ } impliziert, und laut Lemma 4.6 gibt es für { a
00
{ ā} F4n
r +1 } ein br +1 ∈ R,
2
so dass { ā, ar+1 } Fnr+1 ({b̄}, br00+1 ) gilt.
r +1 ( b̄, b
Sei br+1 = br0 +1 + br00+1 . Für ( ā, ar+1 ) Gm,n
r +1 ) bleibt zu zeigen, dass
00
0 ≤ br+1 < 1 von 0 ≤ { ar+1 } < 1 impliziert wird. Da die Funktionen
xr+1 und − xr+1 + 1 aus Cnr+1 für { ā, ar+1 } beide positiv sind, impliziert
{ ā, ar+1 } Fnr+1 ({b̄}, br00+1 ) dass 0 ≤ br00+1 < 1 gilt.
r
Mit Hilfe der Back-And-Forth-Eigenschaft wird nun gezeigt, dass Gm,n
die Relation ≡rm auf M verfeinert.
r
Lemma 4.11. Für m, r ∈ N und ā, b̄ ∈ Rr wird ā ≡rm b̄ von āGm,2
3·2m −2 b̄
impliziert.
r
Beweis. Gegeben ā, b̄ ∈ Rr mit āGm,2
3·2m −2 b̄. Der Beweis wird per Induktion
über m ∈ N geführt. Für m = 0 reicht es aus zu zeigen, dass ā und b̄ die
selben atomaren Formeln erfüllen, nämlich x + y = z, x = y, x < y und
Zx. Da āGr 3·20 b̄ sowohl b āc E0r bb̄c als auch { ā} Fr3·20 {b̄} impliziert,
0,2
−2
2
−2
die wiederum ≡0r auf Z und R verfeinern, ist es einfach zu sehen, dass
ai + a j = ak gilt gdw. bi + b j = bk gilt für alle 1 ≤ i, j, k ≤ r, und genauso
für die Relationen x = y und x < y. Für Zx ist zu zeigen, dass { ai } = 0
gdw. {bi } = 0 für alle 1 ≤ i ≤ r. Angenommen, das ist nicht der Fall, dann
gibt es eine Funktion f ∈ Cr 3·20 mit f ( x̄ ) = − xi , so dass f ({ ā}) = 0 und
2
−2
f ({b̄}) < 0 gilt. Dies widerspricht aber { ā} Fr3·20 {b̄}. Daher gilt Zai gdw.
2
−2
Zbi für alle 1 ≤ i ≤ r.
Angenommen, die Behauptung ist bereits für ein m ≥ 0 bewiesen. Es
ist zu zeigen, dass ≡rm+1 von āGr
b̄ impliziert wird. Da alle
3·2m +1
m+1,2
−2
Formeln ϕ mit qr( ϕ) ≤ m + 1 durch eine boolesche Kombination von
Formeln ∃ xψ mit qr(ψ) ≤ m dargestellt werden können, reicht es zu
zeigen, dass M |= ∃ xψ[ ā] gilt gdw. M |= ∃ xψ[b̄]. Aus Symmetriegründen wird nur eine Richtung gezeigt. Angenommen, M |= ∃ xψ[ ā], dann
gibt es ein ar+1 ∈ R so dass M |= ψ[ ā, ar+1 ]. Da āGr
b̄ und
3·2m +1
m
4(23·2 −2 )2
m +1
23 · 2 − 2 ,
m+1,2
−2
=
folgt aus Lemma 4.10, dass es ein br+1 ∈ R gibt,
r +1
so dass ( ā, ar+1 ) Gm,23·2m −2 (b̄, br+1 ) gilt. Laut Induktionsvoraussetzung gilt
dann auch M |= ψ[b̄, br+1 ] und somit M |= ∃ xψ[b̄].
r
Es bleibt eine obere Schranke des Index von Gm,n
zu zeigen.
39
Kapitel 4 Obere Schranken für das Entscheiden linearer Arithmetiken
2c ( m +r )
r
2
Lemma 4.12. Der Index der Relation Gm,2
2m ist durch 2
eine Konstante c ∈ N.
beschränkt für
r
Beweis. Der Index von Gm,2
2m ist begrenzt durch das Produkt der Indizes
r
r
von Em und F22m . Mit Lemmas 4.4 und 4.8 folgt, dass es ein c ∈ N gibt, so
dass die Behauptung wahr ist.
4.3 Ganzzahlige lineare Arithmetik
r , wie
Im Folgenden wird eine Verbindung zwischen den Relationen Em
sie in Definition 4.1 eingeführt wurden, und der syntaktischen Rechtskongruenz ∼ L∗ ( ϕ) für Formeln ϕ über der Struktur Z hergestellt. Dies
r eine Kongruenzeigenschaft
wird erreicht, indem gezeigt wird, dass Em
bezüglich Konkatenation von Wörtern hat. Lemma 4.14 ist das Kernstück
des Beweises einer oberen Schranke für den Index der syntaktischen
Rechtskongruenz. Unter der Voraussetzung, dass diese Eigenschaft, d.h.
Lemma 4.14 gilt, ist es einfach zu sehen, dass folgender Satz gilt.
Satz 4.13. Sei ϕ( x1 , . . . , xr ) eine Formel. Dann gibt es eine Konstante c ∈ N,
2cn
so dass der Index von ∼ L∗ ( ϕ) durch 22 beschränkt ist, wobei n die Länge von
ϕ, d.h. die Anzahl Symbole von ϕ, bezeichnet.
Dieser Satz folgt direkt aus der Definition der syntaktischen Rechtskonr aus Lemma 4.4 und dem
gruenz, der oberen Grenze für den Index von Em
folgenden Lemma.
Lemma 4.14. Für u, v ∈ (Σr )+ mit u(0), v(0) ∈ {0, $ − 1}r folgt aus
r h v i, dass h uw i Er h vw i für alle w ∈ ( Σr )∗ gilt.
hui Em
m
Beweis. Im Beweis werden die folgenden zwei Eigenschaften verwendet
ohne explizit darauf zu verweisen. Für u ∈ (Σr )+ mit u(0) ∈ {0, $ − 1}r ,
r gilt:
w ∈ (Σr )∗ und für jede lineare Funktion f , insbesondere für f ∈ Bm
huwi = hui$|w| + h0̄wi und
f (huwi) = f (0̄) + f ∗ (hui)$|w| + f ∗ (h0̄wi).
Dabei ist f ∗ ( x̄ ) definiert als f ( x̄ ) − f (0̄).
40
4.3 Ganzzahlige lineare Arithmetik
Angenommen, die Behauptung ist falsch, d.h. es gibt u, v ∈ (Σr )+
r h v i und ein Wort w ∈ ( Σr )∗ so
mit u(0), v(0) ∈ {0, $ − 1}r und hui Em
r h vw i nicht gilt. Sei δ = lcm B . Da offensichtlich h u w i ≈
dass huwi Em
m
i i
r
hvi wi i( mod δ2 ) für 1 ≤ i ≤ r gilt, muss es eine lineare Funktion f ∈ Bm
geben, so dass entweder (1) f (huwi) < 0 und f (hvwi) ≥ 0 oder (2)
f (huwi) ≥ 0 und f (hvwi) < 0 ist. Da (2) auf (1) mit einer Funktion
g( x̄ ) = − f ( x̄ ) zurückgeführt werden kann, wird im Weiteren nur (1)
betrachtet.
Es wird gezeigt, dass f ∗ (hui)$|w| und f ∗ (hui)$|w| so groß sind, dass
die Addition von f ∗ (h0̄wi) vernachlässigbar ist. Haben daher f (huwi)
und f (hvwi) unterschiedliche Vorzeichen, dann haben bereits f (hui) und
f (hvi) unterschiedliche Vorzeichen. Dies ist aber ein Widerspruch zu
r h v i.
hui Em
Um den Beweis fortzuführen, wird zunächst eine Abschätzung von
f ∗ (hui), f ∗ (hvi) und f ∗ (h0̄wi) gegeben. Da die Wörter u und v in der
r liegen und f ∗ (h u i) 6 = f ∗ (h v i) laut Anselben Äquivalenzklasse von Em
nahme gilt, müssen | f ∗ (hui)| und | f ∗ (hvi)| groß sein, nämlich mindestens (r + 1)δ2 . Andernfalls (wenn entweder | f ∗ (hui)| < (r + 1)δ2 oder
r , die f ∗ ( x̄ ) um
| f ∗ (hvi)| < (r + 1)δ2 ist) gäbe es eine Funktion g ∈ Bm
einen Wert kleiner oder gleich (r + 1)δ2 verschiebt, so dass g(hui) ≥ 0
r h v i.
und g(hvi) < 0. Dies wäre ein Widerspruch zu hui Em
Der Wert | f ∗ (h0̄wi)| ist eine Summe von r Produkten aus je einem Wert
aus Bm , der kleiner als δ2 ist, und je einem Wert, der in Basis $ mit |w|
Ziffern dargestellt werden kann. Daher ist | f ∗ (h0wi)| ≤ rδ2 ($|w| − 1).
Mit diesen Abschätzungen kann nun ein Widerspruch gezeigt werden. Es
gibt zwei mögliche Fälle:
(i) f ∗ (hui) ≤ −(r + 1)δ2 , aber dann ist f (huwi) ≤ (r + 1)δ2 − (r +
1)δ2 $|w| + rδ2 ($|w| − 1) < 0, was ein Widerspruch zu der Annahme
ist, dass f (huwi) ≥ 0 gilt, und
(ii) f ∗ (hui) ≥ (r + 1)δ2 , woraus folgt, dass f (hvi) < −(r + 1)δ2 , woraus
sich auf ähnliche Art und Weise ein Widerspruch zu f (hvwi) < 0
ableiten lässt.
r h vw i für alle w ∈ ( Σr )∗ gilt.
Daher bleibt nur der Schluss, dass huwi Em
41
Kapitel 4 Obere Schranken für das Entscheiden linearer Arithmetiken
Nach diesem Beweis ist deutlich, warum das feinere Graded-Backr benötigt wurde. Verwendet man die ursprüngliche
And-Forth-System Em
Definition von Ferrante und Rackoff, erhält man als Abschätzung für
| f ∗ (hui)| und | f ∗ (hvi)| nur δ2 , während die Abschätzung von | f ∗ (h0̄wi)|
r
auch von r abhängt. Daher wurde die Menge von linearen Funktionen Bm
hier so definiert, dass das konstante Element c0 nicht durch δ2 sondern
durch (r + 1)δ2 beschränkt ist.
r die syntaktische RechtskonMit diesem Lemma ist nun klar, dass Em
gruenz verfeinert, und daher Satz 4.13 gilt. Man beachte, dass für eine
nicht-triviale Formel ϕ das leere Wort in einer separaten Äquivalenzklasse
von ∼ L∗ ( ϕ) liegt. Dies ändert aber die obere Grenze nicht.
Bemerkung 4.15. Da die Sprache L∗ ( ϕ) für jede Formel ϕ regulär ist [16],
entspricht der Index von ∼ L∗ ( ϕ) der Anzahl der Zustände des minimalen
DFA, der die Sprache L∗ ( ϕ) akzeptiert. Daher folgt aus Satz 4.13 eine
dreifach exponentielle obere Schranke für die Größe des minimalen DFA,
der L∗ ( ϕ) akzeptiert.
Eine ähnliche Schranke hat bereits Klaedtke mit Hilfe eines Quantoreneliminationsverfahrens gezeigt [52]. Dabei ist zu beachten, dass die Struktur
Z keine Quantorenelimination erlaubt, sondern mit Teilbarkeitsrelationen
und Konstantensymbolen erweitert werden muss [22]. Daher hängt der
dort gewählte Ansatz von dem Quantoreneliminationsverfahren ab und
verwendet als Zwischenergebnisse mehrere obere Schranken sowohl für
die erzeugten quantorenfreien Formeln als auch für die entsprechenden
Automaten, die die durch diese Formeln definierten Sprachen akzeptieren.
Der hier vorgestellte Ansatz zeigt die obere Grenze für die Größe der
Automaten direkter und hängt nicht davon ab, wie der Automat konstruiert wurde. Weiterhin kann im nächsten Abschnitt das hier vorgestellte
Ergebnis weiterverwendet werden, um eine obere Grenze für die Größe
der Automaten bei dem Entscheiden gemischter linearer Arithmetik über
den ganzen und reellen Zahlen zu zeigen.
Bemerkung 4.16. Weiterhin ist die obere Schranke strikt, d.h. es gibt eine
Familie von Formeln ϕn , so dass der Index von ∼ L∗ ( ϕn ) mindestens dreifach exponentiell in n ist [52]. Diese Formeln stammen aus dem Beweis für
eine untere Grenze für beliebige Entscheidungsverfahren für FO(N, +)
von Fischer und Rabin [37].
42
4.4 Gemischte lineare Arithmetik
4.4 Gemischte lineare Arithmetik
Im Folgenden wird eine Verbindung gezeigt zwischen den Relationen
r
Gm,n
und der Relation ∼ Lω ( ϕ) für Formeln ϕ über der Struktur M. Obwohl
der allgemeine Aufbau dieses Abschnitts der Gleiche ist, wie der Aufbau
des vorhergehenden Abschnitts, sind die Beweise aufwendiger. Das hat
im Wesentlichen zwei Gründe.
Erstens ändert sich der Wert nicht, der durch ein endliches Wort u ? u0
mit u ∈ (Σr )+ , u(0) ∈ {0, $ − 1}r und u0 ∈ (Σr )∗ dargestellt wird, wenn
der Buchstabe 0̄ angehängt wird. Daher stellen das Wort u ? u0 und die
Wörter u ? u0 0̄k alle den selben Wert dar, der wiederum in einer einzir
gen Äquivalenzklasse von Gm,n
liegt. Erweitert man das Wort aber mit
r
ω
0
α ∈ (Σ ) , dann stellen u ? u α und u ? u0 0̄k α eventuell unterschiedliche
Werte dar. Diese unterschiedlichen Werte liegen aber nicht notwendigerr . Da die Nachkommaanteile
weise in der selben Äquivalenzklasse von Gm,n
u0 und u0 0̄k unterschiedlich lang sind, können diese Wörter unterschiedliche Werte darstellen. Dadurch werden die Buchstaben von α an unterschiedlichen Positionen mit unterschiedlicher Wertigkeit interpretiert. Im
Allgemeinen existiert dieses Problem bei allen endlichen Wörtern u ? u0
r
und v ? v0 , die in der selben Äquivalenzklasse von Gm,n
liegen, für die
0
0
aber u und v unterschiedlich lang sind.
Zweitens kann der ganzzahlige Anteil und der Nachkommaanteil eines
ω-Wortes u ? u0 α nicht getrennt als hui und h0̄ ? u0 αi betrachtet werden, da
zum Beispiel das ω-Wort 0 ? ($ − 1)ω den ganzzahligen Wert 1 darstellt.
Betrachtet man also den Nachkommaanteil zweier Wörter u ? u0 und v ? v0
muss man darauf achten, dass u0 i ∈ ($ − 1)∗ gdw. v0 i ∈ ($ − 1)∗ für alle
1 ≤ i ≤ r gilt. Wenn dies der Fall ist, dann stellt eine Komponente von
0̄ ? u0 α den Wert 1 dar gdw. die selbe Komponente von 0̄ ? v0 α den Wert 1
darstellt.
4.4.1 Verbindung zu Sprachen
Trotz der erwähnten Probleme ist es möglich bestimmte Eigenschaften
r
von Gm,n
bezüglich der Konkatenation von Wörtern zu zeigen. Zunächst
wird ein Resultat von Klaedtke für die Familie von Relationen Fmr auf der
Struktur R zitiert [53].
43
Kapitel 4 Obere Schranken für das Entscheiden linearer Arithmetiken
Lemma 4.17. Gegeben u, v ∈ (Σr )+ mit u(0), v(0) ∈ {0, $ − 1}r und u0 , v0 ∈
r h v ? v0 i dass h u ? uα i F r h v ?
(Σr )∗ mit |u0 | ≥ |v0 |. Dann folgt aus hu ? u0 i F2m
m
v0 0̄k αi für alle α ∈ (Σr )ω gilt mit k = min({|u0 | − |v0 |} ∪ {k ∈ Z : $k ≥
rm}).
Intuitiv sagt dieses Lemma aus, dass Fmr eine Kongruenzeigenschaft
bezüglich Konkatenation von Wörtern hat, wenn diese gleich lang sind.
Kodieren zwei Wörter u ? u0 und v ? v0 Werte, die in der selben Äquir liegen, für die aber u0 und v0 unterschiedlich lang
valenzklasse von F2m
sind, so kann das kürzere Wort mit Nullen erweitert werden kann. Die
Anzahl der Nullen, die angehängt werden müssen, ist aber beschränkt,
da entweder die Wörter sich nur gering in der Länge unterscheiden, oder
beide Wörter so lang sind, dass sich der Wert der dargestellten Zahl durch
Anhängen eines beliebigen ω-Wortes nur insignifikant ändert.
Mit diesem Resultat und mit Lemma 4.14 können nun einige Eigenschafr
ten von Gm,n
bezüglich Konkatenation von Wörter gezeigt werden. Dabei
r
kann allerdings nicht gezeigt werden, dass Gm,n
die Relation ∼ Lω ( ϕ) direkt
r
verfeinert. Stattdessen kann aber eine Relation mit Hilfe von Gm,n
und
dem folgenden Lemma definiert werden, die diese Eigenschaft besitzt.
Im Folgenden werden die Funktionen D(u) = {i ∈ N : 1 ≤ i ≤
r und ui ∈ ($ − 1)∗ } für u ∈ (Σr )∗ und Dω (α) = {i ∈ N : 1 ≤ i ≤
r und αi = ($ − 1)ω } für α ∈ (Σr )ω verwendet. Diese Funktionen dienen
dazu, die Komponenten des Nachkommaanteils zu identifizieren, die
potenziell den Wert 1 kodieren.
r
Das Lemma 4.18 charakterisiert drei Eigenschaften von Gm,n
bezüglich
r
r
der Konkatenation von Wörtern. (1) Gm,n hat die selbe Eigenschaft wie Em
r
für Wörter ohne Nachkommaanteil; (2) Gm,n
hat eine ähnliche Eigenschaft
r
wie Fn , wenn man nur solche Wörter betrachtet, deren Nachkommaanteil
r
nicht eine ganze Zahl darstellen kann; und (3) Gm,n
hat eine Kongruenzeigenschaft bezüglich Konkatenation von Wörtern, wenn man sich auf
Wörter beschränkt, die ähnlich lang sind, und deren Komponenten des
Nachkommaanteils immer gleichzeitig den Wert 1 darstellen.
Lemma 4.18. Für u, v ∈ (Σr )+ mit u(0), v(0) ∈ {0, $ − 1}r und u0 , v0 ∈
(Σr )∗ gelten die folgenden drei Aussagen.
r h v i gilt, dann gilt auch h uw i G r h vw i für alle w ∈ ( Σr )∗ .
(i) Wenn hui Gm,n
m,n
44
4.4 Gemischte lineare Arithmetik
r
hv ? v0 i mit |u0 | ≥ |v0 | gilt, dann gilt für alle α ∈
(ii) Wenn hu ? u0 i Gm,2n
r h v ? v0 0̄k α i
(Σr )ω mit Dω (α) ∩ (D(u0 ) ∪ D(v0 )) = ∅ auch hu ? u0 αi Gm,n
für k = min({|u0 | − |v0 |} ∪ {k ∈ Z : $k ≥ rn}).
0
r ω
0
r
(iii) Wenn hu ? u0 αi Gm
+1,n h v ? v α i für alle α ∈ ( Σ ) mit Dω ( α ) ∩ (D( u ) ∪
r hv ? v0 αi
D(v0 )) = ∅ gilt und D(u0 ) = D(v0 ) ist, dann gilt hu ? u0 αi Gm,n
für alle α ∈ (Σr )ω .
Beweis. (i) Diese Eigenschaft folgt direkt aus Lemma 4.14 und Definition 4.9.
(ii) Die Einschränkung Dω (α) ∩ (D(u0 ) ∪ D(v0 )) = ∅ bewirkt, dass durch
Konkatenieren sowohl von u ? u0 als auch von v ? v0 0̄k mit einem beliebigen α ∈ (Σr )ω , das diese Eigenschaft erfüllt, der ganzzahlige Anteil der
dargestellten Werte nicht geändert wird. Daher folgt diese Eigenschaft
direkt aus Lemma 4.17.
(iii) Sei α ∈ (Σr )ω mit Dω (α) ∩ (D(u0 ) ∪ D(v0 )) 6= ∅, d.h. einige Komponenten der Wörter 0̄ ? u0 α und 0̄ ? v0 α kodieren den Wert 1. Da D(u0 ) = D(v0 )
gilt, ändert sich durch Konkatenieren von α der ganzzahlige Anteil von
u ? u0 und v ? v0 um den gleichen Wert. Es ist also möglich, den ganzzahligen Anteil getrennt von dem Nachkommaanteil zu betrachten. Man
r b̄ als b ā c Er b b̄ c und { ā } F r { b̄ } definiert wurde.
beachte, dass āGm,n
m
n
r
Zunächst wird der ganzzahlige Anteil betrachtet. Da Em
+1 die Relation
r
Em verfeinert, und die Änderung des ganzzahligen Anteils beschränkt ist
(maximal r Komponenten ändern sich um 1), ist es einfach zu sehen, dass
r bh v ? v0 α ic gilt.
auch bhu ? u0 αic Em
Bei der Betrachtung des Nachkommaanteils können die Komponenten
von 0̄ ? u0 α (und von 0̄ ? v0 α) ignoriert werden, die den (ganzzahligen)
Wert 1 darstellen. Dann gibt es aber für alle 1 ≤ i ≤ r ein Wort α0 ∈ (Σr )ω
mit αi0 = αi für i 6∈ Dω (α) und αi0 = 0ω sonst, so dass f ({hu ? u0 αi}) =
r gilt (und genauso für v ? v0 ).
f ({hu ? u0 α0 i}) für alle f ∈ Cm
Da dann Dω (α0 ) ∩ (D(u0 ) ∪ D(v0 )) = ∅ ist, folgt zusammen mit der Anr h v ? v0 α i für alle α ∈ ( Σr )ω
nahme der Aussage (iii), dass hu ? u0 αi Gm,n
gilt.
45
Kapitel 4 Obere Schranken für das Entscheiden linearer Arithmetiken
4.4.2 Obere Grenzen
Mit Hilfe der vorangegangen Resultate kann nun eine obere Grenze für
den Index von ∼ Lω ( ϕ) gezeigt werden.
Satz 4.19. Sei ϕ( x1 , . . . , xr ) eine Formel. Dann existiert eine Konstante c ∈ N,
2cn
so dass der Index von ∼ Lω ( ϕ) durch 22 beschränkt ist, wobei n die Größe von
ϕ, d.h. die Anzahl der Zeichen von ϕ, bezeichnet.
Im Gegensatz zu dem Fall der ganzzahligen linearen Arithmetik verfeir
nert Gm,n
nicht direkt die Relation ∼ Lω ( ϕ) . Aber mit Hilfe der Eigenschafr
ten aus Lemma 4.18 kann man Gm,n
verwenden, um eine weitere Familie
von Relationen zu definieren, die dann ∼ Lω ( ϕ) verfeinert. Die Idee ist
dabei die folgende: Zunächst werden solche Wörter betrachtet, die Werte
r
aus einer einzigen Äquivalenzklasse von Gm,n
kodieren. Diese Wörter
werden bezüglich ihrer Länge mit Hilfe von Lemma 4.18(ii) partitioniert.
Jede diese Partitionen wird mit Lemma 4.18(iii) nochmals in Wörter mit
r
ähnlichen Nachkommaanteilen unterteilt. Nachdem so Gm,n
zweimal verfeinert wurde, erhält man eine Relation, die die Relation ∼ Lω ( ϕ) verfeinert.
r
Man kann dann die obere Grenze für den Index von Gn,m
verwenden, um
eine obere Grenze für die neu definierte Relation und somit für den Index
von ∼ Lω ( ϕ) zu bestimmen.
r auf ( Σr ∪ {?})∗ ×
Beweis. Im Folgenden wird die Äquivalenzrelation Sm
(Σr ∪ {?})∗ definiert. Für alle u, v ∈ (Σr )+ mit u(0), v(0) ∈ {0, $ − 1}r sei
r v gdw. h u i G r
uSm
hvi (vgl. Lemma 4.18(i)). Das leere Wort e sei
22m+2 +1
m+1,2
in einer separaten Äquivalenzklasse. Alle Wörter u ∈ (Σr ∪ {?})∗ mit zwei
oder mehr Vorkommen von ?, bzw. mit u(0) 6∈ {0, $ − 1}r , d.h. Wörter die
nicht eine Zahl kodieren, seien auch in einer separaten Äquivalenzklasse.
r auf Wörtern der Form u ? u0 mit u ∈ ( Σr )+ ,
Die Äquivalenzklassen von Sm
u(0) ∈ {0, $ − 1} und u0 ∈ (Σr )∗ sind folgendermaßen definiert. Für solch
ein Wort u ? u0 bezeichne X die Menge {v ? v0 : hu ? u0 i Gr
hv ?
22m+2 +1
m+1,2
v0 i}. Sei o.B.d.A. |u0 | ≤ |v0 | für alle v ? v0 ∈ X. Dann wird X in Klassen Yk
partitioniert (vgl. Lemma 4.18(ii)):
2m+2 +1
• für k ∈ {0, . . . , dlog$ r22
e − 1}
sei Yk = {v ? v0 : v ? v0 ∈ X und |u0 | + k = |v0 |} und
46
4.4 Gemischte lineare Arithmetik
2m+2 +1
• für k = dlog$ r22
e
sei Yk = {v ? v0 : v ? v0 ∈ X und |u0 | + k ≤ |v0 |}.
r verfeinert diese Partitionierung von X dann so, dass
Die Relation Sm
0
r
0
u ? u Sm v ? v gilt gdw. sowohl D(u0 ) = D(v0 ) als auch u ? u0 , v ? v0 ∈ Yk
für ein k (vgl. Lemma 4.18(iii)).
Damit folgt direkt, dass folgende beiden Aussagen wahr sind.
r v impliziert u ∼
(i) uSm
Lω ( ϕ) v, und
r v ? v0 impliziert u ? u0 ∼
0
(ii) u ? u0 Sm
Lω ( ϕ) v ? v .
r zu zeigen. Die Relation
Es bleibt eine obere Grenze für den Index von Sm
r ist so definiert, dass sie die Äquivalenzklassen von G r
Sm
in
22m+2 +1
m+1,2
2m+2 +1
22
e
dlog$
+ 1 Mengen, und jede dieser Mengen wiederum in 2r
Klassen unterteilt. Der Index von Gr
ist laut Lemma 4.12 durch
22m+2 +1
m+1,2
d ( m +r )
22
2
für eine Konstante d ∈ N beschränkt. Da 1 ≤ m + r ≤ n ist, gibt
r durch
es also eine Konstante c ∈ N, so dass der Index von Sm
2d ( m +r )
22
2m+2 +1
· (dlog$ r22
2dn
e + 1 ) · 2 r ≤ 22
2cn
· 23+n · 2n ≤ 22
beschränkt ist.
Bemerkung 4.20. Man beachte, dass die Sprache Lω ( ϕ) für jede Formel ϕ
in der Borel-Klasse Fσ ∩ Gδ liegt [12], die exakt der Ausdrucksmächtigkeit
von so genannten schwachen deterministischen Büchi-Automaten („weak
deterministic Büchi automata“ – WDBA) entspricht [63]. Für solche Sprachen ist aber der Index von ∼ L gleich der Größe des minimalen WDBA,
der die Sprache L akzeptiert [62]. Daher folgt aus Satz 4.19 eine dreifach
exponentielle obere Schranke für die Anzahl der Zustände des minimalen
WDBA, der die Sprache Lω ( ϕ) akzeptiert. Diese Grenze ist strikt, d.h.
es existiert eine Familie von Formeln ϕn , so dass der Index von ∼ Lω ( ϕn )
mindestens dreifach exponentiell in n ist. Diese Familie von Formeln ist
die Gleiche, die auch für die Struktur Z verwendet wurde, da Z in M
interpretiert werden kann.
47
Kapitel 4 Obere Schranken für das Entscheiden linearer Arithmetiken
4.5 Zusammenfassung
In diesem Kapitel wurde eine dreifach exponentielle obere Schranke sowohl für die Größe der minimalen deterministischen endlichen Automaten
für das Entscheiden der Struktur FO(Z, +, <) unter Verwendung einer
„Most-Significant-Bit-First“ Zahlendarstellung, als auch für die Größe
der minimalen schwachen deterministischen Büchi-Automaten für das
Entscheiden der Struktur FO(R, Z, +, <) gezeigt. Dafür wurden zwei so
genannte Graded-Back-And-Forth-Systeme definiert, und gezeigt, dass
diese eine durch Ehrenfeucht-Fraïssé-Spiele definierte Äquivalenzrelation
auf der jeweiligen Struktur verfeinern. Anschließend wurde gezeigt, dass
diese Systeme bestimmte Kongruenzeigenschaften bezüglich der Konkatenation von Wörtern besitzen, so dass sie verwendet werden konnten,
um diese oberen Schranken abzuleiten. Von der Beziehung zwischen diesen Graded-Back-And-Forth-Systemen und den Sprachen, die in linearer
Arithmetik definierbare Mengen beschreiben, ergeben sich neue Einsichten in die Struktur der Automaten, die diese Sprachen akzeptieren. Wird
zum Beispiel die Struktur FO(Z, +, <) in der Struktur FO(R, Z, +, <)
interpretiert, so ist die Größe der dabei auftretenden Automaten exponentiell in der Anzahl der Variablen größer: Während die obere Schranke
für die Struktur FO(Z, +, <) direkt vom Index des Graded-Back-AndForth-System abhängt, wird im Beweis für die obere Schranke für die
Struktur FO(R, Z, +, <) zusätzlich ein in der Anzahl der Variablen exponentieller Faktor benötigt. Dieser Faktor kommt von der nicht eindeutigen
Darstellung von reellen Zahlen als ω-Wörter.
48
Kapitel 5
Don’t-Care-Sprachen
Obwohl bereits jetzt Automaten ein etabliertes Werkzeug (zum Beispiel
bei der Verifikation von unendlichen Zustandssystemen) sind, ist ein
limitierender Faktor, ähnlich wie bei binären Entscheidungsdiagrammen
(„binary decision diagrams“ – BDDs), die Größe der Automaten. In diesem
Kapitel wird eine Generalisierung des Begriffs Don’t-Cares von BDDs auf
Sprachen eingeführt, um die Größe der automatenbasierten Darstellung
von Mengen zu reduzieren. Es wird gezeigt, dass der minimale schwache
deterministische Büchi Automat („weak deterministic Büchi automaton“
– WDBA) unter Verwendung einer Don’t-Care-Menge mit bestimmten
Eigenschaften eindeutig bestimmt ist und effizient konstruiert werden
kann. Weiterhin wird eine Anwendung der Don’t-Cares zur Optimierung
des automatenbasierten Entscheidungsverfahrens für gemischte lineare
Arithmetik über den ganzen und reellen Zahlen gegeben.
Die Ergebnisse, die in diesem Kapitel vorgestellt werden, wurden in
folgenden Publikationen präsentiert:
• J. Eisinger and F. Klaedtke. Don’t care words with an application to the
automata-based approach for real addition. In Proceedings of the 18th
International Conference on Computer Aided Verification (CAV’06), volume
4144 of Lecture Notes in Computer Science, pages 67–80, 2006.
• J. Eisinger and F. Klaedtke. Don’t care words with an application to the
automata-based approach for real addition. Formal Methods in Systems
Design, 33(1–3):85–115, 2008.
49
Kapitel 5 Don’t-Care-Sprachen
5.1 Einleitung
WDBAs und die Logik FO(R, Z, +, <) haben (potenziell) ein breites Spektrum von Anwendungsgebieten, wie zum Beispiel die symbolische Verifikation von linearen hybriden Automaten [9, 11]. Analog zu BDDs, ist
allerdings ein limitierender Faktor der automatenbasierten Darstellung
von potenziell unendlichen Mengen von ganzen und reellen Zahlen die
Größe der Automaten. Tatsächlich waren die Erfahrungen mit einer ersten
Implementierung eines automatenbasierten Entscheidungsverfahrens für
FO(R, Z, +, <) ernüchternd: bereits für kleinere Formeln war der minimale WDBA häufig überraschend groß. Eine Analyse der konstruierten
Automaten, wie sie im vorherigen Kapitel durchgeführt wurde, führte zu
den Ergebnissen, die in diesem Kapitel vorgestellt werden. Die Analyse
zeigte, dass Automaten, die eine in FO(R, Z, +, <) definierbare Sprache
akzeptieren, viele Redundanzen enthalten. Diese Redundanzen haben
zwei Ursachen. Zum einen kann eine reelle Zahl verschiedene Darstellun1
gen als ω-Wort haben. Zum Beispiel kann die Zahl 10
unter Verwendung
der üblichen dezimalen Zahlendarstellung als ω-Wort 0, 100 . . ., aber auch
als ω-Wort 0, 099 . . . dargestellt werden. Zweitens muss ein Automat entweder alle Darstellungen einer Zahl als ω-Wort akzeptieren, oder alle
Darstellungen verwerfen. Normalerweise werden unterschiedliche Zustände benötigt, um die unterschiedlichen möglichen Darstellungen eines
Wertes zu behandeln. In diesem Kapitel wird eine Lösung für dieses durch
die mehrdeutige Darstellung von Zahlen verursachte Problem präsentiert.
Für BDDs existieren viele Methoden und Algorithmen, um die Größe
der BDDs zu reduzieren. Durch diese Ansätze konnte die Performanz
BDD-basierter Werkzeuge erhöht werden. Eine dieser Techniken ist der
Einsatz so genannter Don’t-Cares [47]. Don’t-Cares sind Eingaben für kombinatorische Schaltkreise, für die die Ausgabe entweder unspezifiziert
oder irrelevant ist. Die Größe einer BDD-basierten Repräsentation solcher Schaltkreise kann reduziert werden, indem die Ausgabe für diese
Don’t-Cares geeignet gewählt wird. In diesem Kapitel wird der Begriff
der Don’t-Cares von BDDs auf Sprachen verallgemeinert. Ganz allgemein
ist eine Don’t-Care-Menge eine Sprache über einem Alphabet. Die Wahl
dieser Sprache hängt von dem Anwendungsgebiet ab. Die Intuition hinter einem Don’t-Care-Wort ist, dass es irrelevant ist, ob dieses Wort zu
einer Sprache gehört oder nicht. Durch Hinzufügen oder Entfernen von
Don’t-Care-Wörtern zu einer Sprache kann die automatenbasierte Darstel-
50
5.2 Optimierung der Automatendarstellung
lung verkleinert werden. Ein triviales Beispiel ist die Don’t-Care-Menge,
die aus allen Wörtern besteht. In diesem Fall können zu einer Sprache
entweder alle Wörter hinzugefügt oder entfernt werden, was zu einem Automaten mit nur einem Zustand führt. Normalerweise ist allerdings eine
Don’t-Care-Menge eine echte Teilmenge aller Wörter und es ist nicht klar,
welche Wörter einer gegebenen Don’t-Care-Menge zu einer Sprache hinzugefügt werden oder entfernt werden müssen, um die automatenbasierte
Darstellung zu verkleinern. Weiterhin kann die Reihenfolge, in der Wörter entfernt oder hinzugefügt werden zu unterschiedlichen (minimalen)
Automaten führen, die die selbe Sprache modulo der Don’t-Care-Menge
akzeptieren. Erfüllt die Don’t-Care-Menge bestimmte Bedingungen, dann
kann gezeigt werden, dass der minimale WDBA eindeutig bestimmt ist
und effizient konstruiert werden kann.
Um die Effektivität von Don’t-Cares zu zeigen, werden sie auf den
automatenbasierten Ansatz zum Entscheiden von gemischter linearer
Arithmetik über den ganzen und reellen Zahlen angewandt.
Dieses Kapitel ist wie folgt aufgebaut: In Abschnitt 5.2 werden Don’tCare-Mengen eingeführt. In Abschnitt 5.3 werden allgemeine Automatenoperationen präsentiert, unter Verwendung einer Don’t-Care-Menge, und
es wird ein Algorithmus zur Behandlung von Quantoren für ein automatenbasiertes Entscheidungsverfahren unter Verwendung von Don’t-Cares
gegeben. Die Ergebnisse werden in Abschnitt 5.4 zusammengefasst.
5.2 Optimierung der
Automatendarstellung
Im Folgenden wird eine optimierte Darstellung der reellen Zahlen als
ω-Wörter definiert, die dann zu dem generellen Konzept von Don’t-CareSprachen führt. Zum besseren Verständnis der Darstellung betrachten wir
zunächst ein Beispiel.
Beispiel 5.1. Sei ϕ( x, y) die Formel x 6= 0 ∧ x + y = 0. Der minimale WDBA,
der die Sprache Lω ( ϕ) für $ = 2 akzeptiert, ist in Abbildung 5.1(a) dargestellt. Dieser WDBA ist vergleichsweise komplex, da er alle verschiedenen
Darstellungen von Paaren reeller Werte als ω-Wörter verwerfen bzw. akω
zeptieren muss. So stellen zum Beispiel die ω-Wörter α = (10) ? (10) und
51
Kapitel 5 Don’t-Care-Sprachen
1
0
1
1
0
0
q4
⋆
1
0
q11
1
0
0
1
1
0
,
q12
q5
0
1
⋆
0
1
q1
1
0
1
q10
0
1
⋆
1
1
1
1
0
0
1
0
0
q8
1
1
0
1
q0
0
0
1
1
1
0
,
1
1
q3
1
0
1
1
0
0
q2
0
0
0
⋆
0
⋆
0
0
1
1
0
0
q9
(a) Normale Darstellung
0
0
0
1
{q0 }
0
1
,
,
1
0
1
1
1
0
{q10 , q11 , q12 }
⋆
0
0
{q8 }
0
1
,
1
0
⋆
1
1
{q1 }
{q3 , q4 , q5 }
(b) Optimierte Darstellung
Abbildung 5.1 – Minimale WDBAs für die Formel x 6= 0 ∧ x + y = 0. Zur
besseren Lesbarkeit wurden die verwerfenden Senken weggelassen.
52
5.2 Optimierung der Automatendarstellung
ω
β = (01) ? (01) beide den Vektor (00) dar, der ϕ nicht erfüllt, so dass der
WDBA beide verwerfen muss. Intuitiv würde man den Vektor (00) durch
ω
das ω-Wort γ = (00) ? (00) darstellen. Für die optimierte Darstellung wird
γ als Repräsentant von (00) ausgewählt, so dass α und β zu der ω-Sprache
hinzugenommen werden können.
Im Allgemeinen kann dann jedes ω-Wort, dass ein Suffix hat, bei dem
mindestens eine Spur die Form ($ − 1)ω hat, als Don’t-Care behandelt
werden. Für diese Wörter kann man frei wählen, ob der Automat sie
akzeptieren oder verwerfen soll. Man beachte, dass es für jeden Vektor
reeller Zahlen ein ω-Wort gibt, das kein Don’t-Care ist.
Betrachtet man die ω-Wörter α und β, so stellt man fest, dass die Läufe des
WDBA in q4ω und q5ω enden. Ändert man diese Zustände in akzeptierende
Zustände, so ändert man auch die Sprache, die der WDBA akzeptiert.
Allerdings werden dadurch nur Don’t-Care-Wörter zu der Sprache hinzugefügt. Man beachte, dass das ω-Wort γ, das auch den Vektor (00) darstellt,
immer noch verworfen wird. Da die Zustände q4 und q5 nun akzeptierend
sind, können sie mit dem Zustand q3 vereinigt werden. Analog kann
man den Zustand q2 verwerfend machen und mit dem Zustand q9 vereinigen. Genauso könnte man die Zustände q11 oder q12 akzeptierend
machen. Allerdings können sie dann nicht mehr mit dem Zustand q10 vereinigt werden. Der resultierende minimale WDBA ist in Abbildung 5.1(b)
dargestellt.
Diese intuitive Beschreibung von Don’t-Cares für die Darstellung von
reellen Zahlen als ω-Wörter wird von der folgenden Definition formal
gefasst.
Definition 5.2. Gegeben eine ganze Zahl r ≥ 1. Ein ω-Wort α ∈ (Σr ∪ {?})ω
ist ein Don’t-Care-Wort wenn es Zahlen t ∈ {1, . . . , r } und k ∈ N gibt, so
dass α(i ) ∈ Σr und (α(i ))t = $ − 1 für alle i ≥ k. DCr bezeichnet die Menge
alle Don’t-Care-Wörter in (Σr ∪ {?})ω .
Das folgende Beispiel zeigt, dass unter Verwendung der Sprachen DCr
Mengen reeller Zahlen exponentiell kompakter durch Automaten dargestellt werden können, als unter Verwendung der Darstellung, wie sie in
Definition 2.1 definiert wurde.
53
Kapitel 5 Don’t-Care-Sprachen
(0,...,0)
(1,...,1)
0
(0,...,0)
(1,...,1)
(0,...,0)
(1,...,1)
⋆
1
2r
(1,...,1,0)
2
(0,...,0,1)
(1,...,1,0)
⋆
2r + 1
(0,...,0,1)
(1,...,0,1)
(1,...,0,1)
(0,...,1,0)
(0,...,1,0)
(0,...,0,1)
(0,...,1,0)
⋆
3
2r + 2
..
.
..
.
(1,...,1,0)
(0,...,0,1)
(0,...,0,1)
(0,...,0,1)
⋆
2r − 1
(1,...,1,0)
2 · 2r − 2
(a) Normale Darstellung
(0,...,0)
(1,...,1)
(0,...,0)
(1,...,1)
q0
(0,...,0)
(1,...,1)
q1
⋆
q2
(b) Optimierte Darstellung
V
Abbildung 5.2 – Minimale WDBAs für die Formel 1≤i<r xi = xi+1 . Zur besseren
Lesbarkeit wurden die verwerfenden Senken weggelassen.
54
5.2 Optimierung der Automatendarstellung
V
Beispiel 5.3. Für r ≥ 1 sei ϕr ( x1 , . . . , xr ) die Formel 1≤i<r xi = xi+1 . Die
Größe des minimalen WDBA in der normalen Darstellung ist exponentiell
in r. Für die Basis $ = 2 ist der minimale WDBA, der die Sprache Lω ( ϕr )
akzeptiert, in Abbildung 5.2(a) dargestellt. Man würde zunächst erwarten,
dass es ausreicht, die 2-er Komplement Darstellungen der Werte ziffernweise auf Gleichheit zu überprüfen, um festzustellen, ob diese Werte ϕr
erfüllen. Das wiederum ist mit einem Automaten mit konstant vielen
Zuständen möglich. Allerdings können Vektoren reeller Werte durch verschiedene ω-Wörter dargestellt werden. Manche Vektoren mit r gleichen
Zahlen können durch bis zu 2r verschiedene ω-Wörter dargestellt werden.
Um auch diese Wörter zu akzeptieren, werden zusätzliche Zustände benötigt. Bei diesen Vektoren handelt es sich um solche, deren r Komponenten
rationale Zahlen sind, deren Nenner durch die Basis $ = 2 teilbar ist. Dass
der selbe Vektor durch Wiederholung des Vorzeichens auf verschiedene
Arten dargestellt werden kann, fällt hier nicht ins Gewicht. Verwendet
man hingegen die Don’t-Care-Menge DCr , hat der minimale WDBA konstant viele Zustände, d.h. die Größe hängt nicht von r ab. Von den 2r
verschiedenen Darstellungen eines r-dimensionalen Vektors gleicher rationaler Zahlen, deren Nenner durch 2 teilbar ist, ist nur eine nicht in der
Menge DCr . Entfernt man all diese Darstellungen, die in DCr liegen, ausser
den Darstellungen der Form u1̄ω für u ∈ (Σr ∪ {?})+ aus der ω-Sprache
Lω ( ϕr ), so erhält man den WDBA B , der in Abbildung 5.2(b) dargestellt
ist. Der Automat B stellt die ω-Sprache Lω ( ϕr ) modulo der Menge DCr
dar, d.h. L(B) \ DCr = Lω ( ϕr ) \ DCr .
Die Idee der Don’t-Care-Wörter ist die folgende: Statt einen WDBA
zu konstruieren, der die ω-Sprache Lω ( ϕ) für eine gegebene Formel ϕ
akzeptiert, wird ein WDBA konstruiert, der eine ω-Sprache akzeptiert, die
zu Lω ( ϕ) ausserhalb der Sprache DCr identisch ist. Es ist allerdings nicht
möglich, einfach alle Don’t-Care-Wörter zu Lω ( ϕ) hinzuzunehmen oder
zu entfernen, da die resultierende ω-Sprache nicht unbedingt von WDBAs
erkannt werden kann. Weiterhin ist nicht gesagt, dass der resultierende
WDBA dadurch kleiner wird. Bevor gezeigt wird, wie algorithmisch
entschieden werden kann, welche ω-Wörter zu der Sprache hinzugefügt
und entfernt werden müssen, um einen kleineren Automaten zu erhalten,
wird das Konzept der Don’t-Care-Sprachen in der folgenden Definition
festgehalten.
Definition 5.4. Eine Don’t-Care-Menge D ist eine ω-Sprache über einem
55
Kapitel 5 Don’t-Care-Sprachen
Alphabet Γ, und ein ω-Wort aus D ist ein Don’t-Care-Wort. Für zwei ωSprache L, L0 ⊆ Γω schreiben wir L ≡ D L0 wenn L \ D = L0 \ D.
Welche Don’t-Care-Menge verwendet werden sollte, hängt von dem
konkreten Anwendungskontext ab. Der Zweck der Don’t-Care-Mengen
ist es, eine kompaktere automatenbasierte Darstellung von Mengen zu
erhalten. Die Don’t-Care-Mengen DCr ergeben sich auf natürliche Weise
aus der Darstellung reeller Zahlen aus Definition 2.1, und in den Beispielen 5.1 und 5.3 wurde gezeigt, dass die Don’t-Care-Mengen DCr die Größe
von WDBAs verkleinern können, die Mengen von Vektoren reeller Zahlen
darstellen.
5.3 Automatenoperationen mit
Don’t-Care-Mengen
In diesem Abschnitt werden einige allgemeine Resultate über Don’t-CareMengen gezeigt. Dabei werden solche ω-Sprachen betrachtet, die von
WDBAs beschrieben werden können. Zunächst wird gezeigt, dass die
üblichen Automatenoperation für boolesche Verknüpfungen auch mit
Don’t-Cares verwendet werden können. Anschließend wird ein Algorithmus zum Entscheiden des Leerheitsproblems unter Verwendung einer
ω-regulären Don’t-Care-Menge D ⊆ Γω gegeben. Zum Schluss wird ein
effizienter Algorithmus zum Minimieren von WDBAs bezüglich einer
Don’t-Care-Menge D ⊆ Γω gegeben, die bestimmte Eigenschaften erfüllt.
Insbesondere wird gezeigt, dass der minimale WDBA bis auf Isomorphie
eindeutig bestimmt ist.
5.3.1 Boolesche Operationen
Die Automatenkonstruktionen für boolesche Operationen, wie Schnitt
und Komplement von ω-Sprachen, müssen nicht geändert werden, wenn
eine Don’t-Care-Menge D ⊆ Γω verwendet wird. Für zwei ω-Sprachen
L, L0 ⊆ Γω mit L ≡ D L0 gilt zum Beispiel Γω \ L ≡ D Γω \ L0 . Es ist
unerheblich, ob sich L und L0 auf der Menge D unterscheiden, d.h. ob
L ∩ D 6= L0 ∩ D ist.
56
5.3 Automatenoperationen mit Don’t-Care-Mengen
Für WDBAs kann also die herkömmliche Produktkonstruktion für
Schnitt und Vereinigung verwendet werden. Gegeben die WDBAs A =
( Q, Γ, δ, q I , F ) und B = ( Q0 , Γ, δ0 , q0I , F 0 ). Dann ist für den Schnitt der
WDBA C = ( Q × Q0 , Γ, η, (q I , q0I ), F × F 0 ) definiert, mit η ((q, q0 ), b) =
(δ(q, b), δ0 (q0 , b)) für q ∈ Q, q0 ∈ Q0 und b ∈ Γ. Die Konstruktion für
die Vereinigung ist ähnlich. Um einen WDBA zu komplementieren werden einfach die akzeptierenden und verwerfenden Zustände vertauscht,
d.h. D = ( Q, Γ, δ, q I , Q \ F ).
Lemma 5.5. (a) Für den WDBA C gilt, dass Lω (C) ≡ D Lω (A) ∩ Lω (B).
(b) Für den WDBA D gilt, dass Lω (D) ≡ D Γω \ Lω (A).
Um einen WDBA für eine Formel ¬ ϕ( x1 , . . . , xr ) zu konstruieren, wird
zunächst ein WDBA für die Formel ϕ( x1 , . . . , xr ) konstruiert, und anschließend komplementiert und mit dem WDBA, der die Sprache Vr akzeptiert,
geschnitten.
5.3.2 Leerheitstest
Das Leerheitsproblem für Büchi-Automaten modulo einer Don’t-CareMenge D ist zu überprüfen, ob der Automat A ein Wort akzeptiert, das
nicht in D liegt. Ist die Menge D ω-regulär, so kann dieses Problem
folgendermaßen gelöst werden. Man konstruiert einen Automaten für
die Sprache Lω (A) \ D und überprüft, ob dieser ein beliebiges
ω-Wort
akzeptiert. Die Komplexität dieses Algorithmus liegt in O n , wobei n die
Größe des Automaten A ist. Man beachte, dass die Menge D fix ist, und
von daher die Größe des Büchi-Automaten für das Komplement von D
eine Konstante ist.
5.3.3 Minimieren von WDBAs
Löding beschreibt einen zweistufigen Algorithmus zum Minimieren von
WDBAs [62]. Im ersten Schritt wird ein gegebener WDBA in linearer Zeit
in eine Normalform überführt, indem eine geeignete Menge von akzeptierenden Zuständen bestimmt wird. Durch diese Operation wird die
von dem WDBA akzeptierte Sprache aber nicht geändert, da nur solche
57
Kapitel 5 Don’t-Care-Sprachen
Zustände geändert werden, die nicht unendlich oft in einem Lauf vorkommen können. In einem zweiten Schritt wird der normalisierte WDBA mit
einem Standardalgorithmus zum Minimieren von DFAs, wie zum Beispiel
dem Algorithmus von Hopcroft [48], minimiert. Dieser Algorithmus von
Löding wird im Folgenden so erweitert, dass er eine Don’t-Care-Menge D
über dem Alphabet Γ berücksichtigt, die die folgenden zwei Einschränkungen erfüllt. (1) D 6= Γω und (2) α ∈ D ⇔ uα ∈ D für alle u ∈ Γ∗
und α ∈ Γω . Im Rest dieses Abschnitts wird vorausgesetzt, dass D die
Bedingungen (1) und (2) erfüllt. Man beachte, dass die Mengen DCr diese
beiden Bedingungen erfüllen.
Normalform von WDBAs mit Don’t-Cares
Im Folgenden wird eine Normalform für WDBAs bezüglich einer Don’tCare-Menge definiert und gezeigt, wie ein beliebiger WDBA in linearer
Zeit normalisiert werden kann.
Definition 5.6. Sei A = ( Q, Γ, δ, q I , F ) ein WDBA.
(i) A ist D-minimal, wenn es keinen kleineren WDBA B gibt mit Lω (A) ≡ D
Lω (B).
(ii) Ein Zustand q ∈ Q ist D-wiederkehrend wenn Lω (A0 ) \ D 6=
∅ wobei A0 der WDBA ( Q, Γ, δ, q, SCC (q)) ist. Ein Zustand ist Dvorübergehend, wenn er nicht D-wiederkehrend ist. Ein SCC ist Dwiederkehrend, wenn es einen D-wiederkehrenden Zustand enthält, und
ansonsten D-vorübergehend.
Ein SCC ohne Schleife (d.h. ein SCC, das nur aus einem Zustand q
besteht, und es gibt kein Wort u mit δ̂(q, u) = q) ist D-vorübergehend.
Man beachte, dass es für die ω-Wörter, die nicht in D sind, egal ist, ob ein
D-vorübergehendes SCC akzeptierend ist oder nicht. Daher kann man die
D-vorübergehenden SCCs akzeptierend oder verwerfend machen, ohne
die ω-Sprache zu verändern, die der Automat modulo der Don’t-CareMenge D akzeptiert.
Das folgende Lemma wird später benötigt.
Lemma 5.7. Sei A = ( Q, Γ, δ, q I , F ) ein WDBA. Für jeden Zustand q ∈ Q
gibt es einen Zustand p ∈ Q, der D-wiederkehrend ist und p ist erreichbar von
q.
58
5.3 Automatenoperationen mit Don’t-Care-Mengen
Beweis. Angenommen, alle Zustände, die von q aus erreichbar sind, sind
D-vorübergehend. Das würde bedeuten, dass alle Läufe von Aq auf einem
beliebigen ω-Wort α ∈ Γω nur D-vorübergehende Zustände enthalten.
Aus der Bedingung (2) folgt dann, dass bereits alle Zustände, die von q I
aus erreichbar sind, D-vorübergehend sind, und somit D = Γω ist. Dies
ist aber ein Widerspruch zu Bedingung (1).
Die Menge der akzeptierenden Zustände kann nun ähnlich wie in
Lödings Algorithmus bestimmt werden, indem die D-vorübergehenden
Zustände akzeptierend bzw. verwerfend gemacht werden, so dass durch
eine anschließende Minimierung mit einem DFA Minimierungsalgorithmus ein minimaler WDBA modulo der Don’t-Care-Menge D entsteht.
Dafür wird die folgende Definition benötigt.
Definition 5.8. Sei A = ( Q, Γ, δ, q I , F ) ein WDBA.
(i) Eine Abbildung c : Q → N ist eine D-Färbung für A, wenn die folgenden
zwei Bedingungen erfüllt sind:
• (c(q) ist gerade ⇔ q ∈ F) für alle D-wiederkehrenden Zustände q ∈ Q,
und
• c( p) ≤ c(q) für alle p, q ∈ Q mit δ( p, b) = q für ein b ∈ Γ.
Die D-Färbung c ist k-maximal für k ∈ N, wenn c(q) ≤ k und c0 (q) ≤
c(q) für alle q ∈ Q und alle D-Färbungen c0 : Q → {0, . . . , k } für A.
(ii) A ist in der D-Normalform, wenn es für ein gerades k ∈ N eine kmaximale Färbung c : Q → N gibt, und F = Fc für Fc = {q ∈ Q :
c(q) ist gerade} ist.1
Der Algorithmus in Abbildung 5.3 berechnet die D-Normalform eines
gegebenen WDBA A = ( Q, Γ, δ, q I , F ).
Die Hauptarbeit ist dabei, eine k-maximale D-Färbung zu berechnen
für ein hinreichend großes, gerades k. Dazu wird der (azyklische) SCCGraph von A in umgekehrter topologischer Reihenfolge traversiert. Man
beachte, dass alle Zustände eines SCCs die gleiche Farbe bezüglich einer
D-Färbung haben. Im Detail arbeitet der Algorithmus folgendermaßen:
1 Man könnte alternativ verlangen, dass
k ungerade ist. Um eine kanonische Normalform
zu erhalten, muss eine Parität festgelegt werden.
59
Kapitel 5 Don’t-Care-Sprachen
Eingabe: WDBA A = ( Q, Γ, δ, q I , F ).
Ausgabe: WDBA A0 in D-Normalform mit Lω (A) ≡ D Lω (A0 ).
1: Berechne den SCC Graph G von A.
2: Markiere SCCs, die D-vorübergehend sind.
3: Berechne eine topologische Sortierung v1 , . . . , vm der Knoten von G.
4: Sei k die kleinste ganze Zahl größer oder gleich zu m.
5: Für i = m bis 1
/* Berechnung der k-maximalen D-Färbung */
6:
Falls vi keine Nachfolger hat und vi akzeptierend ist
7:
Definiere c(q) = k für alle q ∈ vi .
8:
Sonst, falls vi keine Nachfolger hat und vi verwerfend ist
9:
Definiere c(q) = k − 1 für alle q ∈ vi .
10:
Sonst
11:
Sei l = min{c(q) : v j ist ein Nachfolger von vi und q ∈ v j }.
12:
Falls vi D-vorübergehend ist
13:
Definiere c(q) = l für alle q ∈ vi .
14:
Sonst, falls (l gerade und vi akzeptierend) oder
(l ungerade und vi verwerfend) ist
15:
Definiere c(q) = l für alle q ∈ vi .
16:
Sonst
17:
Definiere c(q) = l − 1 für alle q ∈ vi .
18: Liefere den WDBA A0 = ( Q, Γ, δ, q I , Fc ) zurück.
Abbildung 5.3 – Algorithmus zur Berechnung der D-Normalform eines WDBA
A = ( Q, Γ, δ, q I , F ).
In Zeile 1 werden die SCCs S1 , . . . , Sm von A bestimmt. Der SCC Graph
G von A ist folgendermaßen definiert: G besteht aus der Knotenmenge
V = {v1 , . . . , vm }, wobei der Knoten vi zu dem SCC Si korrespondiert
für 1 ≤ i ≤ m. Die Menge der Kanten E ⊆ V × V von G ist definiert als
E = {(vi , v j ) : i 6= j and δ(q, b) ∈ S j für ein q ∈ Si und b ∈ Γ}. Die Größe
des Graphen G ist dabei durch die Größe von A beschränkt. Da |V | ≤ | Q|
und | E| ≤ |Γ| · | Q| gilt, kann der Graph G in linearer Zeit durch einen
klassischen SCC Algorithmus berechnet werden [23].
In Zeile 2 werden die SCCs von A markiert, die D-vorübergehend
sind. Ein SCC v ist D-vorübergehend, wenn Lω (C) ⊆ D, wobei C der
WDBA ( Q, Γ, δ, q, v) ist und q ein Zustand aus v ist. Dazu sind zwei Dinge
anzumerken. Wegen der Bedingung (2) sind entweder alle Wörter, deren
60
5.3 Automatenoperationen mit Don’t-Care-Mengen
Läufe von A im SCC v enden, Don’t-Care-Wörter, oder keines. Daher ist es
unerheblich, welchen Zustand q ∈ v man für C wählt. Weiterhin entspricht
die Beziehung Lω (C) ⊆ D dem Test Lω (C) ∩ (Γω \ D
) = ∅. Unter der
Annahme, dass D ω-regulär ist, kann dies in Zeit O |v| überprüft werden,
da D fix ist und man in einem Vorverarbeitungsschritt den Automat für
Γω \ D konstruieren kann. Insgesamt benötigt also die Markierung des
SCCs in Zeile 2 O ∑v∈V |v| = O | Q| Schritte.
In Zeile 3 werden die Knoten von G topologisch sortiert, d.h. es wird
eine Permutation π : {1, . . . , m} → {1, . . . , m} bestimmt, so dass für alle
1 ≤ i, j ≤ m gilt, wenn (vi , v j ) ∈ E ist, dann ist π (i ) < π ( j). So ein π kann
mit den üblichen Algorithmen in linearer Zeit berechnet werden [23]. Im
Folgenden wird o.B.d.A. angenommen, dass π die Identitätsfunktion ist.
In Zeile 4 wird k als die kleinste gerade ganze Zahl gewählt, die größer oder gleich zu m ist. In der Schleife (Zeile 5–17) wird dann eine
k-maximale D-Färbung c : Q → N für A bestimmt. In der i-ten Iteration
wird die Farbe für die Zustände des SCC vi bestimmt unter Beachtung
der umgekehrten topologischen Ordnung. Zu diesem Zeitpunkt ist die
Farbe aller nachfolgenden SCCs also bereits bestimmt. Sollte es keine
nachfolgenden SCCs geben, so bekommt das SCC eine maximale mögliche Farbe in Abhängigkeit von k und dem Akzeptanzstatus von vi (Zeile
6–9). Aus Lemma 5.7 folgt, dass ein SCC, das keine Nachfolger hat, nicht
D-vorübergehend sein kann. Falls das SCC Nachfolger hat, hängt die
maximal mögliche Farbe für dieses SCC von der minimalen Farbe l der
nachfolgenden SCCs ab (Zeile 11). Ist das aktuelle SCC D-vorübergehend
(Zeile 12–13), dann erhält es die Farbe l. Abhängig von der Parität von l
wird dieses SCC also akzeptierend oder verwerfend. Ist das SCC hingegen
D-wiederkehrend, so hängt die maximal mögliche Farbe sowohl von l als
auch von dem Akzeptanzstatus des SCCs ab (Zeile 14–17).
Mit dem Algorithmus aus Abbildung 5.3 kommt man zu folgendem
Satz:
Satz 5.9. Für einen gegebenen WDBA A = ( Q, Γ, δ, q I , F ) gibt es eine Menge F 0 ⊆ Q so dass der WDBA A0 = ( Q, Γ, δ, q I , F 0 ) in D-Normalform ist,
und Lω (A) ≡ D Lω (A0 ). Die Menge F 0 kann in O | Q| Schritten konstruiert
werden, wenn D ω-regulär ist.
61
Kapitel 5 Don’t-Care-Sprachen
Minimierung von WDBAs mit Don’t-Cares
Der Minimierungsalgorithmus für WDBAs bezüglich einer Don’t-CareMenge D arbeitet nun folgendermaßen: Als erstes wird der gegebene
WDBA in D-Normalform gebracht. Im Folgenden wird der WDBA in
D-Normalform mit einem DFA Minimierungsalgorithmus minimiert
[48].
Insgesamt liegt die Komplexität dieses Algorithmus in O n log n , wobei
n die Größe von A ist. Der Algorithmus liefert einen bis auf Isomorphie
eindeutig bestimmten minimalen WDBA modulo der Don’t-Care-Menge
D.
Satz 5.10. Für einen gegebenen WDBA A = ( Q, Γ, δ, q I , F ) gibt es einen D-
minimalen WDBA A0 mit Lω (A) ≡ D Lω (A0 ). A0 kann in Zeit O | Q| log | Q|
konstruiert werden, wenn D ω-regulär ist. Außerdem ist jeder D-minimale WDBA B in D-Normalform und mit Lω (A) ≡ D Lω (B) isomorph zu A0 .
Der Beweis dieses Satzes folgt dem Beweis in Lödings Artikel [62] über
die Minimierung von WDBAs, muss aber an einigen Stellen angepasst und
für Don’t-Cares verallgemeinert werden. Da dieser Beweis hauptsächlich
auf technischen Lemmas aufbaut, befinden sich der Beweis in Anhang B.
Bemerkung 5.11. Satz 5.10 liefert einen Algorithmus, der entscheidet, welche ω-Wörter aus einer Don’t-Care-Menge einer Sprache hinzugefügt
werden müssen, und welche entfernt werden müssen, um einen minimalen WDBA für eine ω-Sprache modulo der Don’t-Care-Menge zu erhalten.
5.3.4 Behandlung von Quantoren
In diesem Abschnitt wird ein Algorithmus zur Behandlung von Quantoren
für das automatenbasierte Entscheidungsverfahren für gemischte lineare
Arithmetik über den ganzen und reellen Zahlen unter Verwendung der
Don’t-Care-Menge DCr beschrieben.
Verwendet man die herkömmliche Darstellung von Zahlen als ω-Wörter,
so wird ein existentieller Quantor behandelt, indem die entsprechende
Spur für die quantifizierte Variable im WDBA gelöscht wird.2 Der resultierende nicht-deterministische Büchi-Automat errät intuitiv gesprochen
2 Für
die Behandlung des Vorzeichen, d.h. den ersten Buchstaben des ω-Wortes, wird
ein zusätzlicher Schritt benötigt [13, 15].
62
5.3 Automatenoperationen mit Don’t-Care-Mengen
die Ziffern der quantifizierten Variable. Wie in Kapitel 3 erklärt, kann
man in diesem Fall die klassische Potenzmengenkonstruktion für DFAs
verwenden, um den Automaten zu determinisieren. Die Konstruktion
zur Behandlung existentieller Quantoren, die in diesem Abschnitt für
die optimierte Zahlendarstellung vorgestellt wird, ist aufwendiger. Der
Grund dafür ist der folgende. Der Algorithmus muss folgendes Problem
lösen. Angenommen, A ist ein WDBA für die Formel ϕ( x1 , . . . , xr ), d.h.
Lω (A) ≡DCr Lω ( ϕ). Löscht man die Spur, die zu der Variable x1 korrespondiert, erhält man einen nicht-deterministischen Automaten, der eventuell
ω-Wörter α 6∈ DCr−1 akzeptiert, für die es aber nur ω-Wörter γ ∈ DC1
gibt, so dass (γ, α) ∈ Lω (A). Der WDBA für die Formel ∃ x1 ϕ( x1 , . . . , xr )
darf aber solche ω-Wörter wie α nicht akzeptieren. Eine konkrete Instanz
dieses Problem wird im folgenden Beispiel gegeben.
Beispiel 5.12. Wir betrachten wieder die Formel ϕ( x, y) aus Beispiel 5.1,
also x 6= 0 ∧ x + y = 0, und den WDBA in Abbildung 5.1(b). Löscht man
die erste Spur, d.h. die Spur, die der Variable x entspricht, erhält man einen
nicht-deterministischen Büchi-Automat, der das ω-Wort 0 ? 0ω akzeptiert,
da man unendlich lange im Zustand q = {q3 , q4 , q5 } bleiben kann, in dem
der Buchstabe 0 gelesen wird. Allerdings gilt M 6|= ∃ xϕ[h0 ? 0ω i]. Das
Problem hier ist, dass das einzige ω-Wort γ, für das das ω-Wort (γ, 0 ? 0ω )
von dem WDBA in Abbildung 5.1(b) akzeptiert wird, das Don’t-Care-Wort
1 ? 1ω ist. Für das ω-Wort 0 ? 0ω müsste der Zustand q also verwerfend
sein. Auf der anderen Seite muss der Zustand q akzeptierend sein, damit
das ω-Wort 0 ? (10)ω akzeptiert wird.
Bevor im Folgenden die neue Konstruktion vorgestellt wird, sei angemerkt, dass es nicht ausreicht, vor der Quantifikation alle Don’t-CareWörter aus der Sprache des gegebenen WDBA zu entfernen und anschließend die Konstruktion aus [12] anzuwenden. Der Grund dafür ist, dass
der resultierende DBA nicht notwendigerweise schwach ist und deshalb
nicht unbedingt determinisiert werden kann.
Im Folgenden sei ϕ eine Formel mit r freien Variablen x1 , . . . , xr und
A = ( Q, Σr ∪ {?}, δ, q I , F ) ein WDBA für die Formel ϕ, d.h. Lω (A) ≡DCr
Lω ( ϕ). Die Konstruktion des WDBA B mit Lω (B) ≡DCr−1 Lω (∃ xi ϕ) besteht aus drei Schritten. Um die Notation zu vereinfachen, sei o.B.d.A.
i = r und Lω (A) ⊆ Vr . Im ersten Schritt werden die ω-Wörter aus
DCr ∩ Lω (¬ ϕ) behandelt, die von dem WDBA A akzeptiert werden, und
bei denen das Löschen der letzten Spur ein ω-Wort ergibt, das nicht in
63
Kapitel 5 Don’t-Care-Sprachen
DCr−1 liegt. Im zweiten Schritt wird das Vorzeichen, d.h. der erste Buchstabe der ω-Wörter behandelt. Weiterhin wird die letzte Komponente der
Buchstaben gelöscht, mit denen die Transitionen des WDBA A markiert
sind. Im dritten Schritt wird der resultierende Automat determinisiert.
Die folgenden drei Abschnitte beschreiben diese Schritte im Detail.
Erster Schritt: Herausfiltern von Don’t-Care-Wörtern
Wir werden die folgenden zusätzlichen Definitionen benötigen. Sei D die
Menge { β ∈ Vr : β t ∈ DC1 für 1 ≤ t < r }, d.h. die Menge der Don’tCare-Wörter, bei denen mindestens eine der Spuren 1, . . . , r − 1 ein Don’tCare-Wort ist, und für α ∈ Vr sei L(α) = { β ∈ Vr : h βi = hαi}. Für
ein ω-Wort β ∈ (Vr ∩ DCr ) \ D wird im Folgenden eine Normalform β0
definiert mit h βi = h β0 i und β0 ∈ Vr \ DCr . Sei k ≥ 0 die kleinste ganze
Zahl mit β(i )r = ($ − 1) für alle i ≥ k für die β(i ) 6= ? ist. Wenn k = 0 ist,
d.h. das ω-Wort β r die Form ($ − 1)+ ? ($ − 1)ω hat, sei
β(0)1,r−1
β(1)1,r−1
0
β =
...,
0
0
wobei der Buchstabe ? an der Position i von β0 vorkommt, für die β(i ) = ?
ist. Wenn k = 1 ist, d.h. das ω-Wort β r die Form 0($ − 1)+ ? ($ − 1)ω hat,
dann sei
β(0)1,r−1
β(0)1,r−1
β(1)1,r−1
β(2)1,r−1
0
β =
...,
0
1
0
0
wobei der Buchstabe ? an der Position i + 1 von β0 vorkommt, wenn
β(i ) = ? ist. Für k > 1 sei
β(k − 1)1,r−1
β(k )1,r−1
β(k + 1)1,r−1
0
β = β (0) . . . β ( k − 2)
...,
0
0
β ( k − 1 ) r + 1
unter der Annahme, dass β(i ) = ? für ein i ≤ k − 2. Ist β(i ) = ? für
i > k − 2, ist die Definition von β0 ähnlich.
Ausgehend von dem WDBA A wird der WDBA C = ( Q × Q, Σr ∪
{?}, η, (q I , q I ), E) konstruiert, wobei η und E folgendermaßen definiert
sind.
• Für einen Zustand ( p, p0 ) ∈ Q × Q sei
η (( p, p0 ), ?) = (δ( p, ?), δ( p0 , ?)).
64
5.3 Automatenoperationen mit Don’t-Care-Mengen
• Für den Startzustand (q I , q I ), b ∈ Σr−1 und c ∈ Σ sei
(
(δ(q I , (b, c)), δ̂(q I , (bb, 01))) wenn c < $ − 1,
η ((q I , q I ), (b, c)) =
(δ(q I , (b, c)), δ(q I , (b, 0)))
wenn c = $ − 1.
• Für einen Zustand ( p, p0 ) ∈ ( Q × Q) \ (q I , q I ), b ∈ Σr−1 und c ∈ Σ, sei
(
(δ( p, (b, c)), δ( p, (b, c + 1))) wenn c < $ − 1,
η (( p, p0 ), (b, c)) =
(δ( p, (b, c)), δ( p0 , (b, 0)))
wenn c = $ − 1.
• Ein Zustand ( p, q) ist in E gdw. p ∈ F und es gibt ein Wort u ∈ (Σr )+ ,
so dass uω 6∈ DCr ist und η̂ (( p, q), u) = ( p, q) ist. Durch diese Definition
sind entweder alle Zustände eines SCCs in E oder keiner.
Intuitiv arbeitet der so konstruierte WDBA C wie folgt: Die erste Komponente der Zustände von C wird verwendet, um den Lauf des WDBA
A auf einem ω-Wort α zu simulieren. Wenn α ∈ (Vr ∩ DCr ) \ D ist, dann
simuliert die zweite Komponente ab einem gewissen Punkt den Lauf des
WDBAs A auf der Normalform α0 von α. Angenommen, der Lauf von
C auf α endet in dem SCC S ⊆ Q × Q. C akzeptiert α gdw. es einen Zustand in S gibt, der unendlich oft in einem Lauf von C auf einem ω-Wort
γ ∈ Lω (A) \ DCr vorkommen kann. Man beachte, dass die ω-Wörter α
und γ unterschiedlich sein können.
Lemma 5.13. Der WDBA C akzeptiert nur ω-Wörter in Vr . Weiterhin gelten
für α ∈ Vr die folgenden beiden Eigenschaften.
(a) Wenn α ∈ Lω ( ϕ) \ DCr , dann ist α ∈ Lω (C).
(b) Wenn α 6∈ Lω ( ϕ), dann ist Lω (C) ∩ L(α) \ D = ∅.
Beweis. Unter Berücksichtigung der Voraussetzung, dass Lω (A) ⊆ Vr ist,
ist es offensichtlich, dass Lω (C) ⊆ Vr gilt.
(a) Sei α ∈ Lω ( ϕ) \ DCr . Dann gibt es einen akzeptierenden Lauf ϑ =
q0 q1 . . . ∈ Qω von A auf α. Also gibt es eine ganze Zahl k ≥ 0, so dass
qi ∈ F für alle i ≥ k. Sei ϑ0 der Lauf von C auf α. Nach Definition hat ϑ0
die Form (q0 , q00 )(q1 , q10 ) . . . ∈ ( Q × Q)ω für bestimmte q00 , q10 , . . . ∈ Q. Es
ist zu zeigen, dass ϑ0 akzeptierend ist.
Es gibt ein SCC S ⊆ Q × Q und eine ganze Zahl l ≥ k, so dass (qi , qi0 ) ∈ S
für alle i ≥ l. Sei (q, q0 ) ∈ S ein Zustand der unendlich oft in dem Lauf ϑ0
65
Kapitel 5 Don’t-Care-Sprachen
vorkommt. Man beachte, dass q ∈ F ist. Da α 6∈ DCr ist, gibt es ein Wort
u ∈ (Σr )+ , so dass uω 6∈ DCr und η̂ ((q, q0 ), u) = (q, q0 ) gilt. Daher ist nach
Definition von E das SCC S akzeptierend.
(b) Sei ϑ der Lauf von C auf einem ω-Wort β ∈ L(α). Angenommen
ϑ = (q0 , q00 )(q1 , q10 ) . . . ∈ ( Q × Q)ω . Nach der Definition von C ist dann
ξ = q0 q1 . . . ∈ Qω der Lauf von A auf β.
Zunächst sei angenommen, dass ξ verwerfend ist. Dann gibt es eine ganze
Zahl k ≥ 0, so dass qi 6∈ F für alle i ≥ k. Daher kann keiner der Zustände
(qi , qi0 ) für alle i ≥ k auf dem Lauf ϑ akzeptierend sein. Entsprechend ist ϑ
verwerfend.
Angenommen, ξ ist akzeptierend. Man beachte, dass β ∈ DCr , da β 6∈
Lω ( ϕ) und β ∈ Lω (A) ist. Wenn β ∈ D ist, gibt es nichts zu beweisen.
Sei also β 6∈ D. Das bedeutet, dass nur die letzte Spur von β ein Don’tCare-Wort ist und die zweiten Komponenten des Laufes von C auf β ab
einem gewissen Punkt den Lauf von A auf der Normalform β0 simulieren.
Da der Lauf ξ akzeptierend ist, gibt es eine ganze Zahl k ≥ 0, so dass
qi ∈ F ist für alle i ≥ k. Weiterhin gibt es ein SCC S ⊆ Q × Q von C
und eine ganze Zahl l ≥ k, so dass (qi , qi0 ) ∈ S ist und qi ∈ F ist für alle
i ≥ l. Angenommen, das SCC S ist akzeptierend, dann gibt es ein Wort
u ∈ (Σr )∗ mit uω 6∈ DCr und η̂ ((ql , q0l ), u) = (ql , q0l ). Das bedeutet aber,
dass ql und q0l im selben (akzeptierenden) SCC von A liegen: wird ein
Buchstabe gelesen, dessen letzte Komponente nicht $ − 1 ist, ergibt sich die
zweite Komponente des Nachfolgezustandes laut Definition von η aus der
ersten Komponente. Da u mindestens einen solchen Buchstaben enthalten
muss (sonst wäre uω ∈ DCr ), ist q0l von ql aus erreichbar. Entsprechend
akzeptiert der WDBA A auch die Normalform β0 von β. Da aber β0 6∈ DCr
ist und β0 6∈ Lω ( ϕ) ist, wäre dies ein Widerspruch zu der Annahme, dass
Lω (A) ≡DCr Lω ( ϕ) ist.
Eine obere Schranke für die Größe des konstruierten Automaten C ist
wobei n die Größe des WDBA A ist. Es ist eine offene Frage, ob die
quadratische obere Schranke tatsächlich angenommen wird, wenn A eine
in M definierbare Sprache darstellt.
n2 ,
66
5.3 Automatenoperationen mit Don’t-Care-Mengen
Zweiter Schritt: Behandlung des Vorzeichens
Sei C = ( P, Σr ∪ {?}, η, p I , E) der WDBA, der im ersten Schritt anhand
des WDBA A konstruiert wurde. Im zweiten Schritt wird ein schwacher
Büchi-Automat D konstruiert mit Lω (D) ≡DCr−1 Lω (∃ xr ϕ).
1. Zunächst wird die letzte Komponente der Buchstaben, mit denen die
Transitionen von C markiert sind, gelöscht, d.h. es wird ein schwacher
Büchi-Automat D 0 = ( P, Σr−1 ∪ {?}, ξ 0 , p I , E) konstruiert mit
(
η ( p, ?)
falls b = ?,
ξ 0 ( p, b) =
{η (q, (b, c)) : c ∈ Σ} sonst,
für p ∈ P und b ∈ Σr−1 ∪ {?}.
2. Um einen Automaten D zu erhalten, der die ω-Sprache Lω (∃ xr ϕ)
modulo der Don’t-Care-Menge DCr−1 akzeptiert, muss das Vorzeichen
gesondert behandelt werden. Der Grund dafür ist, dass der Automat
D 0 ein ω-Wort der Form bbγ ∈ Vr−1 akzeptieren könnte, nicht aber
bγ ∈ Vr−1 . Dies kommt dann vor, wenn die kürzeste Darstellung des
ganzzahligen Anteils der „erratenen Spur“ für die Variable xr länger ist,
als die kürzeste Darstellung der ganzzahligen Anteil für die Variablen
x 1 , . . . , x r −1 .
Der schwache Büchi-Automat D ist dann ( P, Σr−1 ∪ {?}, ξ, p I , E), wobei
die Transitionsfunktion ξ folgendermaßen definiert ist. Für p ∈ P \ { p I }
und b ∈ Σr−1 ∪ {?} sei ξ ( p, b) = ξ 0 ( p, b). Für den Startzustand sei
ξ ( p I , ?) = ξ 0 ( p I , ?) und
ξ ( p I , b) = {η̂ ( p I , (bn , u)) : n > 0, u ∈ Σ∗ und |u| = n},
für b ∈ Σr−1 .
Die Konstruktion für den Automaten D ist exponentiell in r, da die
Transitionen für den Startzustand für jeden Buchstaben in Σr−1 berechnet
werden müssen.
Lemma 5.14. Es ist Lω (D) ≡DCr−1 Lω (∃ xr ϕ).
Beweis. Es ist zu zeigen, dass Lω (D) \ DCr−1 = Lω (∃ xr ϕ) \ DCr−1 gilt.
(⊆) Sei α ∈ Lω (D) \ DCr−1 . Nach der Konstruktion von D gibt es ein
ω-Wort β ∈ Vr , so dass β 1,r−1 = α(0) . . . α(0)α und β ∈ Lω (C) \ D ist.
67
Kapitel 5 Don’t-Care-Sprachen
Man beachte, dass hα(0) . . . α(0)αi = hαi gilt. Aus Lemma 5.13(b) folgt,
dass β ∈ Lω ( ϕ) ist, da ( Lω (C) \ D) ∩ L( β) 6= ∅. Also ist α ∈ Lω (∃ xr ϕ).
(⊇) Sei α ∈ Lω (∃ xr ϕ) \ DCr−1 , d.h. es gibt ein ω-Wort β ∈ Lω ( ϕ) \ DCr , so
dass h β 1,r−1 i = hαi. Aus Lemma 5.13(a) folgt, dass β ∈ Lω (C) ist. Sei ϑ
ein akzeptierender Lauf von C auf β. Nach Konstruktion ist ϑ auch ein
akzeptierender Lauf von D 0 auf β 1,r−1 .
Seien i, j > 0 die Längen der ganzzahligen Anteile von α und β. Man kann
o.B.d.A. annehmen, dass i ≤ j ist. Ist i = j, dann ist α = β 1,r−1 . In diesem
Fall ist ϑ auch ein akzeptierender Lauf von D . Wenn i < j ist, dann ist
nach Konstruktion ϑ (0)ϑ ( j − i )ϑ ( j − i + 1) . . . ein akzeptierender Lauf von
D auf α. In beiden Fällen gilt also α ∈ Lω (D).
Dritter Schritt: Determinisierung
In diesem Schritt wird der schwache Büchi-Automat D = ( P, Σr−1 ∪
{?}, ξ, p I , E), der im vorherigen Schritt konstruiert wurde, in einen WDBA B überführt, so dass Lω (B) ≡DCr−1 Lω (D) gilt. Man beachte, dass
die Sprache, die der Automat D akzeptiert, auch von einem WDBA akzeptiert werden kann, d.h. in der Klasse WDBA liegt. Laut Satz 3.5 aus
Kapitel 3 kann dieser WDBA effizient konstruiert werden und hat die
Form B = (P ( Q), Σr−1 ∪ {?}, ζ 0 , { p I }, E0 ). Um die Menge der akzeptierenden Zustände E0 zu bestimmen, reicht es aus, jedes SCC S ⊆ P ( Q)
zu betrachten. Dazu wird ein beliebiger Zustand q ∈ S gewählt. Angenommen ζ̂ 0 ({qi }, u) = q für ein u ∈ (Σr−1 ∪ {?})∗ . Es wird ein Wort
w ∈ (Σr−1 ∪ {?})+ gesucht, so dass ζ̂ 0 (q, w) = q und wω 6∈ DCr−1 . So ein
Wort kann entweder durch Breiten- oder Tiefensuche gefunden werden.
Wenn so ein Wort w nicht existiert, dann ist das SCC DCr−1 -vorübergehend,
und es ist egal, ob das SCC S akzeptierend oder verwerfend ist. Ansonsten ist S DCr−1 -wiederkehrend. In diesem Fall wird überprüft, ob A das
Wort uwω akzeptiert. Man beachte, dass wegen Eigenschaft (2), die wir
für Don’t-Care-Mengen gefordert haben, gilt, dass uwω 6∈ DCr−1 . Wenn
uwω ∈ Lω (A) ist, dann sind die Zustände in S akzeptierend, und ansonsten verwerfend.
Man beachte, dass dies dem Algorithmus aus Abbildung 3.2 aus Kapitel 3 entspricht, wobei die Einschränkung, dass wω 6∈ DCr−1 nötig ist, da
68
5.4 Zusammenfassung
sonst der Test uwω ∈ Lω (A) modulo der Don’t-Care-Menge DCr−1 nicht
die gewünschte Information liefert.
5.4 Zusammenfassung
In diesem Kapitel wurde das Konzept der Don’t-Cares von BDDs auf
Automaten verallgemeinert und demonstriert, dass diese die Größe von
Automaten reduzieren können. Dies gilt insbesondere für solche Automaten, die von einem automatenbasierten Entscheidungsverfahren für
FO(R, Z, +, <) erzeugt werden. Es wurden allgemeine Konstruktionen
und Resultate über Don’t-Care-Mengen, wie zum Beispiel die Minimierung von WDBAs, und speziell für das Entscheiden von FO(R, Z, +, <)
angepasste Algorithmen wie die Behandlung von Quantoren vorgestellt.
69
Kapitel 5 Don’t-Care-Sprachen
70
Kapitel 6
Implementierung
Die erfolgreiche Automatisierung verschiedenster Aufgaben in der Verifikation hängt stark von der Verfügbarkeit effizienter Entscheidungsverfahren für Fragmente der Logik erster Stufe ab. Auch interaktive Theorembeweiser wie PVS machen Gebrauch von solchen Entscheidungsverfahren,
um einen höheren Grad an Automatisierung zu erreichen. Die in den
vorherigen Kapiteln vorgestellten Ergebnisse wurden in dem Tool LIRA implementiert. Bei LIRA handelt es sich um ein automatenbasiertes
Entscheidungsverfahren für die Logik der ersten Stufe über linearen Arithmetiken. Bei diesen Logiken handelt es sich um FO(N, +), FO(Z, +, <)
und FO(R, Z, +, <). In diesem Kapitel wird das Werkzeug LIRA vorgestellt und ein Bericht über die Evaluation dieses Werkzeugs anhand von
mehreren Klassen von Benchmarks gegeben.
Die Ergebnisse, die in diesem Kapitel präsentiert werden, wurden in
folgenden Publikationen thematisiert:
• B. Becker, C. Dax, J. Eisinger, and F. Klaedtke. LIRA: Handling constraints of linear arithmetics over the integers and the reals. In Proceedings of the 19th International Conference on Computer Aided Verification
(CAV’07), volume 4590 of Lecture Notes in Computer Science, pages 307–
310. Springer-Verlag, 2007.
• C. Dax, J. Eisinger, and F. Klaedtke. Mechanizing the powerset construction for restricted classes of ω-automata. In Proceedings of the 5th
International Symposium on Automated Technology for Verification and Analysis (ATVA’07), volume 4762 of Lecture Notes in Computer Science, pages
223–236. Springer-Verlag, 2007.
• J. Eisinger and F. Klaedtke. Don’t care words with an application to the
automata-based approach for real addition. Formal Methods in Systems
Design, 33(1–3):85–115, 2008.
71
Kapitel 6 Implementierung
6.1 Einleitung
Das aus dieser Arbeit hervorgegangene Programm LIRA stellt eine Automatenbibliothek zur Verfügung, die es erlaubt, DFAs und WDBAs effizient
darzustellen und zu manipulieren. Man kann LIRAs Automatenbibliothek
mit einem BDD Paket vergleichen, das es erlaubt, endliche Mengen darzustellen, die durch boolesche Variablen definiert sind. Anstelle von BDDs
verwendet LIRA DFAs, um in FO(N, +) und in FO(Z, +, <) definierbare
Mengen darzustellen, und WDBAs, um in FO(R, Z, +, <) definierbare
Mengen darzustellen. Solche Mengen effizient darzustellen und zu manipulieren, findet nicht nur Anwendung beim Entscheiden von Formeln
über diesen Logiken. Zum Beispiel muss auch bei der Verifikation von so
genannten Integer-Counter-Systemen und hybriden Systemen mit solchen
Mengen umgegangen werden. Auch Verifikationsmethoden wie das so genannte Regular-Model-Checking basieren auf der effizienten Manipulation
von Automaten.
Im Folgenden werden Details zur Implementierung von LIRA gegeben und insbesondere Alleinstellungsmerkmale beleuchtet. Anschließend
werden anhand von Benchmarks die in LIRA implementierten Automatenoperationen evaluiert, und einige Anwendungsbeispiele und Vergleiche
zu anderen Ansätzen gegeben.
6.2 Implementierungsdetails und
Alleinstellungsmerkmale
LIRA ist in C++ implementiert. Für eine gegebene Formel baut LIRAs
Entscheidungsverfahren den minimalen DFA oder WDBA, je nach ausgewählter Logik. Durch Analyse des Automaten stellt LIRA dann fest, ob
die Formel erfüllbar ist oder nicht. Zusätzlich kann eine erfüllende Belegung bzw. eine nichterfüllende Belegung ausgegeben werden, sofern diese
existieren, und es kann der konstruierte Automat ausgegeben werden.
LIRA definiert eine abstrakte Programmierschnittstelle zu den implementierten Entscheidungsverfahren. Eine Formel wird als Baumstruktur
72
6.2 Implementierungsdetails und Alleinstellungsmerkmale
dargestellt und generische Funktionen implementieren syntaktische Transformationen auf einer derartigen Darstellung. LIRAs Entscheidungsverfahren verwenden diese abstrakte Programmierschnittstelle, um aus dieser
Baumdarstellung der Formel eine Sequenz von Operationen zu generieren. Die Entscheidungsverfahren können leicht verändert oder erweitert
werden, um domänenspezifisches Wissen auszunutzen oder neue Heuristiken zu implementieren. Die Sequenz der Operation wird anschließend
mit Hilfe der Automatenbibliothek von LIRA ausgeführt, um zu überprüfen ob die gegebene Formel erfüllbar ist. LIRAs Automatenbibliothek
stellt eine effiziente Implementierungen der herkömmlichen Automatenkonstruktionen für DBAs und WDBAs zur Verfügung sowie spezielle
Automatenkonstruktionen für die unterstützten logischen Theorien, wie
etwa lineare Gleichungen und Ungleichungen. Auf die Automatenbibliothek kann über eine eigene Programmierschnittstelle zugegriffen werden.
LIRA verwendet eine ähnliche Darstellung für (deterministische) Automaten wie MONA [55], bei der so genannte „shared multi-terminal
binary decision diagrams“ (MTBDDs) verwendet werden, um die Transitionsfunktion der Automaten kompakt darzustellen. Im Gegensatz zu
BDDs, die eine Abbildung Bn → B darstellen, stellt ein MTBDD eine Abbildung Bn → A für eine Menge A dar. Um die Transitionsfunktion mit
MTBDDs darzustellen, werden die Zustände aus Q mit den natürlichen
Zahlen {0, . . . , | Q| − 1} assoziiert und A = N gewählt. Für jeden Zustand
wird nun ein MTBDD gespeichert, der die ausgehenden Transitionen des
jeweiligen Zustands darstellt. Zahlen werden als Wörter bzw. ω-Wörter
in der Basis $ = 2 dargestellt. Um ω-Wörter aus Vr mit MTBDDs darzustellen, wird das Alphabet ({0, 1}r ∪ {?}) auf Br+1 abgebildet. Die erste
Komponente eines Vektors aus Br+1 ist genau dann 1, wenn der Buchstabe ? dargestellt wird. Ansonsten stellen die letzten r Komponenten den
Vektor aus {0, 1}r dar. Die Implementierung verwendet das Programmpaket CUDD [25], um solche MTBDDs darzustellen und zu manipulieren.
Dadurch kann LIRA von CUDDs Cache-optimierten Algorithmen profitieren. Ähnlich wie MONA erlaubt auch LIRA die explizite Darstellung
von booleschen Variablen. Boolesche Variablen werden als Wörter der
Länge 1 behandelt. Ihr Wert beeinflusst also nur die erste Transition des
Automaten. Durch die MTBDD basierte Darstellung der Transitionsfunktion können so boolesche Variablen ähnlich effizient wie mit einem BDD
behandelt werden.
Die Automatendarstellung verwendet so genannte Don’t-Care-Zustände
73
Kapitel 6 Implementierung
sowohl für DFAs als auch für WDBAs, wie sie von MONA für DFAs verwendet werden [54]: Neben akzeptierenden und verwerfenden Zuständen
wird eine dritte Art Zustände eingeführt. Diese Don’t-Care genannten
Zustände haben in Bezug auf die Akzeptanzbedingung die gleiche Bedeutung wie verwerfende Zustände und werden eingesetzt, um solche
Wörter zu verwerfen, die nicht eine Zahl kodieren. Diese Erweiterung
erlaubt es Automaten effizienter zu komplementieren, indem die akzeptierenden und verwerfenden Zustände vertauscht werden. Da Wörter, die
nicht Zahlen kodieren, durch Don’t-Care-Zustände behandelt werden, ist
es nicht nötig, nachträglich ungültige Kodierungen aus der Sprache zu
entfernen. Diese Automatendarstellung wurde aus der Diplomarbeit [31]
übernommen.
Darüberhinaus wurden Don’t-Care-Wörter implementiert, wie sie im
vorherigen Kapitel eingeführt wurden. Zur Behandlung von Quantoren
für FO(R, Z, +, <) werden effizientere Konstruktionen verwendet als sie
bisher zum Einsatz kamen: Diese basieren auf der Potenzmengenkonstruktion und verwenden nicht die aufwendigere Breakpoint-Konstruktion
(siehe Kapitel 3).
6.3 Anwendungen und Benchmarks
6.3.1 Experimentelle Evaluation
Um die Effektivität und Performanz der Implementierung zu messen,
wurden Tests auf drei Problemklassen durchgeführt: (1) zufällig generierte Formeln, (2) Formeln, die kontinuierliche Zustandstransitionen von
unendlichen Zustandssystemen beschreiben, und (3) die iterative Berechnung der erreichbaren Zustände von unendlichen Zustandssystemen. Im
Folgenden werden die Testfälle im Detail beschrieben, und die Ergebnisse
diskutiert.
Umgebung
Alle Experimente wurden auf einem Rechner mit zwei AMD Opteron
2, 6GHz CPUs und 16 GByte Hauptspeicher durchgeführt. Als Betriebs-
74
6.3 Anwendungen und Benchmarks
system kam Debian GNU/Linux 4.0 zum Einsatz. Es wurde LIRA Version
1.1.2 verwendet1 , das mit dem GNU C++ Compiler 4.1.2 übersetzt wurde.
Zufällige Formeln
Die Automatenbibliothek LIRA wurde mit Hilfe von zufällig generierten
Formeln evaluiert. Diese Klasse besteht aus 100 quantorenfreien Formeln
mit 4 Variablen und je ungefähr 10 Disjunktionen und Konjunktionen.
Als erster Test wurde der minimale WDBA für diese Formeln konstruiert.
Vergleicht man den minimalen WDBA für eine gegebene Formel mit
dem minimalen WDBA modulo der Don’t-Care-Menge DCr , so ist die
Größe der Automaten, die während der Konstruktionen erzeugt wurden,
moderat kleiner (im Schnitt 8,4%).
Als zweiter Test wurde eine Variable in jeder der zufällig generierten
Formeln existentiell quantifiziert und wieder der minimale WDBA konstruiert. Verwendet man die Don’t-Care-Menge DCr , so werden bei der
Quantifikation größere Zwischenergebnisse erzeugt (im Schnitt 18,9%).
Nach der Normalisierung und Minimierung sind die Automaten unter
Verwendung von Don’t-Care-Mengen wieder kleiner (im Schnitt 7,7%).
Die benötigte Laufzeit ist im Durchschnitt gleich, unabhängig davon ob,
Don’t-Care-Mengen verwendet wurden oder nicht.
Vergleicht man die auf Potenzmengen basierende Automatenkonstruktion für die Quantifikation, wie sie in Kapitel 3 vorgestellt wurden, mit
dem auf der Breakpoint-Konstruktion basierenden Algorithmus [65, 59],
so erzeugt die auf der Potenzmengen basierende Konstruktion im Schnitt
15% bis 20% kleinere Automaten. Da die Laufzeit der Konstruktion direkt
von der Größe der Automaten abhängt, und zusätzlich die anschließende
Minimierung der Automaten weniger Zustände betrachten muss, wurde
die Konstruktion im Schnitt sogar um 20% bis 25% beschleunigt.
Als dritter Test wurden die 4 Variablen auf ganze Zahlen beschränkt.
Die Einsparung durch die Verwendung von Don’t-Care-Mengen waren
hierbei substantiell (im Schnitt 48,5%), da jeder ganzzahlige Vektor durch
ω-Wörter aus DCr dargestellt werden kann. Schränkt man alle Variablen
auf ganze Zahlen ein, so kann man auch DFAs statt WDBAs verwenden.
1 Die
Quellen von LIRA sowie eine Dokumentation der Programmierschnittstellen sind
unter http://lira.gforge.avacs.org/ verfügbar.
75
Kapitel 6 Implementierung
Für die zufällig generierten Formeln sind die resultierenden minimalen
DFAs ungefähr so groß wie die WDBAs unter Verwendung von Don’tCares (die DFAs sind im Schnitt 0,6% kleiner). Dies deutet darauf hin, dass
der Mehraufwand, der durch die Verwendung von WDBAs mit Don’tCare-Mengen entsteht, gering ist, wenn ganzzahlige Variablen behandelt
werden.
Zusammenfassend kann man feststellen, dass auf zufällig generierten Formeln der Einsatz von Don’t-Cares keinen signifikanter Vorteil
bringt. Allerdings kann mit Hilfe von Don’t-Cares der Mehraufwand bei
der Behandlung von ganzzahligen Variablen reduziert werden. Auch ist
festzuhalten, dass der auf der Potenzmengenkonstruktion basierende Algorithmus zur Behandlung von Quantoren deutlich effizienter ist, als ein
auf der Breakpoint-Konstruktion basierender Ansatz.
Kontinuierliche Transitionsrelationen
Viele unendliche Zustandssysteme wie lineare hybride Automaten [43]
können durch Formeln in der Logik der ersten Stufe über der Struktur
FO(R, Z, +, <) beschrieben werden. Für die in diesem Abschnitt betrachtete Klasse von Tests wurden die kontinuierlichen Transitionsrelationen von
derartigen Systemen formalisiert, d.h. die kontinuierliche Entwicklung
über der Zeit der Zustandsvariablen solcher Systeme. Es wurden verschiedene lineare hybride Automaten betrachtet, die für den Model-Checker
HYTECH [45] entworfen wurden, nämlich Audio, Corbett, Plane, Railroad
und Reactor. Eine detailierte Beschreibung der komplexeren Fälle Audio
und Corbett findet sich in dem Artikel von Henzinger und Ho [44]. Mit
Hilfe von LIRA wurde der minimale WDBA für diese Formeln konstruiert.
Die Ergebnisse sind in Tabelle 6.1 zusammengefasst.
Mit Ausnahme von dem System Audio kam es in allen Fällen bei der
Verwendung von WDBAs mit der Don’t-Care-Menge DCr zu signifikanten
Einsparungen von teilweise mehr als einer Größenordnung, und zwar
sowohl die Größe der Automaten als auch die benötigte Laufzeit betreffend. Bei dem Audio Testfall kam es nur zu kleinen Einsparungen in
Bezug auf die Größe der Automaten. Die benötigte Laufzeit zur Konstruktion der Automaten für das System Audio war sogar etwas größer als
Don’t-Care-Mengen verwendet wurden. Diese Situation kann auftreten,
76
6.3 Anwendungen und Benchmarks
mit Don’t-Cares
ohne Don’t-Cares
Max. Final Zeit Speicher Max.
Final Zeit
Audio
76.833 5.235 16, 59s 258MB
78.804 5.339 15, 58s
Corbett 57.161 18.196 19, 75s 432MB 1.245.719 196.493 405, 15s
Plane
33.381 8.462 16, 26s 297MB
593.721 118.326 223, 21s
Railroad 412.759 43.962 68, 68s 846MB 1.275.640 177.289 204, 38s
Reactor
5.287
273 1, 71s
45MB
83.998 8.547 16, 98s
Speicher
256MB
3.595MB
2.946MB
2.324MB
459MB
Tabelle 6.1 – Maximale und minimierte Größe der Automaten, Laufzeit und Speicherverbrauch der Konstruktion der minimalen WDBAs für die kontinuierlichen
Transitionsrelationen linearer hybrider Automaten.
wenn der minimale WDBA A, der eine Sprache modulo einer Don’t-CareMenge akzeptiert, nur wenig kleiner ist als der minimale WDBA B , der
die korrespondierende Sprache ohne Don’t-Care-Menge akzeptiert, und
die Konstruktion zur Behandlung von Quantoren aus Abschnitt 5.3.4 in
Kapitel 5 auf A angewendet wird. Man beachte, dass diese Konstruktion
komplexer ist, als eine Konstruktion die ohne Don’t-Care-Mengen durchgeführt wird. Es kann sogar sein, dass im ersten Konstruktionsschritt ein
Zwischenergebnis erzeugt wird, das größer ist als der WDBA B .
Insgesamt kann man festhalten, dass durch den Einsatz von Don’t-CareMengen bei dieser Klasse von Testfällen Einsparungen von mehr als einer
Größenordnung möglich sind.
Erreichbarkeitsanalyse
Um die Menge der erreichbaren Zustände eines unendlichen Zustandssystems zu berechnen, wurde ein Prototyp entwickelt, der anhand einer
Beschreibung des Systems iterativ minimale WDBAs derart berechnet,
dass diese die Mengen erreichbarer Zustände darstellen. Der Prototyp
beginnt die Berechnung mit einer Menge R0 , die die initialen Zustände
des Systems beschreibt. In jeder Iteration i > 0 wird die Menge Ri anhand
der Menge Ri−1 konstruiert, indem die Zustände zu dieser Menge hinzugenommen werden, die über die Transitionsrelation des Systems von Ri−1
aus erreichbar sind. Die Berechnung endet in der Iteration i, wenn zu den
Zuständen von Ri−1 keine weiteren Zustände mehr hinzukommen. Die
Mengen R0 , R1 , . . . werden durch minimale WDBAs beschrieben. Dieser
77
Kapitel 6 Implementierung
#
#
mit Don’t-Cares
Proz. Iter. Max. Final Zeit
ohne Don’t-Cares
Speicher Max.
Final Zeit
Speicher
Fischer
2
3
4
5
9
77
53
0, 10s
9MB
657
182
0, 49s
10MB
15
579
405
1, 94s
12MB
5.911 2.045
12, 34s
26MB
21 6.701 4.377
57, 53s
78MB
77.208 27.548
373, 24s 327MB
27 84.949 55.885 1.669, 80s 1.459MB 1.369.011 430.727 13.231, 63s 7.595MB
Bakery
2
3
4
5
100
100
100
100
72
214
654
2.059
–
–
–
–
Audio 19
Corbett 19
Plane
8
Railroad 9
Reactor 7
45.837
11.743
82.665
81.143
106.260
372
6.302
3.937
17.992
20.575
0, 59s
2, 41s
9, 45s
41, 14s
9MB
10MB
11MB
18MB
70, 74s 244MB
38, 01s
82MB
82, 32s 707MB
122, 68s 1.435MB
175, 78s 1.011MB
259
750
3.273
14.985
–
–
–
–
0, 84s
7, 13s
53, 18s
372, 53s
9MB
10MB
18MB
67MB
726.277 6.878 1.239, 28s 3.353MB
326.895 27.051
471, 19s 1.152MB
–
–
– > 16GB
143.848 20.509
207, 52s 2.388MB
393.622 40.231
550, 15s 2.563MB
Tabelle 6.2 – Experimentelle Ergebnisse der Erreichbarkeitsanalyse für verschiedene lineare hybride Automaten: Anzahl der Prozesse, Iteration der Erreichbarkeitsanalyse, maximale und minimierte Größe der Automaten, Laufzeit und
Speicherverbrauch.
Prototyp dient in erster Linie dazu, die verschiedenen Automatenkonstruktionen (mit und ohne Don’t-Care-Mengen) zu vergleichen, nicht jedoch,
um mit speziell an diese Aufgabenstellung angepassten Werkzeugen zu
konkurieren.
Mit Hilfe des Prototyps wurden die verschiedenen Automatenkonstruktionen verglichen, die bei der Berechnung der erreichbaren Zustände für
verschiedene lineare hybride Automaten auftreten. Zusätzlich zu den linearen hybriden Automaten, die bereits für die letzte Testklasse betrachtet
wurden, werden Fischers Protokoll und das Bakery Protokoll analysiert.
Beides sind Protokolle, die einen ausschließlichen Zugriff auf eine Ressource garantieren sollen, und die in der Anzahl der konkurierenden
Prozesse parametrisiert sind. In Tabelle 6.2 und Abbildung 6.1 sind die Ergebnisse zusammengefasst. Im Folgenden werden die erzielten Ergebnisse
diskutiert.
Vergleicht man den Speicherverbrauch, zum Beispiel für den Testfall
78
6.3 Anwendungen und Benchmarks
Automatengröße
Fischer 4 (max. Größe der WDBAs)
8.0e+04
7.0e+04
6.0e+04
5.0e+04
4.0e+04
3.0e+04
2.0e+04
1.0e+04
0.0e+00
0
20
40
60
80
100 120 140 160
Zwischenschritte
Fischer 4 (Größe der minimierten WDBAs)
3.5e+04
Automatengröße
3.0e+04
2.5e+04
2.0e+04
1.5e+04
1.0e+04
5.0e+03
0.0e+00
0
20
40
60 80 100 120 140 160
Zwischenschritte
Abbildung 6.1 – Größe der Automaten, die während der Erreichbarkeitsanalyse
für Fischers Protokoll mit 4 Prozessen konstruiert wurden. Die durchgängigen
(gestrichelten) Linien entsprechend der optimierten (normalen) Zahlendarstellung.
Corbett in Tabelle 6.1 und Tabelle 6.2, so fällt auf, dass der Speicherbedarf,
um den minimalen WDBA für die kontinuierliche Transitionsrelation zu
konstruieren höher ist, als der Speicherbedarf für die komplette Erreichbarkeitsanalyse. Der Grund dafür ist folgender: Angenommen die Formel
ϕ( x̄ 0 , t, x̄ ) beschreibt die kontinuierliche Transitionsrelation eines linearen
hybriden Automaten von einem Zustand x̄ 0 zu einem Zustand x̄ der Dauer t ≥ 0. Während der Durchführung der Experimente ist aufgefallen,
dass der teuerste Schritt bei der Konstruktion des WDBA für die Formel
∃t(t ≥ 0 ∧ ϕ( x̄ 0 , t, x̄ )) die Behandlung der existentiellen Quantifikation
von t ist. Daher wird während der Erreichbarkeitsanalyse nicht der minimale WDBA für ∃t(t ≥ 0 ∧ ϕ( x̄ 0 , t, x̄ )) konstruiert. Stattdessen wird in
der Iteration i die Formel ∃t(t ≥ 0 ∧ ∃ x̄ 0 ( Ni ( x̄ 0 ) ∧ ϕ( x̄ 0 , t, x̄ ))) konstruiert,
79
Kapitel 6 Implementierung
wobei Ni die Menge der Zustände beschreibt, die seit der letzten Iteration
i − 1 ≥ 0 neu hinzugekommen sind. Als nächstes werden die Quantoren
über die Variablen x̄ 0 nach innen gezogen. Für die resultierende Formel
wird der minimale WDBA konstruiert. Es hat sich herausgestellt, dass
dieser Ansatz wesentlich weniger Speicher verbraucht, sowohl mit als
auch ohne Verwendung von Don’t-Care-Mengen.
In Abbildung 6.1 sind die Größen der einzelnen WDBAs dargestellt,
die von dem Prototyp bei der Berechnung der erreichbaren Zustände
des linearen hybriden Automaten für Fischers Protokoll mit 4 Prozessen
konstruiert wurden. Die Zwischenschritte entsprechen dabei den Konstruktionsschritten, um die in einer Iteration neu erreichbaren Zustände
über die diskreten und kontinuierlichen Transitionsschritte von den aktuellen Zuständen aus zu berechnen. Die Abbildung zeigt, dass die Größe
der WDBAs unter Verwendung von Don’t-Cares immer deutlich unter
der Größe der WDBAs ohne Don’t-Cares bleibt. Die Analyse der anderen
Systeme führte zu ähnlichen Ergebnissen.
Zu Tabelle 6.2 ist außerdem anzumerken, dass die naive Erreichbarkeitsanalyse, wie sie hier implementiert wurde, bei dem Bakery Protokoll
keinen Fixpunkt findet, d.h. bei jeder Iteration werden neue Zustände
erreicht. Aus diesem Grund wurde die Berechnung nach 100 Schritten
abgebrochen.
Für das Bakery Protokoll wurde zusätzlich die naive Erreichbarkeitsanalyse mit Hilfe von DFAs statt WDBAs durchgeführt, um den Mehraufwand
abzuschätzen, der bei der Verwendung von WDBAs entsteht. Die einzelnen Prozesse bei dem Bakery Protokoll verwenden nur ganzzahlige Zähler,
d.h. das Protokoll kann in der Logik FO(Z, +, <) beschrieben werden.
Verwendet man WDBAs, so entsteht ein gewisser Mehraufwand durch
die komplexere Zahlendarstellung durch ω-Wörter. Der Mehraufwand
ist dabei jedoch moderat, wenn WDBAs mit Don’t-Care-Mengen verwendet werden. Die Zwischenergebnisse sind maximal doppelt so groß wie
die auftretenden DFAs. Verwendet man DFAs, so sind die gemessenen
Laufzeit um den Faktor 2 bis 3 kleiner im Vergleich zu WDBAs unter
Verwendung von Don’t-Care-Wörtern.
Zusammenfassend kann man feststellen, dass bei der Verwendung
von den Don’t-Care-Mengen DCr die während der Erreichbarkeitsanalyse
konstruierten WDBA um bis zu eine Größenordnung kleiner werden.
Ähnliche Einsparungen können bei der benötigten Laufzeit beobachtet
80
6.3 Anwendungen und Benchmarks
werden. Diese Einsparungen können durch die folgenden zwei Beobachtungen erklärt werden. Erstens enthalten die Formeln, die die Systeme
beschreiben, viele Variablen (die Formeln für Fischers Protokoll mit 5
Prozessen haben zum Beispiel 34 freie Variablen). Man beachte, dass die
Don’t-Care-Mengen DCr mehr ω-Wörter enthalten, wenn die Formel mehr
freie Variablen enthält, d.h. r größer ist. Zweitens erfordert die Berechnung
der erreichbaren Zustände sehr viele Automatenkonstruktionen. Auch
wenn die Einsparungen bei einem einzelnen Schritt vergleichsweise gering
sind, wächst die Einsparung bei der gesamten Berechnung mit der Anzahl
der Automatenkonstruktionen an.
6.3.2 Vergleich zu anderen Ansätzen
Im Folgenden wird der automatenbasierte Ansatz für lineare Arithmetiken, insbesondere die Implementierung LIRA, mit anderen Ansätzen
und Werkzeugen verglichen. Weiterhin werden Model-Checking-Ansätze
und Werkzeuge vorgestellt, die auf lineare Arithmetik zurückgreifen, um
mögliche zukünftige Anwendungsgebiete aufzuzeigen.
Erfüllbarkeitsproblem
Die Automatenbibliothek LASH [60] ist am engsten mit dem Werkzeug
LIRA verwandt. Ähnlich wie LIRA stellt LASH Automatenoperationen
für WDBAs zur Verfügung, die benötigt werden, um ein automatenbasiertes Entscheidungsverfahren für FO(R, Z, +, <) zu implementieren.
Allerdings unterstützt LASH keine Don’t-Care-Wörter. Auch wenn keine
Don’t-Care-Wörter verwendet werden, übertrifft LIRA das Paket LASH
um Größenordnungen [31]. Dies liegt hauptsächlich daran, dass LASH
die Transitionsrelation der Automaten explizit darstellt, während LIRA
eine symbolische Darstellung verwendet. Weiterhin wird von LASH die
Breakpoint-Konstruktion implementiert, um Quantoren zu behandeln,
während LIRA die in Kapitel 3 vorgestellte Potenzmengenkonstruktion
verwendet.
Automatenbasierte Entscheidungsverfahren für andere logische Theorien sind in den Softwarepaketen MONA [55] und PresTaf [24] implementiert. MONA implementiert ein Entscheidungsverfahren für WS1S, die
81
Kapitel 6 Implementierung
schwache monadische Theorie der zweiten Stufe mit einem Nachfolger,
und PresTaf implementiert ein Entscheidungsverfahren für die Presburger
Arithmetik. Die Automatenbibliotheken dieser Werkzeuge unterstützen
keine Automaten über ω-Wörtern und können von daher nicht mit reellen
Zahlen umgehen.
Ein weiterer Ansatz, die Erfüllbarkeit von Formeln über der Logik
FO(R, Z, +, <) zu überprüfen, bieten so genannten SMT-Solver. Dieser
Ansatz erlaubt es zusätzlich, verschiedene Theorien und Kombinationen von Theorien zu behandeln, wie zum Beispiel ganzzahlige lineare
Arithmetik kombiniert mit uninterpretierten Funktionen. Neuere auf Intervallarithmetik basierende Ansätze können sogar nicht-lineare Arithmetik
behandeln [38]. Aktuelle SMT-Solver zielen in erster Linie darauf ab, die
Erfüllbarkeit quantorenfreier Formeln zu überprüfen. Einige, wie etwa
Yices [29], CVC3 [4] und FX7 [66] unterstützen die Behandlung von Quantoren durch Instantiierung [28]. Um zu überprüfen, ob eine gegebene
Formel unerfüllbar ist, werden universell quantifizierte Variablen durch
heuristisch gewählte Terme ersetzt, die von Mustern, die in der Formel
vorkommen, abgeleitet sind. Dieser Ansatz ist für FO(R, Z, +, <) nicht
vollständig, da die Theorie der ersten Stufe über FO(R, Z, +, <) keine
Quantorenelimination erlaubt [72]. Dazu muss die logische Sprache um
die Konstanten 0 und 1, eine Abrundungsfunktion und Teilbarkeitsprädikate erweitert werden. Allerdings wird diese erweiterte Sprache von
aktuellen SMT-Solver nicht unterstützt. Da SMT-Solver die Kombination
mit der Theorie der uninterpretierten Funktionen erlauben, ist ein weiterer
Grund dafür, dass SMT-Solver keine vollständigen Entscheidungsverfahren implementieren können, dass die Presburger Arithmetik erweitert und
ein einzelnes (uninterpretiertes) unäres Prädikatssymbol unentscheidbar
wird [41].
Im folgenden Experiment wurden die SMT-Solver Yices, CVC3 und
FX7 auf Formeln mit Quantoren evaluiert. Die Ergebnisse zeigen , dass
aktuelle SMT-Solver Probleme mit Formeln haben, die Quantoren enthalten, insbesondere dann, wenn die Formel erfüllbar ist. Es wurden 500
zufällig erzeugte Formeln betrachtet, von denen 250 erfüllbar und 250
unerfüllbar sind. Jede Instanz hat ein ∀∃ Quantorenpräfix und besteht
aus einer booleschen Kombination von ungefähr 10 atomaren Formeln
über vier Variablen, d.h. lineare Gleichungen und Ungleichungen oder
das Prädikat Z ( x ). Jedes Programm erhielt 16 GBytes Speicher und ein
Zeitlimit von 10 Minuten pro Instanz. Keiner der SMT-Solver Yices, CVC3
82
6.3 Anwendungen und Benchmarks
und FX7 konnte erfüllbare Instanzen korrekt klassifizieren. Yices klassifizierte alle 250 Instanzen als „unknown“ innerhalb von 3 Sekunden. FX7
klassifizierte alle 250 Instanzen als „unknown“ innerhalb von 6 Minuten.
CVC3 benötigte über eine Stunde, um 224 Instanzen als „unknown“ zu
klassifizieren, und überschritt das Laufzeit- oder Speicherlimit für die
restlichen 26 Instanzen. LIRA hingegen konnte alle 250 Instanzen in ungefähr 50 Minuten richtig klassifizieren, bzw. in 1 Stunde und 20 Minuten,
wenn keine Don’t-Care-Wörter verwendet werden. Von den unerfüllbaren
Instanzen konnten Yices und FX7 schnell (< 15 Sekunden) 22 bzw. 11 Instanzen korrekt klassifizieren. Die meisten anderen Instanzen wurden von
den beiden Programmen schnell als „unknown“ klassifiziert (Yices überschritt das Laufzeitlimit bei einer Instanz). CVC3 konnte innerhalb von
10 Minuten 180 Instanzen richtig klassifizieren, und lieferte „unknown“
innerhalb von 20 Sekunden für 38 Instanzen zurück. Bei den übrigen 32
Instanzen überschritt CVC3 das Speicher- oder Laufzeitlimit. LIRA konnte
alle 250 Instanzen korrekt innerhalb von 2 Stunden ohne die Verwendung
von Don’t-Cares klassifizieren, und innerhalb von 1 Stunde und 10 Minuten mit Don’t-Cares. Erweitert man die 100 zufällig generierten Instanzen
aus dem vorherigen Abschnitt um ein ∀∃ Quantorenpräfix, so erhält man
ähnliche Ergebnisse. Keiner der SMT-Solver konnte eine der erfüllbaren
Instanzen korrekt klassifizieren, wohingegen LIRA mit Ausnahme einer
Instanz alle Problemstellungen in ungefähr 10 Minuten unter Verwendung
von Don’t-Cares richtig klassifizierte. Ohne Don’t-Cares benötigte LIRA
etwas mehr Zeit.
Wiederum andere Ansätze zum Entscheiden von FO(R, Z, +, <) basieren auf Quantoreneliminiationsverfahren. Um diese Verfahren anwenden
zu können, muss die logische Sprache um die Konstanten 0 und 1, eine
Abrundungsfunktion und Teilbarkeitsprädikate erweitert werden. Ein
solches Quantoreneliminationsverfahren [72] wurde in dem interaktivem
Theorembeweiser Isabelle/HOL [67] implementiert [19]. Mit dieser Implementierung wurden die selben Testfälle analysiert. Innerhalb von 2
Stunden konnten 192 der 250 erfüllbaren Instanzen korrekt klassifiziert
werden. Von den 250 unerfüllbaren Instanzen konnten innerhalb von 47
Minuten 52 Instanzen korrekt klassifiziert werden. Bei den übrigen Testfällen überschritt Isabelle/HOL das Speicherlimit. Von den 100 zufällig
generierten und um eine ∀∃ Präfix erweiterten Formeln aus dem vorherigen Abschnitt, konnte Isabelle/HOL in ungefähr einer halben Stunde 41
Instanzen korrekt klassifizieren (39 der 41 Instanzen sind erfüllbar). Dabei
83
Kapitel 6 Implementierung
ist zu beachten, dass diese Formeln mit einem leichteren Quantoreneliminationsverfahren [35] behandelt werden konnten, da sie das Prädikat Z
nicht enthalten.
Eine andere Implementierung eines Quantoreneliminationsverfahrens
für die weniger ausdrucksstarke Theorie der Struktur FO(R, +, <) [73]
wird von dem so genannten First-Order-Model-Checker verwendet [69, 26].
Diese Implementierung verwendet eine Datenstruktur, die auf AndInverter-Graphs (AIGs) [57] basiert, um Formeln darzustellen und zu vereinfachen. Mit dieser Implementierung wurden die 100 zufällig generierten Formeln mit einem ∀∃ Quantorenpräfix klassifiziert. Die AIG-basierte
Implementierung konnte alle 100 Instanzen korrekt klassifizieren und war
dabei um eine Größenordnung schneller als die automatenbasierte Implementierung. Gemischte lineare Arithmetik wird von der AIG-basierten
Implementierung nicht unterstützt, und es ist nicht klar, ob diese Datenstruktur für die ausdrucksstärkere Logik FO(R, Z, +, <) geeignet ist.
Die Implementierung verwendet einen SMT-Solver, um die Datenstruktur
zu vereinfachen. Zur Zeit gibt es keine SMT-Solver, die mit gemischter
linearer Arithmetik, erweitert um die Abrundungsfunktion und Teilbarkeitsprädikate umgehen können. Weiterhin sind Quantoreneliminationsverfahren für lineare Arithmetik ohne das Z Prädikat weniger aufwendig
als Quantoreneliminationsverfahren für Theorien, die die ganzzahlige
lineare Arithmetik enthalten (vergleiche [35] und [72]).
Anwendungen bei der Verifikation unendlicher
Zustandssysteme
Automatenbasierte Model-Checker wie FAST [2, 3] und ALV [74] sind aktuell auf Integer-Counter-Systeme beschränkt. Diese Einschränkung ist in
der Tatsache begründet, dass diese Implementierungen DFAs verwenden,
um Mengen von Systemzuständen darzustellen. Es sei an dieser Stelle angemerkt, dass FAST neben anderen Bibliotheken die Automatenbibliothek
LIRA verwendet.
Boigelot et al. beschreiben einen Einsatz von WDBAs, der es erlaubt,
Mengen von Systemzuständen zu beschreiben, die aus ganzzahligen Zählern und reellwertigen Variablen bestehen [9]. Die im vorherigen Abschnitt
beschriebenen Experimente zeigen, dass Don’t-Cares verwendet werden
84
6.3 Anwendungen und Benchmarks
können, um die automatenbasierte Darstellung solcher Mengen kompakter zu machen. Weiterhin ist bereits eine prototypische Implementierung
in der Lage, eine Erreichbarkeitsanalyse für einige nicht-triviale Beispiele
durchzuführen. Weiter fortgeschrittene Werkzeuge wie T(O)RMC [61]
könnten durch den Einsatz von Don’t-Cares verbessert werden.
Weiterhin existieren Techniken zur Optimierung automatenbasierter
Verifikationsansätze, wie Widening [5] und Accelerations [11, 14, 10]. Beim
Widening werden Wörter zu der Sprache, die der Automat akzeptiert, hinzugenommen. Dies führt zu einem kleineren Automaten, der die Menge
allerdings nur noch überapproximiert. Accelerations beschreiben Mengen
von Systemzustände, die durch unendliche Ausführungen von Schleifen
innerhalb des Systems erreichbar sind. Don’t-Care-Wörter sind komplementär zu beiden Techniken und können von daher in einer möglichen
Anwendung zum Verifizieren von unendlichen Zustandssystemen kombiniert werden. Allerdings sind weitere Vorarbeiten für eine tatsächliche
Implementierung notwendig, da eventuell die Automatenoperationen
für Widening und Acceleration für Don’t-Care-Wörter angepasst werden
müssen.
Verifikationswerkzeuge wie HYTECH [45] und sein Nachfolger PHAVer [39] können mit unendlichen Zustandssystemen mit reellwertigen
Systemvariablen, d.h. so genannten linearen hybriden Automaten, umgehen. Diese Werkzeuge verwenden endliche Vereinigungen von konvexen
Polyedern, um Mengen von Systemzuständen darzustellen. PHAVer umgeht einige der Beschränkungen von HYTECH wie numerische Probleme,
indem exakte Arithmetik verwendet wird. Allerdings haben beide Verfahren Probleme mit großen diskreten Zustandsräumen und der Behandlung
von ganzzahligen Variablen. Ein vielversprechender Ansatz für die Verifikation linearer hybrider Automaten mit großem diskreten Zustandsraum
wird von dem First-Order-Model-Checker [26] verfolgt. Dieser Ansatz verwendet eine AIG-basierte Datenstruktur, um Mengen, die in FO(R, +, <)
definierbar sind, darzustellen. Es ist eine offene Frage, ob automatenbasierte Entscheidungsverfahren kompetitiv zu einem AIG-basierten Ansatz
sind. Um diese Frage zu beantworten, sind weitere Arbeiten zur Verbesserung des automatenbasierten Ansatzes notwendig. Eine Motivation, diese
Forschung voranzutreiben, ist die Tatsache, dass die ausdrucksstärkere
Theorie, die von WDBAs unterstützt wird, die Analyse größerer Klassen
von unendlichen Zustandssystemen erlauben würde.
85
Kapitel 6 Implementierung
86
Kapitel 7
Zusammenfassung
In dieser Arbeit wurde ein neues, in mehrfacher Hinsicht gegenüber
bisherigen Algorithmen verbessertes automatenbasiertes Entscheidungsverfahren für gemischte lineare Arithmetik der ganzen und reellen Zahlen
vorgestellt.
Für ω-Automaten, die Sprachen akzeptieren, die von schwachen deterministischen Büchi-Automaten („weak deterministic Büchi automata“ –
WDBAs) akzeptiert werden können, wurde ein Algorithmus angegeben,
der anhand des ω-Automaten den entsprechenden WDBA mit Hilfe der
klassischen Potenzmengenkonstruktion für endliche Automaten erstellt.
Ein Anwendungsgebiet dieser Konstruktion ist das automatenbasierte
Entscheidungsverfahren für die gemischte lineare Arithmetik über den
ganzen und reellen Zahlen. Hier werden bei der Behandlung von Quantoren nicht-deterministische Büchi-Automaten erzeugt, die nun mit Hilfe
der Potenzmengenkonstruktion in WDBAs überführt werden können.
Der herkömmliche Ansatz geht einen Umweg über co-Büchi-Automaten,
die mit Hilfe der aufwendigeren so genannten Breakpoint-Konstruktion
determinisiert werden müssen.
Für automatenbasierte Entscheidungsverfahren für die beiden Logiken
FO(Z, +, <) und FO(R, Z, +, <) wurde eine obere Grenze für die Größe
der Automaten gezeigt. Diese dreifach exponentielle Schranke wurde mit
Hilfe von Methoden aus der Modelltheorie hergeleitet. Anders als ein
bereits existierender Beweis für die Logik FO(Z, +, <) ist der in der vorliegenden Arbeit vorgestellte Beweis der Schranken unabhängig davon, wie
der entsprechende Automat konstruiert wurde. Die Schranke entspricht
der bekannten unteren Schranke und ist somit strikt. In dem Beweis für
diese oberen Schranke wird eine Verbindung zwischen den einzelnen
87
Kapitel 7 Zusammenfassung
Zuständen der Automaten und durch Ehrenfeucht-Fraïssé-Spiele beschriebenen Äquivalenzrelationen auf den jeweiligen Trägern der Strukturen
hergestellt. Im Fall von FO(R, Z, +, <) wird erkennbar, dass der Automat
gewisse Redundanzen enthält, da, anders als bei den ganzen Zahlen, die
reellen Zahlen nicht eindeutig auf Wörter abgebildet werden.
Um diese Redundanzen zu vermeiden, wurde das Konzept der Don’tCares von BDDs auf Sprachen verallgemeinert. Sogenannte Don’t-CareWörter sind redundante Wörter, für die es unerheblich ist, ob sie zu einer
gegebenen Sprache gehören oder nicht. Durch Hinzufügen und Entfernen
von Don’t-Care-Wörtern zu einer Sprache kann die automatenbasierte
Darstellung der Sprache verkleinert werden. Es wurden allgemeine Automatenoperationen eingeführt, die eine Don’t-Care-Menge in Betracht
ziehen. Unter bestimmten Einschränkungen können WDBAs bezüglich
einer Don’t-Care-Menge effizient minimiert werden und haben (bis auf
Isomorphie) eine eindeutig bestimmte minimale Form. Weiterhin wurde ein auf der Potenzmengenkonstruktion basierender Algorithmus zur
Behandlung von Quantoren für ein auf Don’t-Cares basierendes Entscheidungsverfahren eingeführt. Die Wahl der Don’t-Care-Menge hängt von
dem Anwendungsgebiet ab. Hier wurden redundante Darstellungen von
reellen Zahlen als Don’t-Care-Menge gewählt.
Die in dieser Arbeit vorgestellten Algorithmen wurden implementiert
und experimentell mit den herkömmlichen Algorithmen anhand mehrerer
Benchmarkklassen verglichen. Dabei zeigte sich, dass die neuen Algorithmen effektiv sind, und bisherige Ansätze teilweise um Größenordnungen
in der Laufzeit und der Größe der erzeugten Automaten übertreffen. Weiterhin wurde der automatenbasierte Ansatz mit verwandten Techniken
und Werkzeugen verglichen und mögliche zukünftige Anwendungsgebiete in der Verifikation von unendlichen Zustandssystemen skizziert.
Ausgehend von diesen Ergebnissen wird im Folgenden ein Ausblick auf
weitergehende Fragestellungen und zukünftige Forschung gegeben. Für
in der Presburger Arithmetik, d.h. FO(Z, +, <), analysierbare Systeme
existieren bereits effiziente automatenbasierte Model-Checker, wie zum
Beispiel FAST [2, 3], der neben anderen die hier vorgestellte Implementierung als Automatenbibliothek verwendet. Für in FO(R, +, <) analysierbare Systeme, wie zum Beispiel lineare hybride Automaten, scheinen andere
Ansätze wie And-Inverter-Graphs (AIGs) oder polyederbasierte Darstellungen [69, 26, 45, 39] effizienter zu sein, obwohl es auch mit Automaten
88
möglich war, die Menge der erreichbaren Zustände nicht-trivialer linearer
hybrider Automaten zu berechnen. Für die gemischte lineare Arithmetik,
d.h. FO(R, Z, +, <), erscheinen automatenbasierte Ansätze attraktiv, da
es wenig vergleichbare Werkzeuge gibt und in der ausdrucksstärkeren
Logik potenziell komplexere Systeme analysiert werden können [10, 11].
Der Vergleich mit AIG-basierten Ansätzen zeigt auch, dass die naive
Konstruktion eines Automaten anhand der gegebenen Formelstruktur
häufig zu unnötig großen Zwischenergebnissen führt. Daher wäre eine
Möglichkeit, den automatenbasierten Ansatz zu optimieren, die Formel
anhand von speziell an die Eigenschaften automatenbasierter Entscheidungsverfahren angepassten Heuristiken zu vereinfachen. Denkbar ist
auch, die boolesche Struktur der Formel getrennt zu behandeln, ähnlich
wie dies bei dem von SMT-Solver implementierten DPLL( T ) Algorithmus [40] geschieht. Dies würde die Kombination mit Entscheidungsverfahren für andere Theorien erlauben, aber auch die Position von Quantoren
innerhalb einer Formel stark beschränken. Alternativ könnte ein automatenbasiertes Entscheidungsverfahren mit einem saturationsbasierten
automatischen Theorembeweiser [1] kombiniert werden, um ein SemiEntscheidungsverfahren für gemischte lineare Arithmetik und uninterpretierte Funktionen zu erhalten.
Neben diesen praxisbezogenen Forschungsrichtungen sind auch weiterhin einige theoretischen Fragen unbeantwortet. Zum Beispiel wurde
bisher noch keine obere Schranke für die Größe der DFAs zum Entscheiden von FO(Z, +, <) unter Verwendung einer Least-Significant-Bit-First
Darstellung von Zahlen gezeigt. Es ist auch unklar, ob die Potenzmengenkonstruktion für die Behandlung von Quantoren in der Logik FO(R, +, <)
optimal ist oder ob hier effizientere Algorithmen möglich wären.
89
Kapitel 7 Zusammenfassung
90
Anhang A
Zusätzliche Beweise zu Kapitel 4
In diesem Anhang werden die Beweise der Lemmas 4.2-4.4 gegeben, die
in Kapitel 4 ausgelassen wurden. Für die Beweise brauchen wir folgende
zwei Fakten [36]. Es gibt eine Konstante c ∈ N, so dass
(i) die Kardinalität von Bm durch 22
(ii) max( Bm ) ≤ 2
cm
22
cm
beschränkt ist, und
.
Die Kardinalität von Bm ist also um einen Exponenten kleiner als der
Wert des größten Elements von Bm . Dadurch erhalten wir eine kleinere
obere Grenze für lcm Bm ≤ max( Bm )| Bm | . Dies ist wichtig, um später eine
r zu zeigen.
dreifach exponentielle obere Schranke für den Index von Em
Hodges definiert eine (einfachere) Familie von Relationen, die ≡rm auf Z
verfeinert [46]. Er verwendet dabei lineare Funktionen mit Koeffizienten,
deren Summe der Absolutwerte kleiner als ein bestimmtes k ist, und
schätzt später das kleinste gemeinsame Vielfache mit kk ab. Der Index
dieser Familie von Relationen ist allerdings nicht dreifach exponentiell
beschränkt.
Beweis (Lemma 4.2). Sei δ = lcm Bm und sei T die Menge der Funktionen
0 , c ∈ Z und | c | ≤ (r + 2) δ3 .
der Form c0 + ∑ri=1 ci xi mit c1 , . . . , cr ∈ Bm
0
0
Da T nicht leer ist, gibt es eine Funktion f ∈ T, so dass entweder f ( ā) ≤
δar+1 oder f ( ā) ≥ δar+1 gilt. Aus Gründen der Symmetrie können wir
o.B.d.A. von f ( ā) ≤ δar+1 ausgehen. Sei weiterhin f ∈ T so gewählt, dass
f ( ā) maximal ist. Sei u ∈ N mit u = 0, wenn f ( ā) = δar+1 ist, und sonst
1 ≤ u ≤ δ3 , so dass f ( ā) + u ≈ δar+1 ( mod δ3 ) ist.
Wir benötigen die Tatsache, dass δ3 die Zahl lcm( Bm+1 )2 teilt: für i ≥ 1,
m
sei pi die i-te Primzahl. Dann gibt es mi ∈ N, so dass δ = ∑i≥1 pi i ist.
Weiterhin gilt, wenn für ein i ≥ 1 die Zahl mi > 0 ist, dass es dann in der
91
Anhang A Zusätzliche Beweise zu Kapitel 4
m
Menge Bm mindestens eine Zahl gibt, die durch pi i teilbar ist. Diese Zahl
0 dann eine Zahl, die durch
sei vi . Entsprechend gibt es in der Menge Bm
2m
pi i teilbar ist, nämlich die Zahl δvi /1. Daraus folgt, dass in lcm Bm+1 der
Primfaktor pi mindestens mit dem Exponent 2mi vorkommt. Da also jeder
Primfaktor pi von δ in δ3 mit dem Exponent 3mi , in lcm( Bm+1 )2 aber mindestens mit dem Exponent 4mi vorkommt, teilt δ3 die Zahl lcm( Bm+1 )2 .
Weiterhin kommt der Primfaktor p1 = 2 in lcm Bm+1 mindestens mit dem
Exponent 2mi + 1 vor, da die Menge Bm+1 die Produkte aller Paare von Ele0 enthält. Aus dem gleichen Grund folgt auch, dass lcm B
ment aus Bm
m +1
mindestens einen Primfaktor hat, den δ nicht hat, also mindestens um
den Faktor 3 größer ist. Mit diesen zusätzlichen Informationen folgt dann
auch, dass 3(r + 2)δ3 ≤ (r + 1) lcm( Bm+1 )2 ist, was im Folgenden benötigt
wird.
r
Da also δ3 die Zahl lcm( Bm+1 )2 teilt und āEm
+1 b̄ impliziert, dass ai ≈
2
bi ( mod lcm( Bm+1 ) ) für alle 1 ≤ i ≤ r, gilt auch dass g( ā) ≈ g(b̄)( mod
δ3 ) für alle g ∈ T. Somit auch δar+1 ≈ f ( ā) + u ≈ f (b̄) + u( mod δ3 ), was
wiederum impliziert, dass f (b̄) + u durch δ teilbar ist.
Definiere br+1 = ( f (b̄) + u)/δ. Im Folgenden wird zunächst gezeigt, dass
2c ( m +r )
|br+1 | durch (max{b1 , . . . , br } + 1) · 22
für eine Konstante c ∈ N
beschränkt ist. Diese Abschätzung wird später benötigt, um Lemma 4.4
zu beweisen. Der Wert | f (b̄) + u| ist beschränkt durch r · max{b1 , . . . , br } ·
0 + (r + 2) lcm( B )3 + lcm( B )3 ≤ r · max{ b , . . . , b } · max B
max Bm
m
m
r
1
m +1 +
2c ( m +r )
(r + 3)(max Bm+1 )3| Bm+1 | ≤ (max{b1 , . . . , br } + 1) · 22
für ein c ∈ N.
Nach Konstruktion ist ar+1 ≈ br+1 ( mod δ2 ). Es bleibt zu zeigen, dass
r +1 . Sei g ∈ Br +1 die
g( ā, ar+1 ) ≥ 0 gdw. g(b̄, br+1 ) ≥ 0 für alle g ∈ Bm
m
+1
Funktion d0 + ∑ri=
d
x
.
Definiere
e
=
d
δ/d
und
e
=
d
δ/d
0
0
r +1
r +1 für
i
i
1 i i
0
alle 1 ≤ i ≤ r. Man beachte, dass e1 , . . . , er aus Bm sind und |e0 | ≤ (r + 2)δ3
ist und deshalb h( x̄ ) = e0 + ∑ri=1 ei xi ∈ T gilt. Es ist also zu zeigen, dass
h( ā) ≥ δar+1 gdw. h(b̄) ≥ δbr+1 .
Der Beweis verwendet die Tatsache, dass für zwei Funktion f , f 0 ∈ T und
c ∈ Z mit 0 ≤ c ≤ (r + 2)δ3 gilt, dass f ( ā) − f 0 ( ā) ≥ c gdw. f (b̄) − f 0 (b̄) ≥
c. Man beachte, dass f ( x̄ ) − f 0 ( x̄ ) − c = (c0 − c00 − c) + ∑ri=1 (ci − ci0 ) xi eine
r
0
0
3
Funktion aus Bm
+1 ist, da ci − ci ∈ Bm+1 und | c0 − c0 − c | ≤ 3(r + 2) δ ≤
r
(r + 1) lcm( Bm+1 )2 . Daher folgt diese Behauptung aus āEm
+1 b̄.
Nach der Definition von br+1 ist es offensichtlich, dass h( ā) ≥ δar+1 gdw.
92
h(b̄) ≥ δbr+1 nur dann nicht stimmen kann, wenn es eine Funktion h0 ∈ T
gibt mit f (b̄) < h0 (b̄) ≤ f (b̄) + u, wobei für f ∈ T gilt, dass f ( ā) maximal
ist mit f ( ā) ≤ δar+1 . Aber dann ist h0 (b̄) − f (b̄) < u < δ3 und zusammen
mit der soeben gezeigten Tatsache auch f ( ā) < h0 ( ā) ≤ f ( ā) + u ≤ δar+1 ,
was ein Widerspruch zur Maximalität von f ( ā) ist.
Beweis (Lemma 4.3). Der Beweis erfolgt per Induktion über m. Für m = 0
ist es ausreichend zu zeigen, dass ā, b̄ ∈ Zr mit āE0r b̄ die selben atomaren
Formeln erfüllen, nämlich x = y, x < y und x + y = z. Es wird hier nur
der Fall x = y betrachtet, da die anderen Fälle ähnlich sind. Angenommen
es gilt ai = a j für 1 ≤ i, j ≤ r, dann gilt auch ai − a j ≥ 0 und − ai + a j ≥ 0.
Wegen āE0r b̄ folgt, dass auch bi − b j ≥ 0 und −bi + b j ≥ 0 gelten, und
daher bi = b j gilt.
Angenommen, die Behauptung ist bewiesen für ein m ≥ 0. Es ist zu
r
zeigen, dass ā ≡rm+1 b̄ von āEm
+1 b̄ impliziert wird, d.h. dass ā und b̄
die selben Formeln ϕ mit qr( ϕ) ≤ m + 1 erfüllen. Da jede Formel ϕ mit
qr( ϕ) ≤ m + 1 durch eine boolesche Kombination von Formeln der Form
∃ xψ mit qr(ψ) ≤ m dargestellt werden kann, reicht es zu zeigen, dass
Z |= ∃ xψ[ ā] gdw. Z |= ∃ xψ[b̄] gilt, wobei ψ eine Formel mit qr(ψ) ≤ m ist.
Aus Symmetriegründen reicht es, eine Richtung zu zeigen. Angenommen
es gilt Z |= ∃ xψ[ ā], dann gibt es ein ar+1 ∈ Z, so dass Z |= ψ[ ā, ar+1 ]
r
gilt. Mit Lemma 4.2 und āEm
+1 b̄ folgt, dass es ein br +1 ∈ Z gibt, so dass
r
+
1
( ā, ar+1 ) Em (b̄, br+1 ) gilt. Wegen der Induktionsvoraussetzung gilt dann
auch Z |= ψ[b̄, br+1 ] und entsprechend Z |= ∃ xψ[b̄].
Beweis (Lemma 4.4). Der Beweis erfolgt per Induktion über r ∈ N. Aus
0 einen
dem Beweis zu Lemma 4.2 folgt, dass jede Äquivalenzklasse von Em
cm
2
Repräsentanten b mit |b| ≤ 22 hat für eine Konstante c ∈ N. Angenommen, die Aussage ist für ein r ≥ 0 bewiesen, d.h. jede Äquivalenzklasse
2d ( m +r −1)
r −1 hat einen Repräsentanten ā ∈ Zr −1 mit max( ā ) ≤ 22
von Em
für eine Konstante d ∈ N. Dann enthält die Menge {( ā, ar ) : | ar | ≤
2d ( m +r −1)
2e ( m +r )
( 22
+ 1)22
} einen Repräsentanten für jede Äquivalenzklasse
r
von Em für eine Konstante e ∈ N. Da die Kardinalität dieser Menge
2c ( m +r )
durch 22
beschränkt ist für eine Konstante c ∈ N, folgt direkt die
Behauptung.
93
Anhang A Zusätzliche Beweise zu Kapitel 4
94
Anhang B
Zusätzliche Beweise zu Kapitel 5
In diesem Anhang wird der Beweis des Satzes 5.10 gegeben, der in Kapitel 5 ausgelassen wurde. Zur Erinnerung, eine Don’t-Care-Menge D muss
folgende zwei Bedingungen erfüllen: (1) D 6= Γω und (2) α ∈ D ⇔ uα ∈ D
für alle u ∈ Γ∗ und α ∈ Γω . Sei im Folgenden A = ( Q, Γ, δ, q I , F ) ein
WDBA und sei c : Q → N eine k-maximale D-Färbung von A. Für ein
ω-Wort ϑ ∈ Qω definieren wir c(ϑ ) = max{c(ϑ (i )) : i ∈ N}.
Lemma B.1. Sei ϑ ∈ Qω der Lauf von A auf einem ω-Wort aus Γω \ D. Der
Lauf ϑ ist akzeptierend gdw. c(ϑ ) gerade ist.
Beweis. Man beachte, dass alle Zustände eines SCCs die selbe Farbe haben.
Da der Lauf ϑ ab einem bestimmten Punkt in einem D-wiederkehrenden
SCC von A bleibt, sind die Farben der Zustände dieses SCCs gerade gdw.
das SCC akzeptierend ist. Zusammen mit der Eigenschaft einer D-Färbung,
dass c(ϑ (i )) ≤ c(ϑ ( j)) für alle i ≤ j gilt, folgt die Behauptung.
Lemma B.2. Für jeden Zustand p ∈ Q mit c( p) ≤ k − 2 gibt es einen Zustand
q ∈ Q, so dass q von p aus erreichbar ist und c(q) = c( p) + 1 ist.
Beweis. Angenommen, es gibt einen Zustand p ∈ Q, der diese Behauptung
nicht erfüllt. Dann kann man eine neue D-Färbung c0 : Q → N für A
definieren durch
(
c(q) + 2 wenn q von p aus erreichbar ist und c( p) = c(q) ist,
c0 (q) =
c(q)
ansonsten.
Dann wäre aber die D-Färbung c nicht k-maximal.
Lemma B.3. Für jeden Zustand q ∈ Q gibt es ein ω-Wort α ∈ Γω \ D, so dass
c(ϑ ) = c(q) ist, wobei ϑ der Lauf von A auf α ist.
95
Anhang B Zusätzliche Beweise zu Kapitel 5
Beweis. Die Behauptung ist offensichtlich wahr, wenn q D-wiederkehrend
ist. Angenommen, die Behauptung ist falsch für einen D-vorübergehenden
Zustand q. Dann gibt es keinen D-wiederkehrenden Zustand, der von
q aus erreichbar ist und die selbe Farbe wie q hat. Wegen Lemma 5.7
gibt es einen D-wiederkehrenden Zustand p, der von q aus erreichbar ist.
Deshalb gilt c(q) < k. Wir definieren eine neue D-Färbung c0 : Q → N für
A durch
(
c( p) + 1 wenn p von q aus erreichbar ist und c(q) = c( p) ist,
c0 ( p) =
c( p)
ansonsten.
Dann wäre aber die D-Färbung c nicht k-maximal.
Lemma B.4. Für alle Zustände p, q ∈ Q gilt, dass wenn Lω (A p ) ≡ D Lω (Aq )
ist, dann ist c( p) = c(q).
Beweis. Angenommen, die Behauptung gilt nicht, d.h. es gibt zwei Zustände p, q ∈ Q, so dass Lω (A p ) ≡ D Lω (Aq ) gilt, aber c( p) 6= c(q) ist. Sei
o.B.d.A. c( p) + c(q) maximal und c( p) < c(q).
Als erstes wird gezeigt, dass c(q) = c( p) + 1 ist. Wenn c( p) > k − 2 ist,
dann ist c(q) = k und somit folgt, dass c( p) = k − 1 ist. Sei im Folgenden
c( p) ≤ k − 2. Aus Lemma B.2 folgt, dass es ein Wort u ∈ Γ∗ gibt, so
dass c(δ̂( p, u)) = c( p) + 1 ist. Da Lω (A p ) ≡ D Lω (Aq ) gilt, muss auch
Lω (Aδ̂( p,u) ) ≡ D Lω (Aδ̂(q,u) ) gelten. Weiterhin ist c(δ̂( p, u)) = c(δ̂(q, u)),
da c( p) + c(q) maximal ist. Es folgt, dass auch in diesem Fall c(q) =
c(δ̂( p, u)) = c( p) + 1 gilt, da c(q) ≥ c(δ̂( p, u)) ist und c(q) ≤ c(δ̂(q, u))
ist.
Sei nun α ∈ Γω \ D ein ω-Wort, so dass c(ϑ ) = c( p) ist, wobei ϑ ∈ Qω
der Lauf von A p auf α ist. So ein ω-Wort existiert laut Lemma B.3. Sei
ϑ0 der Lauf von Aq auf α. Angenommen, es ist c(ϑ0 ) > c(q). Wähle ein
Präfix v von α, so dass c(δ̂(q, v)) > c(q) ist. Es gilt, dass Lω (Aδ̂( p,v) ) ≡ D
Lω (Aδ̂(q,v) ) ist und c(δ̂( p, v)) + c(δ̂(q, v)) > c( p) + c(q) ist. Dies ist aber
ein Widerspruch zur Wahl von p und q. Man beachte, dass c(δ̂( p, v)) =
c( p) ist, da v ein Präfix von α ist. Wir können also schließen, dass c(ϑ ) =
c( p) ist und c(ϑ0 ) = c(q) ist. Da c(q) = c( p) + 1 gilt, folgt mit Lemma B.1,
dass α ∈ Lω (A p ) ⇔ α 6∈ Lω (Aq ) gilt. Dies ist aber ein Widerspruch zur
Annahme, dass Lω (A p ) ≡ D Lω (Aq ) gilt.
96
Lemma B.5. Wenn F = Fc ist, dann folgt aus L∗ (A p ) 6= L∗ (Aq ), dass
Lω (A p ) 6≡ D Lω (Aq ) gilt, für alle p, q ∈ Q.
Beweis. Gegeben p, q ∈ Q mit L∗ (A p ) 6= L∗ (Aq ). Dann gibt es ein
Wort u ∈ Γ∗ , so dass δ̂( p, u) ∈ F ⇔ δ̂(q, u) 6∈ F ist. Da F = Fc ist,
folgt, dass c(δ̂( p, u)) 6= c(δ̂(q, u)) ist. Aus Lemma B.4 folgt dann, dass
Lω (Aδ̂( p,u) ) 6≡ D Lω (Aδ̂(q,u) ) ist. Mit anderen Worten, es gibt ein ω-Wort
α ∈ Γω \ D, so dass α ∈ Lω (Aδ̂( p,u) ) ⇔ α 6∈ Lω (Aδ̂(q,u) ) ist. Damit folgt,
dass Lω (A p ) 6≡ D Lω (Aq ) ist, da uα 6∈ D ist und uα ∈ Lω (A p ) ⇔ uα 6∈
Lω (Aq ) ist.
Definition B.6. Für eine ω-Sprache L ⊆ Γω definieren wir die Relation ∼ D
L
ω \ D.
auf Γ∗ × Γ∗ als u ∼ D
v
gdw.
uα
∈
L
⇔
vα
∈
L,
für
alle
α
∈
Γ
L
Bemerkung B.7. Für L ⊆ Γω ist die Relation ∼ D
L eine Äquivalenzrelation
und eine Rechtskongruenz.
Die Äquivalenzklasse eines Wortes u ∈ Γ∗ bezüglich der Relation ∼ D
L
wird mit [u] D
notiert.
L
Lemma B.8. Gegeben L ⊆ Γω und sei A = ( Q, Γ, δ, q I , F ) ein WDBA mit
Lω (A) ≡ D L. Für jeden Zustand q ∈ Q, der von q I aus erreichbar ist, existiert
∗
ein Wort uq ∈ Γ∗ , so dass v ∈ [uq ] D
L ist, für alle Wörter v ∈ Γ mit δ̂ ( q I , v ) = q.
Beweis. Sei q ∈ Q ein Zustand und uq ∈ Γ∗ ein Wort, so dass δ̂(q I , uq ) = q
∗
ist. Es reicht zu zeigen, dass uq ∼ D
L v ist, für alle Wörter v ∈ Γ mit
δ̂(q I , v) = q. Sei v so ein Wort. Für α ∈ Γω gilt, dass A das ω-Wort uq α
akzeptiert gdw. A das ω-Wort vα akzeptiert. Man beachte, dass sich die
Läufe auf uq α und vα nur auf einem endlichen Präfix unterscheiden; die
Läufe sind identisch auf α. Weiterhin gilt α ∈ Γω \ D gdw. uq α, vα ∈ Γω \ D
sind.
Korollar B.9. Sei A = ( Q, Γ, δ, q I , F ) ein WDBA, bei dem jeder Zustand von
q I aus erreichbar ist. A ist D-minimal, wenn Lω (A p ) 6≡ D Lω (Aq ) gilt, für alle
Zustände p, q ∈ Q mit p 6= q.
Beweis. Sei L ⊆ Γω eine ω-Sprache mit L ≡ D Lω (A). Angenommen, B ist
ein WDBA, der weniger als | Q| Zustände hat, und es ist Lω (B) ≡ D L. Wir
können o.B.d.A. davon ausgehen, dass jeder Zustand von B von seinem
97
Anhang B Zusätzliche Beweise zu Kapitel 5
Startzustand aus erreichbar ist. Wegen Lemma B.8 und dem Schubfachprinzip folgt, dass es einen Zustand s von B gibt, so dass u p , uq ∈ [us ] D
L,
für bestimmte Zustände p, q ∈ Q mit p 6= q. Dabei sind us , u p , uq ∈ Γ∗
D
die Wörter aus Lemma B.8. Es folgt, dass [u p ] D
L = [ uq ] L gilt, was ein
Widerspruch zur Annahme ist, dass Lω (A p ) 6≡ D Lω (Aq ) ist.
Lemma B.10. Seien A und B WDBAs in D-Normalform. Wenn Lω (A) ≡ D
Lω (B) ist, dann ist auch L∗ (A) = L∗ (B).
Beweis. Seien A = ( Q, Γ, δ, q I , Fc ) und B = ( Q0 , Γ, δ0 , q0I , Fc0 ), wobei c :
Q → N eine l-maximale D-Färbung von A ist und c0 : Q0 → N eine
l 0 -maximale D-Färbung von B ist. Wir können o.B.d.A. davon ausgehen,
dass c und c0 k-maximal sind für ein ausreichend großes k, indem zu
den Werten von c und c0 entsprechende Konstanten addiert werden. Im
Weiteren wird folgende zusätzliche Notation verwendet: Für ein Wort
w ∈ Γ∗ sei qw der Zustand δ̂(q I , w) und q0w der Zustand δ̂0 (q0I , w).
Angenommen, es gibt ein Wort w ∈ Γ∗ , so dass die Behauptung nicht
erfüllt ist, d.h. es ist c(qw ) 6= c0 (q0w ). Aus Symmetriegründen betrachten
wir nur den Fall, dass c(qw ) < c0 (q0w ) ist. Sei d : Q → N definiert als
d(qv ) = max{c(qv ), c0 (q0v )}. Man beachte, dass d wohldefiniert ist, denn
wenn qu = qv ist, ist auch c(qu ) = c(qv ), für alle u, v ∈ Γ∗ . Diese Tatsache
folgt aus Lemma B.4 und daraus, dass u ∼ D
L v gilt. Im Weiteren wird
gezeigt, dass d eine D-Färbung für A ist. Dies ist aber ein Widerspruch
zur k-Maximalität von c.
Aus der Definition von d folgt, dass d(q) ≤ d(δ(q, b)) ist, für alle b ∈
Γ und q ∈ Q. Es bleibt zu zeigen, dass für jeden D-wiederkehrenden
Zustand q der Wert d(q) gerade ist gdw. q ∈ Fc ist. Sei also q ∈ Fc ein
D-wiederkehrender Zustand und seien u, w ∈ Γ∗ Wörter mit q = qu und
δ̂(q, w) = q. Wenn d(q) ungerade ist, dann muss d(q) = c0 (q0u ) sein. Da
im Lauf von A auf dem ω-Wort α = uwω der Zustand q unendlich oft
vorkommt, gibt es unendlich viele Präfixe, die ∼ D
L -äquivalent zu u sind
(Lemma B.8). Daher gibt es auf dem Lauf von B auf α eine Zustand q0 , der
unendlich oft vorkommt und für den gilt, dass Lω (Bq0 ) ≡ D Lω (Bq0u ) ist.
Aus Lemma B.4 folgt, dass c0 (q0 ) = c0 (q0u ) ist, und deshalb die maximale
Farbe, die auf dem Lauf von B auf α vorkommt c0 (q0u ) = d(q) ist. Das
bedeutet aber, dass B das ω-Wort α verwirft, was ein Widerspruch zur
Annahme ist, dass Lω (A) ≡ D Lω (B) ist. Der Beweis, dass d(q) ungerade
ist für D-wiederkehrende Zustände q ∈ Q \ Fc , ist analog.
98
Also muss c(qw ) = c0 (q0w ) für alle Wörter w ∈ Γ∗ gelten. Damit folgt auch,
dass qu ∈ Fc ist gdw. q0u ∈ Fc0 ist, und somit gilt L∗ (A) = L∗ (B).
Mit diesen Lemmas kann nun Satz 5.10 bewiesen werden.
Beweis (Satz 5.10). Aus Satz 5.9 folgt, dass A in O | Q| Schritten in
D-Normalform überführt werden kann. Sei A im Folgenden in DNormalform und sei c : Q → N eine k-maximale D-Färbung von A, wobei
k gerade ist und F = Fc ist.
Mit Hopcrofts DFA Minimierungsalgorithmus
wird A in O | Q| log | Q| Schritten minimiert. Sei A0 = ( Q0 , Γ, δ0 , q0I , F 0 )
der resultierende Automat.
Man beachte, dass es einen Homomorphismus von A nach A0 gibt, d.h.
eine Funktion h : Q → Q0 mit h(q I ) = q0I , q ∈ F ⇔ h(q) ∈ F 0 und wenn
δ( p, b) = q ist, dann ist auch δ0 (h( p), b) = h(q), für alle p, q ∈ Q und
b ∈ Γ.
1. Der Automat A0 ist schwach, da h die akzeptierenden und verwerfenden Zustände erhält. Eine Schleife von A0 , die akzeptierende und
verwerfende Zustände enthält, würde einer Schleife in A entsprechend,
die akzeptierende und verwerfende Zustände enthält.
2. Die Funktion c0 : Q0 → N definiert als c0 (q) = max{c( p) : h( p) =
h(q) für p ∈ Q} ist eine k-maximale D-Färbung für A0 . Insbesondere
gilt F 0 = Fc0 .
Da der DFA A0 minimal ist, gilt, dass L∗ (A0p ) 6= L∗ (A0q ) ist, für alle
p, q ∈ Q0 mit p 6= q. Aus Lemma B.5 folgt, dass auch Lω (A0p ) 6≡ D Lω (A0q )
ist, für alle p, q ∈ Q0 mit p 6= q. Aus Korollar B.9 wissen wir dann, dass
der WDBA A0 D-minimal ist.
Angenommen, B ist ein D-minimaler WDBA in D-Normalform mit
Lω (A0 ) ≡ D Lω (B). Wegen Lemma B.10 ist dann L∗ (A0 ) = L∗ (B). Die
WDBAs A0 und B sind also isomorph, da A0 und B minimale DFAs
sind.
99
Anhang B Zusätzliche Beweise zu Kapitel 5
100
Literaturverzeichnis
[1] L. Bachmair and H. Ganzinger. On restrictions of ordered paramodulation with simplification. In Proceedings of the 10th International
Conference on Automated Deduction (CADE-10), volume 449 of Lecture
Notes in Computer Science, pages 427–441. Springer-Verlag, 1990.
[2] S. Bardin, A. Finkel, J. Leroux, and L. Petrucci. FAST: Fast acceleration
of symbolic transition systems. In Proceedings of the 15th International
Conference on Computer Aided Verification (CAV’03), volume 2725 of
Lecture Notes in Computer Science, pages 118–121. Springer-Verlag,
2003.
[3] S. Bardin, J. Leroux, and G. Point. FAST extended release. In Proceedings of the 18th International Conference on Computer Aided Verification
(CAV’07), volume 4144 of Lecture Notes in Computer Science, pages
63–66. Springer-Verlag, 2007.
[4] C. Barrett and C. Tinelli. CVC3. In Proceedings of the 19th International
Conference on Computer Aided Verification (CAV’07), volume 4590 of
Lecture Notes in Computer Science, pages 298–302. Springer-Verlag,
2007.
[5] C. Bartzis and T. Bultan. Widening arithmetic automata. In Proceedings of the 16th International Conference on Computer Aided Verification
(CAV’04), volume 3114 of Lecture Notes in Computer Science, pages
321–333. Springer-Verlag, 2004.
[6] B. Becker, C. Dax, J. Eisinger, and F. Klaedtke. LIRA: Handling
constraints of linear arithmetics over the integers and the reals. In
Proceedings of the 19th International Conference on Computer Aided Verification (CAV’07), volume 4590 of Lecture Notes in Computer Science,
pages 307–310. Springer-Verlag, 2007.
[7] A. Blumensath and E. Grädel. Automatic structures. In Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science
(LICS’00), pages 51–62. IEEE Computer Society Press, 2000.
101
Literaturverzeichnis
[8] M. Bofill, R. Nieuwenhuis, A. Oliveras, E. Rodríguez-Carbonell, and
A. Rubio. The barcelogic SMT solver. In Proceedings of the 20th International Conference on Computer Aided Verification (CAV’08), volume 5123
of Lecture Notes in Computer Science, pages 294–298. Springer-Verlag,
2008.
[9] B. Boigelot, L. Bronne, and S. Rassart. An improved reachability
analysis method for strongly linear hybrid systems (extended abstract). In Proceedings of the 9th International Conference on Computer
Aided Verification (CAV’97), volume 1254 of Lecture Notes in Computer
Science, pages 167–178. Springer-Verlag, 1997.
[10] B. Boigelot and F. Herbreteau. The power of hybrid acceleration. In
Proceedings of the 18th International Conference on Computer Aided Verification (CAV’06), volume 4144 of Lecture Notes in Computer Science,
pages 438–451. Springer-Verlag, 2006.
[11] B. Boigelot, F. Herbreteau, and S. Jodogne. Hybrid acceleration using
real vector automata. In Proceedings of the 15th International Conference
on Computer Aided Verification (CAV’03), volume 2725 of Lecture Notes
in Computer Science, pages 193–205. Springer-Verlag, 2003.
[12] B. Boigelot, S. Jodogne, and P. Wolper. An effective decision procedure
for linear arithmetic over the integers and reals. ACM Transactions on
Computational Logic, 6(3):614–633, 2005.
[13] B. Boigelot and L. Latour. Counting the solutions of Presburger
equations without enumerating them. Theoretical Computer Science,
313(1):17–29, 2004.
[14] B. Boigelot, A. Legay, and P. Wolper. Omega-regular model checking.
In Proceedings of the 10th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’04), volume
2988 of Lecture Notes in Computer Science, pages 561–575. SpringerVerlag, 2004.
[15] B. Boigelot and P. Wolper. On the construction of automata from
linear arithmetic constraints. In Proceedings of the 6th International
Conference on Tools and Algorithms for Construction and Analysis of Systems (TACAS’00), volume 1785 of Lecture Notes in Computer Science,
pages 1–19. Springer-Verlag, 2000.
[16] B. Boigelot and P. Wolper. Representing arithmetic constraints with
finite automata: An overview. In Proceedings of the 18th International
102
Literaturverzeichnis
Conference on Logic Programming (ICLP’02), volume 2401 of Lecture
Notes in Computer Science, pages 1–19. Springer-Verlag, 2002.
[17] J. Büchi. Weak second-order arithmetic and finite automata. Zeitschrift der mathematischen Logik und Grundlagen der Mathematik, 6:66–
92, 1960.
[18] J. Büchi. On a decision method in restricted second order arithmetic.
In Proceedings of the 1960 International Congress on Logic, Methodology
and Philosophy of Science, pages 1–11. Stanford University Press, 1962.
[19] A. Chaieb. Verifying mixed real-integer quantifier elimination. In
Proceedings of the 3rd International Joint Conference on Automated Reasoning (IJCAR’06), volume 4130 of Lecture Notes in Computer Science,
pages 528–540. Springer-Verlag, 2006.
[20] E. Chang, Z. Manna, and A. Pnueli. The safety-progress classification. In Logic and Algebra of Specifications, NATO Advanced Science
Institutes Series, pages 143–202. Springer-Verlag, 1991.
[21] E. M. Clarke, E. A. Emerson, and A. P. Sistla. Automatic verification
of finite-state concurrent systems using temporal logic specifications.
ACM Transactions on Programming Languages and Systems, 8(2):244–
263, 1986.
[22] D. C. Cooper. Theorem proving in arithmetic without multiplication.
In Proceedings of the 7th Annual Machine Intelligence Workshop, pages
91–100. Edinburgh University Press, 1972.
[23] T. Cormen, C. Leiserson, R. Rivest, and C. Stein. Introduction to
Algorithms. MIT Press and McGraw-Hill, 2nd edition, 2001.
[24] J.-M. Couvreur. A BDD-like implementation of an automata package.
In Proceedings of the 9th International Conference on Implementation and
Application of Automata (CIAA’04), volume 3317 of Lecture Notes in
Computer Science, pages 310–311. Springer-Verlag, 2004.
[25] CUDD. Colorado University Decision Diagram package.
http://vlsi.colorado.edu/~fabio/CUDD/.
[26] W. Damm, S. Disch, H. Hungar, S. Jacobs, J. Pang, F. Pigorsch,
C. Scholl, U. Waldmann, and B. Wirtz. Exact state set representations in the verification of linear hybrid systems with large discrete
state space. In Proceedings of the 5th International Symposium on Automated Technology for Verification and Analysis (ATVA’07), volume 4762
103
Literaturverzeichnis
of Lecture Notes in Computer Science, pages 425–440. Springer-Verlag,
2007.
[27] C. Dax, J. Eisinger, and F. Klaedtke. Mechanizing the powerset
construction for restricted classes of ω-automata. In Proceedings of the
5th International Symposium on Automated Technology for Verification
and Analysis (ATVA’07), volume 4762 of Lecture Notes in Computer
Science, pages 223–236. Springer-Verlag, 2007.
[28] D. Detlefs, G. Nelson, and J. B. Saxe. Simplify: a theorem prover for
program checking. Jourmal of the ACM, 52(3):365–473, 2005.
[29] B. Dutertre and L. de Moura. The Yices SMT solver, 2006.
http://yices.csl.sri.com/tool-paper.pdf.
[30] H.-D. Ebbinghaus, J. Flum, and W. Thomas. Mathematical Logic.
Springer-Verlag, 2nd edition, 1994.
[31] J. Eisinger. Deciding first-order logic with real and integer addition: an automata-based approach. Diplomarbeit, Albert-LudwigsUniversität Freiburg, Fakultät für Angewandte Wissenschaften, Institut für Informatik, Freiburg i. Br., 2005.
[32] J. Eisinger. Upper bounds on the automata size for integer and mixed
real and integer linear arithmetic. In Proceedings of the 17th EACSL
Annual Conference on Computer Science Logic (CSL’08), volume 5213
of Lecture Notes in Computer Science, pages 430–444. Springer-Verlag,
2008.
[33] J. Eisinger and F. Klaedtke. Don’t care words with an application to
the automata-based approach for real addition. In Proceedings of the
18th International Conference on Computer Aided Verification (CAV’06),
volume 4144 of Lecture Notes in Computer Science, pages 67–80, 2006.
[34] J. Eisinger and F. Klaedtke. Don’t care words with an application
to the automata-based approach for real addition. Formal Methods in
Systems Design, 33(1–3):85–115, 2008.
[35] J. Ferrante and C. Rackoff. A decision procedure for the first order
theory of real addition with order. SIAM Journal on Computation,
4(1):69–76, 1975.
[36] J. Ferrante and C. Rackoff. The Computational Complexity of Logical
Theories, volume 718 of Lecture Notes in Mathematics. Springer-Verlag,
1979.
104
Literaturverzeichnis
[37] M. J. Fischer and M. O. Rabin. Super-exponential complexity of
presburger arithmetic. Technical report, Massachusetts Institute of
Technology, Cambridge, MA, USA, 1974.
[38] M. Fränzle, C. Herde, S. Ratschan, T. Schubert, and T. Teige. Efficient
solving of large non-linear arithmetic constraint systems with complex boolean structure. JSAT Special Issue on Constraint Programming
and SAT, 1:209–236, 2007.
[39] G. Frehse. PHAVer: Algorithmic verification of hybrid systems past
HyTech. In Proceedings of the 8th International Workshop on Hybrid
Systems: Computation and Control (HSCC’05), volume 3414 of Lecture
Notes in Computer Science, pages 258–273. Springer-Verlag, 2005.
[40] H. Ganzinger, G. Hagen, R. Nieuwenhuis, and C. Tinelli. DPLL(T):
fast decision procedures. In Proceedings of the 16th International Conference on Computer Aided Verification (CAV’04), volume 3114 of Lecture
Notes in Computer Science, pages 175–188. Springer-Verlag, 2004.
[41] J. Y. Halpern. Presburger arithmetic with unary predicates is Π11
complete. Journal of Symbolic Logic, 56(2):637–642, 1991.
[42] M. R. Henzinger and J. A. Telle. Faster algorithms for the nonemptiness of Streett automata and for communication protocol pruning.
In Scandinavian Workshop on Algorithm Theory, pages 16–27, 1996.
[43] T. Henzinger. The theory of hybrid automata. In Proceedings of the
11th Annual IEEE Symposium on Logic in Computer Science (LICS’96),
pages 278–292. IEEE Computer Society Press, 1996.
[44] T. Henzinger and P.-H. Ho. HYTECH: The Cornell HYbrid TECHnology tool. In Hybrid Systems II, volume 999 of Lecture Notes in
Computer Science, pages 265–293. Springer-Verlag, 1995.
[45] T. Henzinger, P.-H. Ho, and H. Wong-Toi. HyTech: A model checker for hybrid systems. International Journal on Software Tools for
Technology Transfer, 1:110–122, 1997.
[46] W. Hodges. A shorter model theory. Cambridge University Press, New
York, 1997.
[47] Y. Hong, P. Beerel, J. Burch, and K. McMillan. Safe BDD minimization
using don’t cares. In Proceedings of the 34th Conference on Design
Automation (DAC’97), pages 208–213. ACM Press, 1997.
[48] J. E. Hopcroft. An n log n algorithm for minimizing the states in
a finite automaton. In Proceedings of the International Symposium on
105
Literaturverzeichnis
Theory of Machines and Computations, pages 189–196. Academic Press,
1971.
[49] J. E. Hopcroft. Introduction to Automata Theory, Languages, and Computation. Pearson Addison Wesley, 3rd edition, 2007.
[50] B. Khoussainov and A. Nerode. Automatic presentations of structures. In Selected Papers from the International Workshop on Logical and
Computational Complexity (LCC’94), volume 960 of Lecture Notes in
Computer Science, pages 367–392. Springer-Verlag, 1995.
[51] V. King, O. Kupferman, and M. Y. Vardi. On the complexity of
parity word automata. In Proceedings of the 4th International Conference on Foundations of Software Science and Computation Structures
(FOSSACS’01), volume 2030 of Lecture Notes in Computer Science, pages 276–286. Springer-Verlag, 2001.
[52] F. Klaedtke. On the automata size for Presburger arithmetic. In
Proceedings of the 19th Annual IEEE Symposium on Logic in Computer
Science (LICS’04), pages 110–119. IEEE Computer Society Press, 2004.
[53] F. Klaedtke. Ehrenfeucht-Fraïssé goes automatic for real addition. In
Proceedings of the 25th International Symposium on Theoretical Aspects of
Computer Science (STACS’08), pages 445–456. IBFI Schloss Dagstuhl,
2008.
[54] N. Klarlund. A theory of restrictions for logics and automata. In
Proceedings of the 11th International Conference on Computer Aided Verification (CAV’99), volume 1633 of Lecture Notes in Computer Science,
pages 406–417. Springer-Verlag, 1999.
[55] N. Klarlund, A. Møller, and M. I. Schwartzbach. MONA implementation secrets. International Journal of Foundations of Computer Science,
13(4):571–586, 2002.
[56] D. Kozen. Theory of Computation. Springer-Verlag, New York, 2006.
[57] A. Kuehlmann, M. K. Ganai, and V. Paruthi. Circuit-based Boolean
reasoning. In Proceedings of the 38th Design Automation Conference
(DAC’01), pages 232–237. ACM Press, 2001.
[58] O. Kupferman, G. Morgenstern, and A. Murano. Typeness for ωregular automata. International Journal of Foundations of Computer
Science, 17(4):869–884, 2006.
[59] O. Kupferman and M. Vardi. Weak alternating automata are not that
weak. ACM Transactions on Computational Logic, 2(3):408–429, 2001.
106
Literaturverzeichnis
[60] LASH. The Liège Automata-based Symbolic Handler.
http://www.montefiore.ulg.ac.be/~boigelot/research/lash/.
[61] A. Legay. T(O)RMC: A tool for (ω-)regular model checking. In Proceedings of the 20th International Conference on Computer Aided Verification
(CAV’08), volume 5123 of Lecture Notes in Computer Science, pages
548–551. Springer-Verlag, 2008.
[62] C. Löding. Efficient minimization of deterministic weak ω-automata.
Information Processing Letters, 79(3):105–109, 2001.
[63] O. Maler and L. Staiger. On syntactic congruences for omegalanguages. Theoretical Computer Science, 181(1):93–112, 1997.
[64] K. McMillan. Symbolic Model Checking. Kluwer Academic Publishers,
1993.
[65] S. Miyano and T. Hayashi. Alternating finite automata on ω-words.
Theoretical Computer Science, 32(3):321–330, 1984.
[66] M. Moskal. Rocket-fast proof checking for SMT solvers. In Proceedings
of the 14th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’08), volume 4963 of Lecture
Notes in Computer Science, pages 486–500. Springer-Verlag, 2008.
[67] T. Nipkow, L. C. Paulson, and M. Wenzel. Isabelle/HOL — A Proof
Assistant for Higher-Order Logic, volume 2283 of Lecture Notes in Computer Science. Springer-Verlag, 2002.
[68] omega. The Omega project.
http://www.cs.umd.edu/projects/omega/.
[69] C. Scholl, S. Disch, F. Pigorsch, and S. Kupferschmid. Using an SMT
solver and Craig interpolation to detect and remove redundant linear
constraints in representations of non-convex polyhedra. In Unofficial Proceedings of the 6th International Workshop on Satisfiability Modulo
Theories (SMT’08), Princeton, New Jersey, USA, 2008. Affiliated workshop with CAV’08.
[70] T. R. Shiple, J. H. Kukula, and R. K. Ranjan. A comparison of presburger engines for EFSM reachability. In Proceedings of the 10th International Conference on Computer Aided Verification (CAV’98), volume 1427
of Lecture Notes in Computer Science, pages 280–292. Springer-Verlag,
1998.
[71] W. Thomas. Automata over infinite objects. In Handbook of Theoretical
Computer Science, volume B, chapter 4, pages 133–192. Elsevier, 1990.
107
Literaturverzeichnis
[72] V. Weispfenning. Mixed real-integer linear quantifier elimination. In
Proceedings of the 1999 International Symposium on Symbolic and Algebraic Computation (ISSAC’99), pages 129–136. ACM Press, 1999.
[73] V. Weispfenning and R. Loos. Applying linear quantifier elimination.
The Computer Journal, 36(5):450–462, 1993.
[74] T. Yavuz-Kahveci, C. Bartzis, and T. Bultan. Action language verifier, extended. In Proceedings of the 17th International Conference on
Computer Aided Verification (CAV’05), volume 3576 of Lecture Notes in
Computer Science, pages 413–417. Springer-Verlag, 2005.
108
Herunterladen