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