Proseminar Theoretische Informatik 28.01.2014 Entscheidbarkeit der Presburger-Arithmetik Ajit Parikh Helmut Alt Entscheidbarkeit logischer Theorien Die Entscheidbarkeitstheorie beschäftigt sich mit der Frage, ob bestimmte Probleme algorithmisch lösbar sind oder nicht. In der Mathematik spielt häufig die Beweisbarkeit von mathematischen Aussagen eine wichtige Rolle. Wir werden uns mit der Frage beschäftigen, ob man für einige solcher Aussagen Algorithmen finden kann, welche den Wahrheitsgehalt dieser Aussagen determinieren können. Wir beschränken uns hierbei auf die Sätze in der Presburger-Arithmetik. Beispiele zu mathematischen Aussagen: (1) x z y : R(x, y, z) (mit R(x, y, z) ← (x + y = z)) (2) q p x,y [p>q (x,y>1 xy ≠ p)] (3) q p x,y [p>q (x,y>1 (xy ≠ p xy ≠ p+2))] (2) Unendlichkeit von Primzahlen ; (3) Unendlichkeit von Primzahlpaaren (noch nicht bewiesen) Im weiteren Verlauf betrachten wir mathematische Ausdrücke als String über einem Alphabet = { , , , , , x, R1,…,Rk } , , : Boolesche Opertionen ; , : Quantoren ; x1, x2,…: Variablen ; R1,…,Rk : Relationen Wir bilden über eine Sprache, nämlich die Sprache der „wahren Aussagen“. Idee ist es, dass wir über beliebige Aussagen entscheiden können, ob sie in dieser Sprache liegen und somit wahr sind. Natürlich kann man die Symbole aus nicht willkürlich aneinanderreihen. Wir sprechen von sogenannten „well-formed strings“ über und bezeichnen diese als Formel. Definition (Formel) Eine Formel Pränexform: 1) ist eine atomare Formel (R(x1,…xj)) 2) hat die Form 1 2 , 1 2 , 1 3) hat die Form xi [1] , xi [1] (1 , 2 sind kleinere Formeln) = Q1x1 Q2x2 … Qnxn [] 1 (mit Qi {, }) Definition (Satz) Ein Satz ist eine Formel in der nur gebundene Variablen vorkommen. Die Variablen xi können alle Werte aus einem vorher festgelegten Univerum U (auch Grundmenge genannt) annehmen. ( xiU mit bspw. U=ℕ oder U=ℤ) Definition (Relation) Eine Relation ist eine Funktion von einem k-Tupel über dem Universum zu einem Wahrheitswert. R(x1,…, xk) : U → {TRUE, FALSE} Definition (Struktur) Eine Struktur M ist ein Tupel (U, P1,…, Pk) wobei P1,…, Pk Relationen sind, die dann zu den jeweiligen Relationssymbolen Ri in einer Formel zugeordnet werden. Man spricht von der Sprache einer Struktur wenn man die Menge aller Formeln betrachtet, die jedes R mit einem entsprechenden P aus M belegen. Ist ein wahrer Satz in der Sprache einer Struktur M, so sagt man: M ist Struktur von . Beispiel: = x z y : R(x, y, z) und M = (ℤ, PLUS) mit PLUS (a,b,c): (a+b=c) Definition (Theorie) Sei M eine Struktur, so ist die Theorie Th(M) die Menge der wahren Sätze in der Sprache von M Th(M) = { | M ist Struktur von } Axiome der Presburger-Arithmetik 1) 2) 3) 4) 5) x : (x + 1 = 0) x,y : (x + 1 = y + 1 → x = y) x : x + 0 = x x,y : (x + y) + 1 = x + (y + 1) Sei P(x) eine Formel in der Sprache der Presburger-Arithmetik mit wenigstens einer freien Variable x so gilt: (P(0) x : (P(x) P(x+1))) y : P(y) Die booleschen Operationen sind durch endliche Automaten realisierbar denn reguläre Sprachen sind unter Vereinigung, Schnitt und Negation abgeschlossen. 2 Was wir noch brauchen ist ein endlicher Automat für die Addition. Wie man leicht sieht, reicht es aus, die Entscheidbarkeit von Th(ℕ, +) um auch die Entscheidbarkeit der PresburgerArithmetik zu beweisen. Addition natürlicher Zahlen mittels endlicher Automaten Sei: 3 = 0 1 0 1 0 , 0 , 1 ,…, 1 0 0 0 1 Ein Wort 3* liefert uns 3 Zeilen (bestehend aus 0en und 1en). Wir betrachten jede dieser Zeilen als natürliche Zahl in Binärdarstellung und definieren die Sprache L als L = { 3* | unterste Zeile in ist Summe der darüber liegenden } Beweis, dass L regulär ist: Wir bilden aus sein Reverses R. Wir wissen bereits dass LR = {R | L} regulär ist. Wir konstruieren einen endlichen Automaten A, der für eine Eingabe R dann in einen akzeptierenden Zustand übergeht wenn in einem gelesenen Zeichen i die Summe der oberen beiden Zahlen gleich der unteren ist (ggf. mit einem zuvor gemerkten Übertrag). Falls dies nicht der Fall ist, hält A in einem nicht akzeptierenden Zustand. Das heißt: L ist durch einen DEA realisierbar und somit regulär. Entscheidbarkeit von Th(ℕ, +) Beweisidee: Wir brauchen einen Algorithmus, der für eine Eingabe testet, ob diese in M = (ℕ, +) wahr ist oder nicht. Wir wissen bereits: = Q1x1 Q2x2 … Qnxn [] Außerdem definieren wir: i = Qi+1xi+1 Qi+2xi+2 … Qnxn [] Somit ist 0 = ; n = i hat i freie Variablen, die wir substituieren können. Der Algorithmus konstruiert für jedes i einen Automaten Ai , der genau die Eingabestrings, also die Menge der i-Tupel, erkennt, für die i wahr wird, wenn man diese für die freien Variablen einsetzt. Er beginnt mit der Konstruktion von An und anschließend für jedes i zwischen 1 und n einen Automaten Ai-1 mit Verwendung von Ai . Ist der Algorithmus bei A0 angekommen, akzeptiert er, wenn A0 das leere Wort akzeptiert. 3 Beweis: Für i > 0 : i = 0 1 0 0 , 0 , 1 , …, ⁞ ⁞ ⁞ 0 0 0 1 1 ⁞ 1 Bei einer Eingabe werden zunächst alle i definiert. Dann wird ein endlicher Automat An erzeugt (da n = und quantorenfrei ist, existiert ein solcher Automat, denn er muss „nur“ Addition und boolesche Operationen realisieren können (siehe oben)). Zur Konstruktion von Ai-1 betrachten wir den ersten Quantor in i-1. Falls Qi = : Ai-1 imitiert das Verhalten von Ai mit dem Unterschied, dass die Zahl (bzw. Reihe) ai nicht als Teil der Eingabe erhalten wird, sondern nicht deterministisch geraten wird. Ai-1 liest ein Symbol, rät n.det. ein z{0,1}, welches hinzugefügt wird und simuliert diese Eingabe auf Ai b1 ⁞ bi-1 → b1 ⁞ bi-1 z [neues Symbol wird auf Ai simuliert] Es ist klar, dass wenn Ai-1 eine Eingabe (a1, …, ai-1) akzeptiert wenn ein ai existiert, so dass Ai die Eingabe (a1, …, ai-1, ai) akzeptiert. Falls Qi = : Wir wissen xi-1 i xi-1 i . Das bedeutet wir konstruieren einen endlichen Automaten, der das Komplement von der Sprache von Ai erkennt, dann wie bei fortfährt und letztendlich wieder eine Komplementbildung vornimmt. Wenn wahr ist, dann wir der endliche Automat A0 jede Eingabe akzeptieren. Also wird getestet ob A0 akzeptiert. Nur wenn das der Fall ist, ist wahr und der Algorithmus akzeptiert. Damit ist gezeigt, dass es für Sätze in Th(ℕ, +) einen Algorithmus gibt, der sagen kann, ob diese Sätze wahr oder falsch sind. Somit ist bewiesen, dass nicht nur Th(ℕ, +), sondern auch die Presburger_Arithmetik entscheidbar ist. Literatur M. Sipser - Introduction to the Theory of Computation - PWS Publ.Comp. 1997 4