bisher Ein Algorithmus, der uns verrät, wenn die Aussage F unerfüllbar ist: berechne die Skolemform und daraus die Klauselform versuche, die leere Klausel mittels prädikatenlogischer Resolution herzuleiten dies gelingt genau dann, wenn F unerfüllbar ist (und man merkt, daß es gelungen ist; aber man merkt nicht, wenn es niemals gelingen wird) Konsequenz Durch Anwendung auf F erhält man einen Algorithmus, der uns verrät, wenn F in allen passenden Strukturen gilt. Frage Was ist mit der Gültigkeit in einer konkreten Struktur A? 311
Mojźesz Presburger (1904 1943?) 29: Für (N, +) und (Z, +) gibt es solche Algorithmen (heutige Vorlesung) Toralf Skolem (1887 1963) 30: Für (N, ) und(z, ) gibt es solche Algorithmen (Automatentheorie) Kurt Gödel (1906 1978) 31: Weder für (N, +, ) nochfür (Z, +, ) gibt es einen solchen Algorithmus (Berechenbarkeit und Komplexität) 312
Presburgerarithmetik Wir wollen Aussagen über die Addition ganzer Zahlen machen. Dazu betrachten wir die Struktur Z mit den folgenden Funktionen und Relationen: Funktionsname Stelligkeit Interpretation 0 0 0 Z ist die Zahl 0 1 0 1 Z ist die Zahl 1 + 2 + Z ist die Addition ganzer Zahlen 2 Z ist die Subtraktion ganzer Zahlen Relationsname 2 Z ist die natürliche Ordnung auf Z D k für k 1 1 D k (x) besagt, daß x durch k teilbar ist also Dk Z = k Z Eine Formel ist eine Presburgerformel, wennsienurdiesefunktions-und Relationsnamen verwendet (neben Variablen). 313
Presburgerarithmetik Definition Seien F und G zwei Presburgerformeln. Wir schreiben F Z G,wenn A = F A = G für alle Strukturen A gilt, die Z erweitern. Da F und G nur die Funktions- und Relationsnamen von Z verwenden, ist dies gleichbedeutend mit Z = x 1 x 2... x n :(F G) wobei x 1,...,x n die freien Variablen von F und G umfassen. 314
Beispiel (x + y = y x + z) Z (x + x = z) Für x + x schreiben wir kürzer 2x. Istk 1 eine konkrete Zahl, so schreiben wir allgemeiner kx bzw. k für x + x + + x }{{} k mal bzw. 1 + 1 + +1 }{{} k mal und kx bzw. k für 0 (x } + x + {{ + x } )bzw.0 (1 } + 1 + {{ +1 } ). k mal k mal Damit können wir Terme immer in kanonischer Form k 0 + k 1 x 1 + k 2 x 2 + + k n x n mit k i Z und paarweise verschiedenen Variablen x i schreiben. 315
Beispiel x :(x + y = y x + z) Z x :(2x = z) Z x :(D 2 (x ) x = z) Z D 2 (z) y :(x + y = y x + z) Z (2x = z) z :(x + y = y x + z) Z (0 = 0) Ziel: Quantorenelimination Wir wollen diese Beispiele auf beliebige Formeln verallgemeinern, d.h. wir wollen aus beliebiger Presburgerformel F eine quantorenfreie Presburgerformel F berechnen mit F Z F. 316
Der Sinn der Übung Die Gültigkeit einer Presburgeraussage F in Z kann dann wie folgt algorithmisch bestimmt werden: 1 Berechne quantorenfreie Presburgeraussage F mit F Z F 2 Die Gültigkeit von F in Z kann leicht nachgerechnet werden (da F keine Variablen enthält). 317
Normalisierung Ein Literal L ist normalisiert (bzgl. x), wenn es die Form 0 = t, x = t, 0< t, x < t oder t < x hat und der Term t die Variable x nicht enthält oder wenn es die Form D k (t) oder D k (t) hat. Lemma A Sei F = x : 1 i n L i Presburgerformel, wobei L i Literale sind. Dann kann eine Presburgerformel F A = x : 1 i m 1 j n i L i,j berechnet werden mit F Z F A,sodaßL i,j bzgl. x normalisierte Literale sind. 318
Beweis 1. Schritt Wir können annehmen, daß die Literale L i alle die Form 0=t, (0 = t), 0 < t, D k (t) oder D k (t) (*) haben und die Terme t in kanonischer Form vorliegen. Sei m = kgv{l l 0 ist Koeffizient von x in einem Term aus F } Aus einem Literal L i berechnen wir jetzt ein Literal L i wie folgt (dabei ist l Z der Koeffizient von x in L i ): 0=t m l falls L i =(0=t) undl 0 (0 = t m l ) falls L i =( (0 = t)) und l 0 0 < t m L l falls L i =(0< t) undl 0 i = D k m (t m l l ) falls L i =(D k (t)) und l 0 D k m l (t m l ) falls L i =( D k (t)) und l 0 L i falls l =0 319
Zwischenergebnis: F Z x : 1 i n die Literale L i haben die Form (*), die Terme sind kanonisch und x kommt nur mit den Koeffizienten ±m oder 0 vor. L i L i, entsteht aus L i,indem±mx durch ±1x ersetzt wird. Ergebnis des 1. Schritts: F Z x : D m (x ) 1 i n L i, die Literale L i haben die Form (*), die Terme sind kanonisch und x kommt nur mit den Koeffizienten ±1 oder 0 vor. 320
2. Schritt ersetze jedes Literal L i der Form (0 = t) durch (0 < t 0 < t ( 1)), berechne die disjunktive Normalform und verwende die Äquivalenz x :(F G) ( x : F ) ( x : G). Ergebnis des 2. Schritts: F Z 1 i m x : 1 j n i L i,j, die Literale L i,j haben die Form 0 = t, 0< t, D k (t) oder D k (t), die Terme sind kanonisch und x kommt nur mit den Koeffizienten ±1 oder0 vor. 321
3. Schritt Stelle diejenigen Gleichungen und Ungleichungen, deren Term ein x enthält, nach x um (was möglich ist, da der Koeffizient von x immer ±1 oder0ist). Ergebnis des 3. Schritts: F Z 1 i m x : 1 j n i L i,j =: F A wobei die Literale L i,j bzgl. x normalisiert sind. 322
Elimination eines Quantors (normalisierte Literale) Lemma B Sei F A = x : 1 i n L i Presburgerformel, wobei L i normalisierte Literale sind. Dann kann eine quantorenfreie Presburgerformel F B berechnet werden mit F A Z F B. Beweis 1. Fall: es gibt j mit L j =(x = t). Dann setze F B = 1 i n L i [x/t] 2. Fall: es gibt kein j mit L j =(x = t) Seien {s 1,...,s k } und {t 1,...,t l } die Mengen der Terme, so daß Literal s i < x bzw. x < t i in F A vorkommt (u.u. k =0oderl = 0, wir betrachten nur den Fall k,l>0, andere ähnlich und einfacher). 323
Sei R die Konjunktion der Literale L i,dienichtvon der Form x < t oder t < x sind. Für 1 a k und 1 b l setze s a < x F a,b = x : x < t b R 1 i k 1 j l s i < s a +1 t b < t j +1 Dann gilt F A Z 1 a k 1 b l F a,b 324
Sei m = kgv{l D l (t) oder D l (t) kommt in R vor} Dann gilt R Z R[x/x ± m] unddamit F a,b Z 1 h m s a + h < t b (s i < s a + 1)[x/h] 1 j l R[x/h] 1 i k (t b < t j + 1)[x/h] F B ist die Disjunktion all dieser Formeln. Es gilt also F A Z Fa,b Z F B. 325
Elimination eines Quantors (beliebige Literale) Proposition Sei F = x : 1 i n L i Presburgerformel, so daß L i Literale sind. Dann kann eine quantorenfreie Presburgerformel F mit F Z F berechnet werden. Beweis Nach Lemma A ist F äquivalent zu einer Disjunktion von Formeln der Form x : 1 i m mit bzgl. x normalisierten Literalen L i. Nach Lemma B ist jede solche Presburgerformel äquivalent zu einer quantorenfreien Formel. L i 326
Quantorenelimination für Presburgerarithmetik Satz (Presburger 1929) Aus einer Presburgerformel F kann eine quantorenfreie Presburgerformel F berechnet werden, so daß F Z F gilt. Beweis: wir können annehmen, daß F kein enthält (sonst ersetze Teilformel x : G durch x : G) per Induktion über den Aufbau der Formel F. IA Ist F quantorenfreie Formel, so setze F = F. IS Wir unterscheiden verschiedene Fälle: 1 F = F 1 F 2 :berechneausf 1 und F 2 Presburgerformeln F 1 und F 2 mit F 1 Z F 1 und F 2 Z F 2 und setze F = F 1 F 2. 2 F = F 1 F 2 :analog 3 F = F 1 :analog 327
4 F = x : F 1 : Schritt 1: berechne quantorenfreie Presburgerformel F 1 mit F 1 Z F 1 Schritt 2: berechne DNF 1 i m 1 j n i L i,j von F 1.Danngilt F = x : F 1 Z x : F 1 Z x : L i,j Z x : 1 i m 1 j n i 1 i m 1 j n i L i,j Schritt 3: ersetzt x : 1 j n i L i,j durch quantorenfreie Formel nach der Proposition 328
Presburgerarithmetik Satz (Presburger 1929) Es gibt einen Algorithmus, der die Gültigkeit von Aussagen in der Struktur Z und damit insbesondere in der Struktur (Z, +) entscheidet. Beweis: Siehe Folie 317 Korollar (Presburger 1929) Es gibt einen Algorithmus, der die Gültigkeit von Aussagen in der Struktur (N, +) entscheidet. Beweis: Sei F eine solche Aussage über (N, +). Ersetze x : G durch x :(0< x +1 G) und x : G durch x :(0< x +1 G) undnenne die resultierende Formel F. Dann gilt (N, +) = F Z = F 329
Presburgerarithmetik Die Berechnung der disjunktiven Normalform in der Quantorenelimination führt zu einer exponentiellen Vergrößerung der Formel. Da diese Berechnung wiederholt ausgeführt werden muß (bei jeder Behandlung eines Quantors ) ist das vorgestellte Verfahren nicht elementar. D.C. Cooper 1972: schnelleres (und komplizierteres) Verfahren der Quantorenelimination, das Berechnung der disjunktiven Normalform umgeht Satz Es gibt einen Algorithmus, der die Gültigkeit von Aussagen in der Struktur (Z, +) in dreifach exponentieller Zeit entscheidet (Oppen 1978). Jeder Algorithmus, der die Gültigkeit von Aussagen in der Struktur (Z, +) entscheidet, benötigt dafür wenigstens doppelt exponentielle Zeit (Fischer und Rabin 1974). 330