Begleitmaterial zur Vorlesung Berechenbarkeit und Komplexität I Wolfgang Merkle Universität Heidelberg, Institut für Informatik Teil 2: Berechenbarkeitstheorie (Version 7. Juli 2016) Turingmaschinen (Siehe Vorlesung und Teil 1 über Komplexitättheorie). Entscheidbare und rekursive aufzählbare Mengen (Siehe Vorlesung und Teil 1 über Komplexitättheorie). Gödelnummerierungen (Siehe Vorlesung.) W. Merkle Berechenbarkeitstheorie SS 2016 2 Many-one-Reduzierbarkeit und der Satz von Rice Definition 1. Eine Menge A ist auf eine Menge B many-one reduzierbar, kurz m-reduzierbar oder A ≤m B, falls es eine berechenbare Funktion f gibt, so dass für alle x ∈ N gilt x∈A g.d.w. f (x) ∈ B . Bemerkung 2. Jede berechenbare Menge A ist auf jede von ∅ und N verschiedene Menge B m-reduzierbar vermöge einer Funktion f , welche für fest gewähltes b0 ∈ / B und b1 ∈ B definiert ist durch ( b0 , falls x ∈ / A, f (x) = b1 , falls x ∈ A. Auf die Menge ∅ ist dagegen nur die Menge ∅ selbst m-reduzierbar, d. h., aus A ≤m ∅ folgt A = ∅, und eine entsprechende Aussage gilt für die Menge N. Um diese beiden Sonderfälle zu vermeiden, definiert man die mReduzierbarkeit gelegentlich auch so, dass zusätzlich zu den gemäß Definition 1 geltenden Beziehungen für alle berechenbaren Mengen A auch A ≤m ∅ und A ≤m N gelten sollen. Proposition 3. Die m-Reduzierbarkeit ≤m ist eine reflexive und transitive Relation auf der Klasse aller Teilemengen von N. Beweis. Siehe Übung. Proposition 4. Es seien A und B Mengen und es gelte A ≤m B. (i) Ist B entscheidbar, so ist auch A entscheidbar. (ii) Ist A nicht entscheidbar, so ist auch B nicht entscheidbar. Beweis. Siehe Übung. Beide Aussagen sind offensichtlich äquivalent zueinander, die zweite Aussage ist die Kontraposition der ersten Aussage. Satz 5. (i) Gilt A ≤m B und ist B r.a., so ist auch A r.a. (ii) Für jede r.a. Menge A gilt A ≤m H. Beweis. (i) Es gelte A ≤m B vermöge einer berechenbaren Funktion f und B sei r.a., d. h., B = dom(α) für eine partiell berechenbare Funktion α. Dann ist A = dom(α ◦ f ), wobei α ◦ f : x 7→ α(f (x)) partiell berechenbar ist. W. Merkle Berechenbarkeitstheorie SS 2016 3 (ii) Es sei A r.a. und damit gleich dom(α) mit α = ϕe . Dann gibt es einen Index e0 und eine berechenbare Funktion g, so dass für alle x und y gilt (2) (1) ∼ ∼ α(x) ∼ = ϕ(1) e (x) = ϕe0 (x, y) = ϕg(e0 ,x) (y) . Die erste Gleichung gilt gemäß Wahl des Indixes e. Einen Index e0 , welcher die zweite Gleichung wahr macht, erhält man, indem man die Turingmaschine Me in eine Turingmaschine M 0 mit zwei Eingaben transformiert, welche die zweite Eingabe ignoriert und ansonsten die Berechnung von Me bei der ersten Eingabe simuliert. Formal ist die von M 0 berechnete partielle Funktion gleich der Verkettung α ◦ π12 der Projektion π12 der Paarfunktion auf die erste Komponente und der partiell berechenbaren Funktion α. Der Index e0 einer solchen Turingmaschine M 0 kann aus e berechnet werden, was hier aber nicht benötigt wird. Die dritte Gleichung schließlich wird wahr wenn man g gleich der berechenbaren Funktion s11 aus dem s-m-n-Theorem setzt. (1) Nach Konstruktion ist die partielle Funktion ϕg(e0 ,x) entweder total oder überall undefiniert, je nachdem, ob α(x) definiert ist oder nicht. Es gilt also für alle x und für die bei gegebenem e0 berechenbare Funktion f (x) = g(e0 , x) (1) (1) x ∈ A ⇔ α(x) ↓⇔ ϕg(e0 ,x) (g(e0 , x)) ↓⇔ ϕf (x) (f (x)) ↓⇔ f (x) ∈ H , also ist A m-reduzierbar auf das Halteproblem H vermöge f . Korollar 6. Eine Menge A ist genau dann r.a., wenn A ≤m H gilt. Beweis. Folgt direkt aus Satz 5. Korollar 7. Es gilt H ≤m Hallg und Hallg ≤m H. Beweis. Die erst Aussage gilt vermöge der Funktion f : e → 7 he, ei, da nach Definition ein Index e genau dann in H ist, wenn ϕe (e) definiert ist, was wiederum dazu äquivalent ist, dass he, ei in Hallg ist. Es sei daran erinnert, dass X = N \ X das Komplement der Menge X bezeichnet. Bemerkung 8. Falls A ≤m B vermöge einer Funktion f gilt, dann gilt auch A ≤m B vermöge f , da für f folgt x∈A⇔x∈ / A ⇔ f (x) ∈ / B ⇔ f (x) ∈ B . Korollar 9. Die Menge A sei r.a., aber nicht entscheidbar. Dann gilt A m A und A m A. Insbesondere gilt H m H und H m H. W. Merkle Berechenbarkeitstheorie SS 2016 4 Beweis. Falls A ≤m A gälte, wäre die Menge A r.a. und damit A entscheidbar. Weiter folgt A m A mit Bemerkung 8. Definition 10. Eine Menge I von natürlichen Zahlen heißt Indexmenge, falls für alle e und e0 gilt e ∈ I und ϕe = ϕe0 ⇒ e0 ∈ I . Eine Indexmenge I heißt nichttrivial, falls gilt I 6= ∅ und I 6= N. Bemerkung 11. Eine Indexmenge kann als eine Eigenschaft von partiell berechenbaren Funktionen angesehen werden. Für eine Indexmenge I sind für jede partiell berechenbare Funktion α entweder alle Indizes e mit α = ϕ(e) in I oder alle solchen Indizes sind nicht in I. Beispiel 12. Die folgenden Mengen sind Indexmengen {e ∈ N : ϕe ist total }, {e ∈ N : ϕe (0) ↑}, {e ∈ N : dom(ϕe ) ist unendlich} Satz 13. Es sei I eine nichttriviale Indexmenge. Dann gilt H ≤m I oder H ≤m I. Beweis. Es sei ϕ↑ die überall undefinierte partielle Funktion. Zunächst nehmen wir an, dass I keinen Index für die die überall undefinierte partielle Funktion enthält. Da I nichtleer ist, gibt es einen Index e ∈ I mit β = ϕe 6= ϕ↑ . Betrachte die Nummerierung α0 , α1 , . . . mit ( ϕ↑ falls e ∈ / H, αe = β, sonst. Für die Gödel-Nummerierung ϕ0 , ϕ1 , . . . existiert dann eine berechenbare Funktion g, so dass für alle e gilt αe = ϕg(e) . Nach Konstruktion gilt dann e∈H ⇒ αe = β ⇒ ϕg(e) = β ⇒ g(e) ∈ I , e∈ /H ⇒ α e = ϕ↑ ⇒ ϕg(e) = ϕ↑ ⇒ g(e) ∈ /I, d. h., H ist vermöge g auf I reduzierbar. Im Fall, dass I einen Index für die überall undefinierte partielle Funktion enthält, argumentiert man analog mit I anstelle von I und erhält H ≤m I. W. Merkle Berechenbarkeitstheorie SS 2016 5 Aus dem Satz von Rice ergibt sich sofort das folgende Korollar, das manchmal auch als Satz von Rice bezeichnet wird. Korollar 14. Nichttriviale Indexmenge sind nicht berechenbar. Bemerkung 15. Es gibt keine Nummerierung der partielle berechenbaren Funktionen mit unendlichem Definitionsbereich. Angenommen α0 , α1 , . . . wäre eine solche Nummerierung. Dann erhält man eine partiell berechenbare Funktion α die verschieden ist von allen αi ist, wie folgt. Zu Anfang ist α überall undefiniert. In Stufe s zähle den Definitionsbereich von αs auf, bis eine Zahl xs aufgezählt wird, die echt größer ist als die Zahlen x0 + 1, . . . , xs−1 + 1. Setze α(xs ) ↑ und α(xs + 1) = 1. Beispiel 16. Die Menge A = {e ∈ N : We hat mehr als e Elemente} ist keine Indexmenge. Die Menge A ist r.a., zu gegebenem e kann man We aufzählen, bis mindestens e + 1 Elemente von We aufgezählt wurden. Fall I: Es gibt ein e ∈ A, so dass We endlich ist. Nach dem Padding-Lemma gibt es dann einen Index e0 > |We | mit ϕe = ϕe0 , d.h., e0 ∈ / A und folglich ist A keine Indexmenge. Fall II: Alle Mengen We mit e ∈ A sind unendlich. Da A nach Definition alle Indizes e enthält, so dass We unendlich ist, erhält man eine Nummerierung der partiell berechenbaren Funtionen mit unendlichem Definitionsbereich, im Widerspruch zur Bemerkung oben. Für eine Aufzählung e0 , e1 , . . . von A ist ϕe0 , ϕe1 , . . . eine solche Nummerierung. W. Merkle Berechenbarkeitstheorie SS 2016 6 Das Rekursionstheorem Satz 17 (Rekursionstheorem, Kleenescher Fixpunktsatz). Für jede berechenbare Funktion g gibt es einen Index e0 mit ϕg(e0 ) = ϕe0 . Ein Index e0 wie im Rekursiontheorem wird als Fixpunkt von g bezeichnet. Für einen solchen Fixpunkt gilt im Allg. nicht g(e0 ) = e0 . Beweis. Es sei g eine berechenbare Funktion. Betrachte die wie folgt definierten partiellen Funktionen ( ϕt (x) falls ϕe (i) ↓= t, α(e, i, x) ∼ und αe,i (x) ∼ = = α(e, i, x). ↑ sonst, Die partielle Funktion αe,i ist also gleich der partiell berechenbaren Funktion mit Index t = ϕe (i), falls dieser Wert definiert ist, und ist sonst überall undefiniert. Die dreistellige partielle Funktion α ist offensichtlich partiell berechenbar, also gleich ϕ3a für einen geeigneten Index a. Für die berechenbare Funktion s21 aus dem smn-Theorem gilt dann für alle e, i und x αe,i (x) ∼ = α(e, i, x) ∼ = ϕ3a (e, i, x) ∼ = ϕs21 (a,e,i) (x). Setzt man h(e, i) = s21 (a, e, i) und d(e) = h(e, e), so sind diese beiden Funktionen berechenbar und es gilt für alle e und i αe,i = ϕh(e,i) und αe,e = ϕd(e) . Ist nun e1 ein Index für die berechenbare Funktion g ◦ d, also ϕe1 = g ◦ d, dann gilt ϕg(d(e1 )) = ϕϕe1 (e1 ) = αe1 ,e1 = ϕd(e1 ) , (1) und folglich ist e0 = d(e1 ) ein Fixpunkt wie gefordert. Die Gleichungen in (1) gelten dabei, von links nach rechts, nach Wahl von e1 , nach Definition der αe,i und weil ϕe1 total ist, und schließlich nach Konstruktion von h und d. Bemerkung 18. Der Beweis des Rekursionstheorem ist kurz und elegant, aber auf den ersten Blick nicht sehr anschaulich. Die Beweisidee läßt sich an folgendem Diagramm veranschaulichen. W. Merkle Berechenbarkeitstheorie SS 2016 ϕd(0) .. . ··· ϕd(0) ··· ϕg(d(0)) .. . .. . .. . .. . ϕd(1) ··· ϕd(1) ··· ϕg(d(1)) .. . .. . .. . .. . .. . ··· ϕg(d(2)) ··· .. .. . .. . ··· ϕd(e1 ) ϕϕ0 (e1 ) ϕϕ1 (e1 ) . 7 .. . .. .. . . ϕd(e1 ) =ϕg(d(e1 )) ··· Es seien e1 und e2 beliebige Indizes für die Funktionen g ◦ d und d, d.h., g ◦ d = ϕe1 und d = ϕe2 . Da beide Funktionen total sind folgt nach Definition der αe,i , dass im Diagramm die Spalte e1 , von oben nach unten, die partiellen Funktionen ϕg(d(0)) , ϕg(d(1)) , . . . enthält, und die Spalte e2 die partiellen Funktionen ϕd(0) , ϕd(1) , . . .; letztere finden sich nach Konstruktion von d auch auf der Diagonale wieder. Wendet man die Abbildung g auf die Indizes der Form d(e) an, kann dies in dem Sinne als Überführung der Spalte e2 in die Spalte e1 gedeutet werden, dass für alle Zeilen i = 0, 1, . . . die partielle Funktion ϕd(i) in Spalte e2 in die partielle Funktion ϕg(d(i)) in Spalte e1 überführt wird. Dabei wird insbesonder die partielle Funktion ϕd(e1 ) in die partielle Funktion ϕg(d(e1 )) überführt, welche auf der Diagonale in Zeile e1 und Spalte e1 steht und somit gleich der partiellen Funktion αe1 ,e1 = ϕd(e1 ) ist. Also ist e0 = d(e1 ) ein Fixpunkt von g. Beispiel 19. Es gibt einen Index e0 mit We0 = {e0 }. Für einen Beweis dieser Aussage konstruiere (mit dem smn-Theorem) eine berechenbare Funktion g mit Wg(e) = {e}, d.h., es soll für alle e und x gelten ( 0 ϕg(e) (x) = ↑ falls x = e, sonst. Für einen Fixpunkt e0 von g wie im Rekursionstheorem gilt dann ϕe0 = ϕg(e0 ) , und damit We0 = Wg(e0 ) = {e0 } . Bemerkung 20. Jede berechenbare Funktion g hat unendlich viele Fixpunkte. Für einen Beweis durch Widerspruch sei g eine berechenbare Funktion, welche nur endlich viele Fixpunkte e1 , . . . , ek hat. Ist dann ek+1 ein Index, so dass ϕek+1 von allen partiellen Funktionen ϕe1 , . . . , ϕek verschieden ist, W. Merkle Berechenbarkeitstheorie SS 2016 8 so ist die Funktion ( g(e) g (e) = ek+1 0 falls e ∈ / {e1 , . . . , ek }, sonst , berechenbar, hat aber nach Konstruktion keinen Fixpunkt, im Widerspruch zum Rekursionstheorem. Bemerkung 21. Das Rekursiontheorem gilt nicht nur für die Standardnummerierung der partiell berechenbaren Funktionen, sonder für jede GödelNummerierung ψ0 , ψ1 , ψ2 , . . ., d.h., für jede solche Nummerierung und für jede berechenbare Funktion g gibt es einen Index e0 mit ψg(e0 ) = ψe0 . W. Merkle Berechenbarkeitstheorie SS 2016 9 Reduzierbarkeiten und Grade Definition 22. Eine Orakelturingmaschine ist eine Turingmaschine, die neben ihren Arbeitsbändern noch ein spezielles Band hat, auf dem fortlaufend die Folge der Funktionswerte B(0)B(1) . . . der charakteristische Funktion einer Menge B steht. Die Menge B, welche als zusätzliche Eingabe der Berechnung aufgefasst werden kann, wird als Orakel bezeichnet, das zusätzliche Band als Orakelband. Auf das Orakelband kann nur lesend zugegriffen werden und zu Beginn steht der Lesekopf auf dem Feld, welches das Bit B(0) enthält. Weiter kann man fordern, dass das Orakelband in dem Sinn ein Einwegband ist, dass auf diesem Band keine Linksbewegungen ausgeführt werden können. Man schreibt M (x, B) für das Ergebnis der Berechnung der Orakelturingmaschine M bei Eingaben x und Orakel B, falls diese Rechnung terminiert und M (x, B) ↑, falls die Rechnung nicht terminiert. Die Schreibweisen M (x, B) ↓ und M (x, B) ↓= y sind wie bei Turingmaschinen definiert. In allen genannten Schreibweisen kann anstelle von M (x, B) auch M B (x) geschrieben werden. Falls eine Orakelturingmaschine M für ein Orakel B bei allen Eingaben x terminiert, schreibt man M (B) für die eindeutig bestimmte Menge A mit charakteristischer Funktion cA : x 7→ M (x, B). Definition 23. Eine Orakelturingmaschine M heißt total, falls M für alle Eingaben x und alle Orakelmengen B terminert. Definition 24. Eine Menge A ist auf eine Menge B Turing-reduzierbar, kurz A ist T-reduzierbar auf B oder A ≤T B, falls es eine Orakelturingmaschine M gibt mit A = M (B), d. h., mit A(x) = M (x, B) für alle x ∈ N . Eine Menge A ist auf eine Menge B truth-table-reduzierbar, kurz A ist tt-reduzierbar auf B oder A ≤tt B, falls es eine totale Orakelturingmaschine M mit A = M (B) gibt. Satz 25. Für alle Mengen A und B gilt A ≤m B ⇒ A ≤tt B ⇒ A ≤T B , die Implikationen in die umgekehrte Richtung sind im Allg. falsch. Beweis. Beide Implikationen folgen unmittelbar aus den Definition der beteiligten Reduzierbarkeiten. Gegenbeispiele, welche zeigen, dass die Implikationen nicht umgedreht werden können, erhält man für die erste Implikation W. Merkle Berechenbarkeitstheorie SS 2016 10 aus H≤tt H und der bereits gezeigten Aussage H 6 ≤m H. Für die zweite Implikation ist die Existenz eines Gegenbeispiels gerade die aussage des Satzes 37 unten. Die beiden Implikationen in Theorem 25 sind echt, Gegenbeispiele können sogar r.a. gewählt werden. Proposition 26. Es seien A und B Mengen und es gelte A ≤r B für ein r ∈ {tt, T}. (i) Ist B entscheidbar, so ist auch A entscheidbar. (ii) Ist A nicht entscheidbar, so ist auch B nicht entscheidbar. Beweis. Siehe Übung. Die beiden Aussagen sind offensichtlich logisch äquivalent, es ist also nur eine der Aussagen zu zeigen. Proposition 27. Für r ∈ {m, tt, T} ist die Reduzierbarkeit ≤r eine reflexive und transitive Relation auf der Klasse aller Mengen. Beweis. Siehe Übung. Definition 28. Es sei r aus {m, tt, T}. Die r-Äquivalenz von Mengen A und B ist definiert durch A ≡r B g.d.w. A ≤r B & B ≤r A , und der r-Grad einer Menge A ist degr (A) = {X : A ≡r X}. Proposition 29. Es sei r aus {m, tt, T}. Die r-Äquivalenz ist eine Äquivalenzrelation auf der Klasse aller Mengen, die Äquivalenzklassen sind gerade die r-Grade. Die Reduzierbarkeit ≤r induziert auf den r-Graden eine partielle Ordnung. Beweis. Siehe Übung. Bemerkung 30. Für r ∈ {tt, T} ist jede entscheidbare Menge A auf jede Menge B r-reduzierbar, d.h. der r-Grad degr (∅) enthält gerade alle entscheidbaren Mengen und ist bezüglich der Ordnung auf den r-Graden der kleinste Grad. Eine entsprechende Aussage gilt auch für die m-Grade, falls man die Variante der m-Reduzierbarkeit betrachtet, bei der alle entscheidbaren Mengen auf die Mengen ∅ und N reduzierbar sind. W. Merkle Berechenbarkeitstheorie SS 2016 11 Bemerkung 31. Für r ∈ {tt, T} sind für alle Menges A und B die folgenden Aussagen äquivalent (i) A ≤r B, (ii) A ≤r B, (iii) A ≤r B, (iv) A ≤r B. Insbesondere sind die r-Grade unter Komplement abgeschlossen, d. h., für alle Mengen A gilt A ≤r A. Beweis. Siehe Übung. Definition 32. Ein r-Grad heißt rekursive aufzählbar (kurz: r.a.), falls er eine r.a. Menge enthält. Proposition 33. Für r ∈ {tt, T} enthält jeder r.a. Grad ungleich degr (∅) Mengen, die nicht r.a. sind, insbesondere ist die Klasse der r.a. Mengen nicht nach unten gegen r-Reduzierbarkeit abgeschlossen und Beweis. Für jede nichtentscheidbare r.a. Menge A gilt A ≡tt A, aber A kann nicht r.a. sein, da sonst A entscheidbar wäre. Totale Orakelturingmaschinen und Wahrheitswerte-Tafeln Lemma 34. Für jede totale Orakelturingmaschine M gibt es eine berechenbare Funktion f , so dass M bei Eingabe x bei jedem Orakel nur Orakelfragen mit z ≤ f (x) stellt. Beweis. Sei M eine totale Orakelturingmachine und sei x eine beliebige Eingabe. Dann gibt es für jedes Orakel B ein Präfix wB der charakteristischen Folge von B minimaler Länge, so dass M bei Eingabe x und Orakel B nur Orakelfragen z ≤ |wB | stellt und für alle Orakel X die ebenfalls wB als Präfix haben gilt wB = wX . Die Menge U = {wB : B ⊆ N} ist präfixfrei, d.h., es gibt keine Wörter w und w0 in U mit w 6= w0 , so dass w Präfix von w ist. Andernfalls ist w = wB und w = wB 0 und bei Eingabe x mit Orakel B werden nur Orakelfragen “in” w gestellt, d.h., bei Orakel B 0 werden nur genau die gleichen Fragen gestellt und w0 ist nicht minimal wie gefordert. Schließt man die Menge U unter Präfixen ab, erhält man einen Baum T , welcher keinen unendliche Pfad hat. Gäbe es einen solchen Pfad, wäre dieser gleich der charakteristischen Folge einer Menge X aber T würde kein Erweiterung von wX enthalten. Nach dem Lemma von König ist T also endlich. Ist ux die Länge des längsten Wortes in T , so werden für alle Orakel nur Orakelfragen kleiner oder gleich |ux | gestellt. W. Merkle Berechenbarkeitstheorie SS 2016 12 Zu gegebenem x kann man die einen kanonischen Index für die Menge U berechnen indem man solange Wörter der Form wB aufzählt, bis man Präfixe aller möglichen Folge hat. Alternativ kann man wie folgt argumentieren. Auf dem Raum aller Mengen (bzw. Folgen) erzeugen die offenen Basismengen der Form Ow = {X : w ist Präfix von X} eine Topologie. Der entsprechende topologische Raum, der Cantorraum, ist kompakt, folglich enthält die offene Überdeckung U eine endliche Teilüberdeckung. Definition 35. Es sei BF0 , BF1 , . . . eine geeignete effektive Aufzählung aller Booleschen Funktion endlicher Stelligkeit. Weiter enthalte für alle i die endliche Menge Di mit kanonischem Index i gerade die Elemente i z1i < z2i < . . . < z|D . i| Satz 36. Für alle Mengen A und B gilt A ≤tt B genau dann, wenn es berechenbare Funktionen g und h gibt, so dass für alle x ∈ N die Boolesche Funktion BFg(x) die Stelligkeit |Dh(x) | hat und weiter gilt h(x) A(x) = BFg(x) (B(z1 h(x) ), . . . , B(z|D h(x) | )) . Beweis. Gilt A ≤tt B vermöge berechenbarer Funktionen g und h, so erhält man eine totale Orakelturingmaschine M mit A = M (B) wie folgt: bei Eingabe x berechnet M zunächst h(x) und befragt dann das Orakel an allen Stellen z ∈ Dh(x) , anschließend wertet M die Boolesche Funktion BFg(x) aus, wobei die Argumente gerade die Orakelantworten sind. Gilt umgekehrt A ≤T B vermöge einer totalen Orakelturingmaschine M , so gibt es nach Lemma 34 eine berechenbare Funktion f , so dass M bei Eingabe x nur Orakelfragen z ≤ f (x) stellt. Es sei h(x) ein kanonischer Index für die Menge {0, . . . , f (x) und es sei BFg(x) die Boolesche Funktion, welche bei Eingabe w = w0 · · · wf (x) , wi ∈ {0, 1} genau dann wahr wird, wenn M bei Eingabe x und einem Orakel mit Präfix w akzeptiert. Dann gilt A ≤tt B vermöge g und h. Proposition 37. Es gibt Mengen A und B mit A ≤T B aber A 6 ≤tt B. Beweis. Wir konstruieren Mengen A und B wie gefordert in Stufen s = 0, 1, . . .. Dabei erreichen wir A ≤T B indem die e-te Zeile Be = {y : he, yi ∈ B} W. Merkle Berechenbarkeitstheorie SS 2016 13 von B genau eine Zahl y enthält, welche genau dann ungerade ist, falls gilt e ∈ A. Wir erreichen A 6 ≤tt B, indem wir für alle totalen Orakelturingmaschinen Me sicherstellen, dass gilt A(e) 6= Me (e, B). Zu Beginn sind A und B leer, in Stufe e wird A(e) und die e-te Zeile Be von B festgelegt. Stufe e: Falls e nicht total ist, setze A(e) = 0. Falls e total ist, betrachte das Ergebnis der Rechnung von Me bei Eingabe e und mit der augenblicklichen Version von B als Orakel. Falls die Rechnung akzeptiert, setze A(e) = 0, sonst setze A(e) = 1. Wähle 2y so groß, dass he, 2yi echt größer ist, als alle Orakelfragen, die von einen totalen Orakelturingmaschine Mj mit j ≤ e bei Eingabe j gestellt werden; je nachdem, ob A(e) = 0 oder A(e) = 1 gilt, füge 2y bzw. 2y + 1 zu Be hinzu. W. Merkle Berechenbarkeitstheorie SS 2016 14 Das Postsche Problem Eine Hauptfrage der Berechenbarkeitstheorie ist, wie die Struktur aller bzw. der r.a. Turing-Grade aussieht. Anfänglich war noch nicht einmal bekannt, ob die r.a. Turing-Grade aus mehr als zwei Elementen bestehen. Problem 38 (Postsches Problem). Gibt es eine r.a. Menge, die weder entscheidbar noch Turing-äquivalent zum Halteproblem ist? Post fragte für die verschiedenen Reduzierbarkeiten insbesondere nach strukturellen Eigenschaften einer Menge, die sowohl nicht äquivalent zum Halteproblem, als auch nicht entscheibar ist. Dieser Ansatz wird im Folgenden nicht weiter verfolgt. Stattdessen werden wir eine Lösung des Postschen Problems betrachten, bei der zwei r.a. Mengen A und B mit A T B und B T A (2) konstruiert werden. Die Mengen A und B sind dann offensichtlich weder entscheidbar noch T-äquivalent zum Halteproblem. Dies beantwortet die im Postschen Problem gestellte Frage positiv und zeigt gleichzeitig, dass die r.a. Turing-Grade und damit auch alle Turing-Grade keine lineare Ordnung bilden. Wir betrachten zunächst das vereinfachte Problem der Konstruktion von beliebigen, also nicht unbedingt r.a. Mengen A und B, welche (2) erfüllen. Satz 39. Es gibt Mengen A und B mit A T B und B T A. Beweis. Es sei M0 , M1 , . . . die Standardaufzählung aller OrakelTuringmaschinen. Die Konstruktion erfolgt in Stufen s = 0, 1, . . ., wobei in Stufe 2e für eine geeignet gewählte Zahl x2e sichergestellt wird, dass folgende Forderung erfülllt ist A(x2e ) Me (x2e , B) , (3) Man sagt, in Stufe 2e wird an der Stelle 2e gegen die Reduktion von A auf B durch die Orakel-Turingmaschine Me diagonalisiert. Entsprechend wird in Stufe 2e + 1 für eine geeignet gewählte Zahl x2e+1 sichergestellt, dass gilt B(x2e+1 ) Me (x2e+1 , A) , (4) d.h. es wird an der Stelle x2e+1 gegen die Reduktion von B auf A durch Me diagonalisiert. Da (3) und (4) für alle Indizes e gelten, folgt dann, dass die konstruierten Mengen wie gefordert unvergleichbar bezügliche der T-Reduzierbarkeit sind. W. Merkle Berechenbarkeitstheorie SS 2016 15 Am Ende von Stufe s werden geeignete Präfixe αs und βs von A bzw. B festgelegt, welche die zuvor festgelegten Präfixe αs−1 und βs−1 erweitern. Zu Beginn werden α−1 und β−1 gleich dem leeren Wort gesetzt. Stufe s ≥ 0 mit s = 2e: Es sei x2e gleich der kleinsten Zahl, welche nicht im Definitionsbereich von αs liegt. Betrachte die Rechnung der Orakel-Turingmaschine Me bei Eingabe x2e für Orakel Y , welche βs−1 als Präfix haben. Gilt für jedes solche Orakel Y , dass die Rechnung nicht terminiert, dann setze αs = αs−1 0 und βs = βs−1 0. Andernfalls wähle ein solches Orakel Y und ein a ∈ {0, 1} mit M(x2e , Y ) ↓ = 6 a. In diesem Fall, setze αs = αs−1 a, und setzte βs gleich dem kürzesten Präfix von Y , welches βs−1 echt erweitert und dessen Definitionsbereich alle Orakelfragen enthält, welche bei der Rechnung von Me mit Eingabe x2e und Orakel Y gestellt werden. Stufe s > 0 mit s = 2e + 1: Es sei x2e+1 gleich der kleinsten Zahl, welche nicht im Definitionsbereich von βs−1 liegt. Betrachte die Rechnung der Orakel-Turingmaschine Me bei Eingabe x2e+1 für Orakel X, welche αs−1 als Präfix haben. Gilt für jedes solche Orakel X, dass die Rechnung nicht terminiert, dann setze αs = αs−1 0 und βs = βs−1 0. Andernfalls wähle ein solches Orakel X und ein a ∈ {0, 1} mit M (x2e+1 , X) ↓ = 6 a. In diesem Fall, setze βs = βs−1 a, und setzte αs gleich dem kürzesten Präfix von X, welches αs−1 echt erweitert und dessen Definitionsbereich alle Orakelfragen enthält, welche bei der Rechnung von Me mit Eingabe x2e+1 und Orakel X gestellt werden. Da die Wörter αs und βs Präfixe der konstruierten Mengen A und B sind, gelten (3) und (4) für alle Indizes e. Bemerkung 40. Die Art der Konstruktion der Mengen A und B im Beweis von Satz 42 wird als verletzungsfreie endliche Erweiterungskonstruktion (injury-free finite extension construction) bezeichnet. Bemerkung 41. Die im Beweis von Satz 42 konstruierten Mengen A und B sind T-reduzierbar auf das Halteproblem, falls man die Auswahl der Mengen X und Y geeignet vornimmt. (Beweis siehe Übungen.) W. Merkle Berechenbarkeitstheorie SS 2016 16 Satz 42 (Friedberg und Muchnik). Es gibt rekursiv aufzählbare Mengen A und B mit A T B und B T A. Beweis. Es sei M0 , M1 , . . . die Standardaufzählung aller Orakel-Turingmaschinen. In der Konstruktion wird für alle e sichergestellt, dass die folgende Forderungen R2e und R2e+1 erfüllt sind (englisch: requirement) R2e : R2e+1 : für eine Zahl x2e gilt A(x2e ) Me (x2e , B) , (5) für eine Zahl x2e+1 gilt B(x2e+1 ) Me (x2e+1 , A) . (6) Da (5) und (6) für alle Indizes e gelten, sind die konstruierten Mengen A und B wie gefordert unvergleichbar bezüglich der T-Reduzierbarkeit. Die Forderungen Rj werden in aufsteigender Reihenfolge der Indizes geordnet, man sagt, für i < j hat Ri höhere Priorität als Rj . Die Konstruktion der Mengen A und B erfolgt in Stufen s = 0, 1, . . .. In Stufe s werden endliche Teilmengen As und Bs von A bzw. B festgelegt, wobei die As monoton gegen A und die Bs monoton gegen B konvergieren, d.h. es gilt [ [ As ⊆ As+1 , A = As , Bs ⊆ Bs+1 , B = Bs . s∈N s∈N Zu Beginn werden die Mengen A und B als leer und die Variable durch m = 0 initialisiert. und man setzt x2e = x2e+1 = e für alle Indizes e. In Stufe s ≥ 0 wird maximal eine Zahl xis der Form x2e+1 zu A oder der Form x2e+1 zu B hinzugefügt. Wird xis zu A hinzugefügt, so werden alle Zahlen xj mit j > is um den aktuellen Wert von m vergrößert. Man sagt, Forderung R2e verlangt bei Stufe s Aufmerksamkeit, falls e ≤ s gilt und As (x2e ) = Me,s (x2e , Bs ) , d.h., die Rechnung von Me bei Eingabe x2e und mit Orakel Bs terminiert nach höchstens s Schritten und das Ergebnis stimmt mit As (x2e ) überein. Entsprechend verlangt die Forderung R2e+1 bei Stufe s Aufmerksamkeit, falls e ≤ s gilt und Bs (x2e+1 ) = Me,s (x2e+1 , As ) . Stufe s ≥ 0: Falls es mindestens einen Index i ≤ s gibt, so dass Forderung Ri Aufmerksamkeit verlangt, so sei is der kleinste derartige Index i (andernfalls gehe zu Stufe s + 1). W. Merkle Berechenbarkeitstheorie SS 2016 17 Falls is = 2e gilt, betrachte die Rechnung von Me bei Eingabe x2e mit Orakel Bs−1 (welche nach Wahl von is konvergiert). Falls diese Rechnung 0 ergibt, zähle x2e nach A auf, d.h. setze As = As−1 ∪ {x2e } . Falls is = 2e + 1 gilt, betrachte die Rechnung von Me bei Eingabe x2e+1 mit Orakel As−1 (welche nach Wahl von is konvergiert). Falls diese Rechnung 0 ergibt, zähle x2e+1 nach B auf, d.h. setze Bs = Bs−1 ∪ {x2e+1 } . Es sei z die größte Orakelfrage, welche bei der betrachten Rechnung mit Eingabe xis gestellt wurde. Setze m = max{m, xis , z} . Setze xj = xj + m + 1 für alle j mit j > is , d.h. für alle j mit niedrieger Priorität als is . Falls is definiert ist, sagt man, die Forderung Ris sei bei Stufe s aktiv. Einige Beobachtungen zur Konstruktion: • Es gilt zu jedem Zeitpunkt der Konstruktion x0 < x2 < . . . und x1 < x3 < . . .. • Die Mengen A und B können sich nur daduch ändern, dass in einer Stufe s für die in dieser Stufe aktive Forderung Ris , die Zahl xis aufgezählt wird. • Ist Ris in Stufe s aktiv, so werden alle Diagonalisierungspunkte der Form xj niedriger Priorität, d.h. mit is < 2j so vergrößert, dass diese im Fall is = 2e bei der Berechnung von Me,s (x2e , Bs ) nicht als Orakekfragen auftreten. Deshalb gilt für alle t > s Me,t (x2e , Bt ) = Me,s (x2e , Bs ) 6= A(x2e ) , falls nicht eine der Forderungen R2j+1 höherer Priorität, d.h. mit 2j + 1 < 2e vor Stufe t aktiv war. Entsprechendes gilt für Forderungen der Form R2e+1 . • Einem Diagonalisierungpunkt xj wird in einer Stufe s genau dann ein neuer Wert zugewiesen, wenn eine Forderung Ris mit is < j aktiv ist. W. Merkle Berechenbarkeitstheorie SS 2016 18 Man beweist nun durch simultane Induktion über j, dass jeder Diagonalisierungspunkt xj nur endlich oft umdefiniert wird und jede Forderung Rj nur endlich oft aktiv wird und . Induktionsanfang j = 0: Der Punkt x0 wird nie umdefiniert, da es keine Forderungen höherer Priorität als R0 gibt. Falls R0 bei einer Stufe s aktiv wird, wird R0 in dieser Stufe erfüllt und bleibt bei allen Stufen t ≥ s erfüllt, da alle anderen Diagonalisierungspunkte ab Stufe s so groß sind, dass sie keinen Einfluss auf die Rechnung von M0 (0, Bs ) haben, d.h., Forderung R0 wird höchstens einmal aktiv. Induktionsschrit j → j + 1: der Diagonalisierungspunkt xj+1 wird nur umdefiniert, falls eine der Forderung R0 , . . . , Rj höherer Priorität aktiv ist, dies passiert nach Induktionsannahme nur endlich oft. Falls ein Diagonalisierungspunkt xj+1 nach Stufe s nicht mehr umdefiniert wird, so werden nach Stufe s keine Forderungen i mit i < j aktiv, d.h., es folgt wie im Fall j = 0, dass Forderung Rj+1 nach Stufe s hochstens einmal aktiv wird. Für alle e gilt Me (x2e , Bs ) 6= A(x2e ) und Me (x2e+1 , A) 6= B(x2e+1 ) . Andernfalls wähle ein i = 2e (bzw. i = 2e + 1, so dass gilt Me,s (x2e , Bs ) 6= A(x2e ). Dann terminiert insbesondere die Rechnung von Me mit Eingabe x2e und Orakel B; es sei z die größte Orakelfrage, die in dieser Rechnung gestellt wird. Betrachte die Stufe s, in der x2e zum letzten Mal umdefiniert wird, d.h. nach Stufe s wird keine Forderung Rj mit i < j mehr aktiv. Nach Annahme wird Forderung Ri selbst nach Stufe s ebenfalls nicht mehr aktiv. Dies widerspricht aber der Tatsache, dass für alle hinreichend großen Stufen t > s das Ergebnis der Rechnung von M2e mit Eingabe x2e übereinstimmt mit Me,t (x2e , Bt ), d.h., für alle solche Stufen t verlangt Ri , aber keine Forderung höherer Priorität, Aufmerksamkeit. W. Merkle Berechenbarkeitstheorie SS 2016 19 Relativierte Berechnungen und die arithmetische Hierachie Relativierte Berechnungen und Orakel Definition 43. Eine Menge A ist entscheidbar mit Orakel B, falls A ≤T B gilt, d.h., falls es eine Orakel-Turingmaschine M mit A = M (B) gibt . Eine Menge A ist rekursiv aufzählbar (r.a.) mit Orakel B, falls es eine Orakel-Turingmaschine M gibt, welche mit Orakel B den Definitionsbereich A hat, d.h., falls gilt A = {x ∈ N : M (x, B) ↓} . Falls A mit Orakel B entscheidbar ist, sagt man auch, A ist entscheidbar relativ zu oder entscheidbar in B, und entsprechend sagt man auch, A sei r.a. relativ zu oder r.a. in B. Viele Resultate über unrelativierte Berechnungen lassen sich mit sehr änhnlichen Beweisen auf den Fall relativierter Berechnungen übertragen. Bemerkung 44. Wie im unrelativierten Fall kann man zeigen, dass eine Menge A genau dann mit Orakel B aufzählbar ist, falls es eine mit einem geeigneten Ausgabemechanismus ausgestattete Orakel-Turingmaschine gibt, welche mit Orakel B eine Folge x0 , x1 , . . . ausgibt, so dass die Menge A gleich der Menge {x0 , x1 , . . .} ist. Satz 45. Es seien A und B Mengen. (i) A ist genau dann entscheidbar in B, wenn A und das Komplement A von A r.a. in B sind. (ii) A ist genau dann entscheidbar in B, wenn A relativ zu B eine monotone Aufzählung der Form x0 ≤ x1 ≤ x2 . . . hat. Definition 46. Es sei B eine Menge und M0 , M1 , . . . sei die Standardaufzählung aller Orakel-Turingmaschinen. Die Menge HB = {e : Me (e, B) ↓} wird als (diagonales) Halteproblem relativ zu B, als Sprung von B oder als Jump von B bezeichnet. Die Abbildung X 7→ HX heißt Sprungoperator oder Jump operator. W. Merkle Berechenbarkeitstheorie SS 2016 20 Für HB wird auch die Schreibweise B 0 benutzt (gesprochen: B Strich, englisch B prime oder B jump). Satz 47. Für alle Mengen A und B ist A genau dann r.a. relativ zum Orakel B, wenn A m-reduzierbar auf HB ist. Beweis. Gilt A ≤m HB vermöge einer berechenbaren Funktion f , so kann die Menge A mit Orakel B wie folgt aufgezählt werden. Für s = 0, 1, . . . berechne für alle x ≤ s den Wert f (x) und simuliere dann für jeweils s Schritte die Berechnung von Mf (x) (f (x), B). Zähle alle x auf, bei denen diese simulierte Berechnung terminiert. Nach Konstruktion werden nur x in A aufgezählt. Andererseits gibt es für jedes x in A ein s das so groß ist, dass die Berechnung von Mf (x) (f (x), B) in höchstens s Schritten terminiert. Ist umgekehrt A r.a. mit Orakel B, dann gibt es eine Orakel-Turingmaschine M , so dass der Definitionsbereich von M mit Orakel B gleich A ist, d.h., für alle x ist x genau dann in A, wenn M bei Eingabe x und Orakel B terminiert. Betrachte nun zu gegebenem x eine neue Orakel-Turingmaschine Mh(x) , so dass für alle y und alle Orakel X gilt M (x, X) ∼ = Mh(x) (y, X) , d.h., bei gegebenem Orakel X verhält sich die Orakel-Turingmaschine Mh(x) bei jeder Eingabe y so wie M bei Eingabe x. Die Abbildung h kann dabei berechenbar gewählt werden und nach Konstruktion gilt für alle x x ∈ A ⇔ M (x, B) ↓⇔ Mh(x) (h(x), B) ↓⇔ h(x) ∈ HB , A ist also m-reduzierbar auf HB vermöge h. Da jede Menge auf sich selbst m-reduzierbar ist, erhalten wir folgenden Spezialfall von Satz 47. Korollar 48. Für alle Mengen B ist das Halteproblem relativ zu B r.a. mit Orakel B. Satz 49. Für alle Mengen B ist B m-reduzierbar auf HB und somit entscheidbar mit Orakel HB , aber HB ist nicht entscheidbar mit Orakel B, d.h., es gilt B ≤m HB und HB T B . Beweis. Es sei B eine Menge und M0 , M1 , . . . sei die Standardaufzählung aller Orakel-Turingmaschinen. W. Merkle Berechenbarkeitstheorie SS 2016 21 Es sei h eine berechenbare Funktion, so dass für alle x die Orakel-Turingmaschine Mh(x) bei Eingabe y und Orakel X genau dann terminiert, wenn x in X ist. Dann gilt x ∈ B ⇔ Mh(x) (h(x), B) ⇔ h(x) ∈ HB , d.h., es gilt B ≤m HB vermöge h und damit auch B ≤T HB . Weiter nehmen wir für einen Beweis durch Widerspruch an, dass HB entscheidbar relativ zu B ist. Dann ist die durch ( 1 + Me (e, B), falls e ∈ HB , g(e) = 0 sonst, defnierte Funktion g mit Orakel B berechenbar, im Widerspruch dazu, dass sich g an der Stelle e von der Funktion unterscheidet, welche von der OrakelTuringmaschine Me mit Orakel B berechnet wird. Satz 50. Ist eine Menge A T-reduzierbar auf eine Menge B, dann ist das Halteproblem relativ zu A m-reduzierbar auf das Halteproblem relativ zu B, d.h., es gilt A ≤T B impliziert HA ≤m HB . Insbesondere folgt aus A =T B, dass HA =m HB gilt. Beweis. Es gelte A ≤T B und M sei eine Orakel-Turingmaschine mit A = M (B) . Zu einer Orakel-Turingmaschine Me betrachte eine Orakel-Turingmaschine Mh(e) , welche bei Eingabe y und Orakel X die Rechnung von Me bei Eingabe e simuliert, dabei aber als Antwort auf jede Orakelfrage z den Wert M (z, X) benutzt (und nicht terminiert, falls einer dieser Werte nicht definiert ist). Für alle Indizes e arbeitet Mh(e) also bei jeder Eingabe wie Me bei Eingabe e, wobei in der Berechnung von Me an Stelle des tatsächlichen Orakels X das Orakel M (X) benutzt wird, falls die entsprechenden Werte von M (X) definiert sind. Die Abbildung h kann dabei berechenbar gewählt werden. Da nach Wahl von M für alle z der Wert M (z, B) definiert ist, gilt für alle y Me (e, A) ∼ = Mh(e) (y, B) ∼ = Mh(e) (h(e), B) . Insbesondere gilt also für alle e e ∈ HA ⇔ Me (e, A) ↓ ⇔ Mh(e) (h(e), B) ↓ ⇔ h(e) ∈ HB . Es folgt HA ≤m HB vermöge h. W. Merkle Berechenbarkeitstheorie SS 2016 22 Iteriert man die Anwendung des Jumpoperator X 7→ KX , mit der leeren Menge beginnend, so erhält man eine Folge von Mengen ∅, ∅0 , ∅00 , . . . . [n−1] Definition 51. Es sei ∅[0] = ∅ und für n > 0 sei ∅[n] = H∅ . Korollar 52. Für alle n > 0 gilt, dass die Menge ∅[n] r.a., aber nicht entscheidbar mit Orakel ∅[n−1] ist. Definition 53. Eine Relation R ⊆ Nk heißt entscheidbar, falls die Menge {hx1 , . . . , xk i : (x1 , . . . , xk ) ∈ R} entscheidbar ist. Definition 54. Es sei n ∈ N. Eine Menge A ist eine Σn -Menge, falls es eine entscheidbare Relation R gibt, so dass für alle x ∈ N gilt x ∈ A ⇔ ∃y1 ∀y2 . . . Qyn R(x1 , y1 , . . . , yn ) , wobei Q für einen Allquantor steht, falls n gerade ist, und sonst für einen Existenzquantor. Eine Menge A ist eine Πn -Menge, falls es eine entscheidbare Relation R gibt, so dass für alle x ∈ N gilt x ∈ A ⇔ ∀y1 ∃y2 . . . Qyn R(x1 , y1 , . . . , yn ) , wobei Q für einen Existenzquantor steht, falls n gerade ist, und sonst für einen Allquantor. Eine Menge A ist eine ∆n -Menge, falls A sowohl Σn Menge, als auch Πn -Menge ist. Die Klasse aller Σn -, Πn - und ∆n -Mengen wird mit Σn , Πn bzw. ∆n bezeichnet. Eine Menge B heißt arithmetisch, falls B in einer der Klassen Σn oder Πn enthalten ist, die Klasse aller arithmetischen Mengen heißt arithmetische Hierarchie. Bemerkung 55. Die Klasse Σ0 = Π0 = ∆0 = ∆1 enthält genau die entscheidbaren Mengen. Für alle n sind die Σn -Mengen gerade die Komplemente der Πn -Mengen und umgekehrt. Eine Menge A ist genau dann Σ1 , wenn A rekursiv aufzählbar, und A ist genau dann Π1 , wenn A das Komplement einer rekursiv aufzählbaren Menge ist. Lemma 56. Für alle n ≥ 0 sind die Klassen Σn , Πn und ∆n jeweils gegen die mengentheoretischen Operationen Vereinigung und Durchschnitt abgeschlossen, d.h., liegen zwei Mengen A und B in einer dieser Klassen, dann auch deren Vereinigung A ∪ B und Durchschnitt A ∩ B. W. Merkle Berechenbarkeitstheorie SS 2016 23 Beweis. Seien A und B zwei Σn -Mengen mit x ∈ A ⇔ ∃y1 ∀y2 . . . Qn yn RA (x, y1 , . . . , yn ) , x ∈ B ⇔ ∃y1 ∀y2 . . . Qn yn RB (x, y1 , . . . , yn ) , dann gilt aus rein logischen Gründen x ∈ A ∪ B ⇔ ∃y1 ∃e y1 ∀y2 ∀e y2 . . . Qn yn Qn yen [RA (x, y1 , . . . , yn ) or RB (x, ye1 , . . . , yen )] . Für Πn -Mengen schließt man analog, und ebenso für den Fall des Durchschnitts. Die Aussage für Klassen der Form ∆n folgt, da Mengen A und B in ∆n nach Definition Σn und Πn sind und dies nach den bereits bewiesenen Abschlusseigenschaften auch für A ∪ B und A ∩ B gilt. Satz 57. Für alle n ≥ 1 gilt Σn ∪ Πn $ Σn+1 ∩ Πn+1 $ Σn+1 ∪ Πn+1 | {z } =∆n+1 Beweis. Die linke Inklusionsbeziehung gilt nach Definiton der beteiligten Klassen. Zum Beispiel ist jede Σn -Menge auch Πn+1 -Menge, wie man durch Voranstellen eines irrelevanten Allquantors in einer entsprechenden Σn -Darstellung sieht. Die rechte Inklusionsbeziehung gilt trivialerweise. Die Nichtinklusionen folgen aus dem folgenden Satz 58. Zum Beispiel ist ∅[n+1] eine Σn+1 -Menge, aber keine Σn -Menge, da sonst ∅[n+1] m-reduzierbar auf ∅[n] wäre. Weiter ist ∅[n+1] keine Πn+1 -Menge, da sonst das Komplement von ∅[n+1] eine Σn+1 -Menge und damit ebenso wie die Menge ∅[n+1] selbst r.a. in ∅[n] wäre. Dann wäre aber ∅[n+1] entscheidbar mit Orakel ∅[n] . W. Merkle Berechenbarkeitstheorie SS 2016 24 Satz 58 (Satz von Post). Für alle n ≥ 0 und alle Mengen A sind die folgenden Aussagen äquivalent. (i) A ist eine Σn+1 -Menge. (ii) A ist m-reduzierbar auf ∅[n+1] . (iii) A ist r.a. in ∅[n] . (iv) A ist r.a. in einer Σn -Menge. (v) A ist r.a. in einer Πn -Menge. Beweis. Wir zeigen die Äquivalenz der Aussagen durch Induktion über n. Für n = 0 sind alle fünf Aussagen äquivalent dazu, dass die Menge A r.a. ist. Dies folgt für Aussage (iii) wegen ∅[n] = ∅, für Aussage (ii) aus Satz 47, und für die restlichen Aussagen aus Bemerkung 55. Im Induktionsschritt sei nun n > 0. (ii)⇔(iii): Die Äquivalenz der zweiten und dritten Aussage ergibt sich als Spezialfall von Satz 47, wenn man dort die Menge B gleich ∅[n] setzt. (iii)⇔(iv): Aus der Äquivalenz der ersten und zweiten Aussage in der Induktionsvoraussetzung folgt sofort, dass ∅[n] m-vollständig für die Klasse der Σn -Mengen ist. Also ist ∅[n] eine Σn -Menge, woraus sofort die Implikation (iii)⇒(iv) folgt, und jede andere Σn -Menge ist mit Orakel ∅[n] entscheidbar, woraus dann die Implikation (iv)⇒(iii) folgt. (iv)⇔(v): Wenn die Menge A relativ zu einem Orakel A in Σn r.a. ist, dann ist auch A r.a. relativ zum Orakel Ā r.a., welches in Πn liegt, und umgekehrt. (i)⇒(v): Sei A Σn+1 -Menge mit x ∈ A ⇔ ∃y1 ∀y2 . . . Qn yn [R(x, y1 , . . . , yn )] für eine entscheidbare Relation R. Setzt man nun e R(hx, y1 i, . . . , yn ) = R(x, y1 , . . . , yn ) und definiert man die Menge B durch e hx, y1 i ∈ B ⇔ ∀y2 . . . Qn yn [R(hx, y1 i, . . . , yn )] , so ist B eine Π2 -Menge. Da x ∈ A genau dann gilt, wenn es ein y1 mit hx, y1 i ∈ B gibt, kann man die Menge A relativ zum Orakel B aufzählen. W. Merkle Berechenbarkeitstheorie SS 2016 25 (iv)⇒(i): Sei A r.a. in einer Πn -Menge B. Dann gibt es eine Orakel-Turingmaschine M und eine entscheidbare Relation R mit x ∈ A ⇔ M (x, B) ↓ und z ∈ B ⇔ ∀y1 ∃y2 . . . Qn yn R(x, y1 , . . . , yn ) . Indem wir eine effektiv und effektiv invertierbare bijektive Abbildung zwischen der Menge der Wörter über dem Alphabet {0, 1} und der Menge der natürlichen Zahlen festlegen, können wir Wörter über {0, 1} und natürliche Zahlen miteinander identifizieren. Ist zum Beispiel w0 , w1 , . . . eine effektiv gegebene Folge in der jedes Wort über {0, 1} genau einmal vorkommt, so kann man wi mit der Zahl i identifizieren. Nimmt man an, dass eine Orakel-Turingmaschine in s Schritten nur auf die ersten s Bits des Orakelbands zugreifen kann, dann gilt für alle x x ∈ A ⇔ ∃w∃s[ M (x, w) ↓ in höchstens s Schritten & w v B ] . | {z } | {z } entscheidbar gegeben die Werte von x, w und s (7) Σn+1 Dabei bedeutet M (x, w) ↓, dass die Rechnung von M bei Eingabe x terminiert, falls auf dem Orakelband eine Menge mit Präfix w steht und dass weiter bei der entsprechenden Rechnung nur auf die ersten |w| Stellen des Orakels zugegriffen wird. Ob M (x, w) ↓ in höchstens s Schritten gilt, kann für gegebene Werte von x, w und s durch Simulation von M effektiv entschieden werden. Um A als Σn+1 -Menge nachzuweisen, genügt es also gemäß (7) zu zeigen, dass die Menge der Präfixe w von B eine Σn+1 -Menge ist. Für jedes Wort w = w(0)w(1) . . . w(` − 1) der Länge ` gilt w v B ⇔ ∀j ≤ `[(w(j) = 0 → j ∈ / B)&(w(j) = 1 → j ∈ B)] ⇔ ∀j ≤ `[w(j) = 0 → j ∈ / B] & ∀j ≤ `[w(j) = 1 → j ∈ B] ⇔ ∀j ≤ ` [ w(j) = 1 or j ∈ / B ] & ∀ j ≤ ` [ w(j) = 0 or j ∈ B ] . | {z } | {z } | {z } | {z } Σn Πn entscheidbar entscheidbar | {z } | {z } Σn | | {z Σn Πn } | {z Πn {z Σn+1 } } Dabei wird verwendet, dass nach Lemma 56 Klassen der Form Σn und Πn gegen Vereinigung und Durchschnitt abgeschlossen sind. Weiter kann man zeigen, dass Voranstellen des beschränkten Quantors ∀j ≤ ` wieder zu einer Σn -Menge führt. Indexmengen und die Stufen der arithmetischen Hierarchie Nach dem Satz von Rice sind nichttriviale Indexmengen nicht entscheidbar. In natürlicher Weise sich ergebende Indexmengen sind meist arithmetisch W. Merkle Berechenbarkeitstheorie SS 2016 26 und darüberhinaus oft auch vollständig für eine Klasse der Form Σn oder Πn in der arithmetischen Hierarchie. Definition 59. Eine Menge B heißt m-vollständig für eine Klasse von Mengen, falls die Menge B selbst in der Klasse liegt und jede Menge in dieser Klasse m-reduzierbar auf B ist. Der Begriff T-vollständig wird entsprechend definiert. Eine Menge heißt Σn -vollständig, falls die Menge m-vollständig für die Klasse Σn ist. Der Begriff Πn -vollständig ist entsprechend definiert. Beispiel 60. Die Menge Nonempty = {e : We 6= ∅} ist Σ1 -vollständig. Zunächst ist Nonempty eine Σ1 -Menge, da für alle e gilt e ∈ Nonempty ⇔ ∃x∃s[Me (x) terminiert in s Schritten] . Ist nun A eine weitere Σ1 -Menge, dann gibt es eine entscheidbare Relation R, so dass für alle x gilt x ∈ A ⇔ ∃yR(x, y) . Damit ist die zweistellige partielle Funktion ( 1, falls R(x,y) gilt, ϕ(x, y) = ↑ sonst. (2) partiell berechenbar, es gilt also ϕ = ϕe für einen Index e. Mit dem s-m-nTheorem folgt dann, dass es eine berechenbare Funktion g gibt, so dass für alle x und y gilt ∼ ϕ(2) e (x, y) = ϕg(e,x) (y) . Nach Konstruktion ist genau dann, wenn x in A liegt der Definitionsbereich Wg(e,x) von ϕg(e,x) nichtleer, also ist A m-reduzierbar auf die Menge Nonempty vermöge der berechenbaren Funktion x 7→ g(e, x). Beispiel 61. Die Menge Fin = {e : We ist endlich } ist Σ2 -vollständig. Zunächst ist Fin eine Σ2 -Menge, für alle e gilt e ∈ Fin ⇔ ∃b∀x∀s[Me (x) terminiert in s Schritten ⇒ x ≤ b] . Ist nun A eine weitere Σ2 -Menge, dann gibt es eine entscheidbare Relation R, so dass für alle x gilt x ∈ A ⇔ ∃y∀zR(x, y, z) und x ∈ / A ⇔ ∀y∃z¬R(x, y, z) . W. Merkle Berechenbarkeitstheorie SS 2016 27 Damit ist die zweistellige partielle Funktion 0 1, falls es für alle y ≤ y ein z gibt, ϕ(x, y) = so dass R(x, y 0 , z) nicht gilt, ↑ sonst. (2) partiell berechenbar, es gilt also ϕ = ϕe für einen Index e. Mit dem s-m-nTheorem folgt dann, dass es eine berechenbare Funktion g gibt, so dass für alle x und y gilt ∼ ϕ(2) e (x, y) = ϕg(e,x) (y) . Nach Konstruktion ist genau dann, wenn x in A liegt der Definitionsbereich Wg(e,x) von ϕg(e,x) endlich, also ist A m-reduzierbar auf die Menge Fin vermöge der berechenbaren Funktion x 7→ g(e, x). Beispiel 62. Die Menge Coempty = {e : We = N} ist eine Π2 -Menge. Man kann zeigen, dass die Menge Coempty m-vollständig für die Klasse der Π2 Mengen ist. Mit Satz 58 folgt, dass die in den Beispielen 60 bis 62 gegebenen Einordnunge optimal sind, z. B. ist Fin weder in Σ1 , noch in Π2 . W. Merkle Berechenbarkeitstheorie SS 2016 28 Unvollständigkeit der Arithmetik Definition 63. Eine arithmetische Formel ist eine Formel der Logik erster Stufe über der Sprache {+, ·, s, <, 0, 1}, wobei die intendierte Bedeutung dieser logischen Symbole die natürliche ist, diese stehen also für die Additions-, Multiplikations- und Nachfolgerfunktion auf N, für die übliche strikte Ordnung auf N, sowie für die natürlichen Zahlen 0 und 1. Eine arithmetische Formel ϕ ist ein arithmetischer Satz, falls ϕ keine freien Variablen enthält. Ein arithmetischer Satz ist wahr (im Standardmodell der natürlichen Zahlen), falls der Satz eine wahre Aussage über die natürlichen Zahlen darstellt, wenn man die Symbole +, ·, s, 0 und 1 in der natürlichen Weise interpretiert und alle Quantoren über die Menge N laufen. Es sei T die Menge der wahren arithmetischen Sätze. Für alle e ≥ 0 sei der Term ē durch ē ≡ s(s(. . . (s (0)) . . .)) | {z } e mal definiert, d.h., der Term ē bezeichnet den e-ten Nachfolger von 0, also die Zahl e (dies gilt auch in anderen als dem Standardmodell, wenn man dort die iterierten Nachfolgern der Null mit den Zahlen 0, 1, . . . identifiziert). Satz 64. Zu jeder Menge A in der arithmetischen Hierarchie gibt es eine arithmetische Formel ϕ mit einer freien Variable, so dass gilt x ∈ A g.d.w. ϕ(x̄) ist wahr . (8) Beweis. Betrachte einer Darstellung der Σn -Menge A in der Form x ∈ A g.d.w. ∃y1 ∀y2 . . . Qyn R(x1 , y1 , . . . , yn ) mit Q aus {∃, ∀} und entscheidbarer Relation R. Um die Aussage des Satzes zu beweisen, genügt es, eine zur Relation R äquivalente arithmetische Formel ϕR anzugeben. Dies kann entweder durch die im nächsten Abschnitts beschriebene Gödelisierung von Turingmaschinenberechnungen geschehen oder unter Verwendung des im übernächsten Abschnittsbeschriebenen Satzes von Matiyasevich, welcher es sogar erlaubt, die Formel ϕR als nur existenziell quantifizierte Formel zu wählen. Legt man eine geeignete effektive Bijektion zwischen der Menge der arithmetischen Formeln und den natürlichen Zahlen fest, so kann man T mit einer Teilmenge von N identifizieren. W. Merkle Berechenbarkeitstheorie SS 2016 29 Satz 65. Die Menge T der wahren arithmetischen Sätze ist nicht arithmetisch. Beweis. Für einen Beweis durch Widerspruch nehmen wir an, dass T arithmetisch sei. Dann gibt es ein n, so dass T eine Σn -Menge ist, und somit ist T m-reduzierbar auf ∅[n+1] vermöge einer berechenbaren Funktion f . Nach Satz 64 läßt sich die arithmetische Menge ∅[n+2] durch eine arithmetische Formel ϕ gemäß (8) darstellen kann. Nach Wahl von ϕ und f gilt also für alle e, e ∈ ∅[n+2] g.d.w. ϕ(ē) ∈ T g.d.w. f (ϕ(ē)) ∈ ∅[n+1] . Da die Abbildung e 7→ f (ϕ(ē)) berechenbar gewählt werden kann, wäre die Menge ∅[n+2] m-reduzierbar auf die Menge ∅[n+1] , ein Widerspruch. Korollar 66. Die Menge T der wahren arithmetischen Sätze ist weder entscheidbar noch r.a. Bemerkung 67. Für ein Axiomensystem der Prädikatenlogik mit endlich vielen Axiomen und effektiven Schlussregeln ist die Menge der Folgerungen aus den Axiomen rekursive aufzählbar. Dies gilt sogar noch, wenn die Menge der Axiome nur als rekursiv aufzählbar vorausgesetzt wird. Aus Korollar 66 folgt dann sofort, dass es kein solches Axiomensystem geben kann, dass in dem Sinne vollständig und korrekt für die Arithmetik ist, dass man in diesem Axiomensystem genau die wahren arithmetischen Sätze ableiten kann. Die Aussage des Korollars 66 wird deshalb auch als Unvollständigkeit der Arithmetik bezeichnet. Arithmetisierung von Rechnungen Aussagen über Rechnungen von Turingmaschinen können arithmetisiert werden. So gibt es zum Beispiel eine Formel T (., ., .) der Logik erste Stufe über der Signatur {+, ·, <, s, 0, 1}, so dass T (ē, x̄, ȳ) im Standardmodell der natürlichen Zahlen genau dann wahr ist, wenn die Turingmaschine Me bei Eingabe x mit Rechnung y anhält, wobei Rechnungen in geeigneter Weise durch natürliche Zahlen kodiert werden. Um Aussagen über Rechnungen von Turingmaschinen arithmetisieren zu können, muss man im gegebenen logischen Formalismus über Konfigurationen von Turingmaschinen und über beliebige endliche Folgen solcher Konfigurationen reden können, was sich wiederum auf das Reden über endliche Folgen natürlicher Zahlen zurückführen läßt. Wir betrachten im Folgende eine von Gödel vorgeschlagene Arithmetisierung von endlichen Folgen W. Merkle Berechenbarkeitstheorie SS 2016 30 natürlicher Zahlen, welche auf dem chinesischen Restsatz und der der unten beschriebenen β-Funktion beruht. Theorem 68 (Chinesischer Restsatz). Es seien m1 , . . . , mt paarweise teilerfremd natürlichen Zahlen. Dann gibt es zu jeder Folge natürlicher Zahlen a1 , . . . at genau eine Zahl m mit 0 ≤ m < m1 · · · · · mt , so dass gilt ai ≡ m mod mi für i = 1, . . . , t. Bemerkung 69. Mit dem chinesischen Restsatz ist es möglich, beliebig endliche Folgen natürlicher Zahlen der Form a1 , . . . , at durch zwei natürlicehe Zahl p und m effektiv zu kodieren. Man setzt dazu p gleich einer Primzahl grösser als alle ai und p1 < . . . < pt gleich der Folge von t aufeinanderfolgenden Primzahlen mit p1 = p. Offensichtlich kann für jede solche Folge die Zahl pi aus p und i berechnet werden. Gemäß dem chinesischen Restsatz gibt es dann eine Zahl m, so dass ai ≡ m mod pi für i = 1, . . . , t gilt. Dabei ist die Zahl ai wegen ai < pi sogar gleich dem pi -Rest von m und kann somit aus p, m und i berechnet werden. Die Folge a1 , . . . at kann also aus p, m und der Folgenlänge t effektiv bestimmt werden. Die in Bemerkung 69 angegebene Kodierung hat den Nachteil, dass zunächst nicht klar ist, wie man in der Sprache der Arithmetik über fortlaufende Folgen von Primzahlen beliebiger Länge in dem Sinne reden kann, dass es zum Beispiel eine arithmetische Formel mit drei freien Variablen gibt, die für die Argumente p̄, ī und q̄ genau dann im Standardmodell wahr wird, wenn für die gemäß Bemerkung 69 durch p und t festgelegte Liste von Primzahlen p1 , . . . , pt gilt pi = q. Dies ist zwar möglich, da man mittels Arithmetisierung beliebige berechenbare Relationen durch arithmetische Formeln ausdrücken kann, aber dass ist ja erst noch zu beweisen. Gesucht ist also eine Kodierung mittels Chinesischem Restsatz, bei der man leicht nachweisen kann, dass die Liste der zur Kodierung verwendeten paarweise teilerfremden Zahlen m1 , . . . , mt in geeigneter Weise durch arithmetische Formeln beschrieben werden kann. Genau dies leistet die von Gödel eingeführte β-Funktion. Lemma 70. Sei d = n! für eine natürliche Zahl n ungleich 0. Dann sind die Zahlen d + 1, 2d + 1, . . . , nd + 1 paarweise teilerfremd. Beweis. Angenommen es gibt i und j aus dem Intervall {1, . . . , n}, so dass id+ 1 und jd + 1 beide einen gemeinsamen Teiler p > 1 haben. Dann teilt p auch die Differenz (i − j)d dieser beiden Zahlen. Da p als Teiler von id + 1 kein Teiler von d sein kann, gilt einerseits p > n nach Wahl von d, andererseits teilt p die Differenz |i − j| < n. Es folgt i = j. W. Merkle Berechenbarkeitstheorie SS 2016 31 Definition 71 (Gödelsche β-Funktion). Für beliebige natürliche Zahlen m, d und i sei β(m, d, i) gleich dem id + 1-Rest von m, d.h., m ≡ β(m, d, i) mod id + 1 und 0 ≤ β(m, d, i) ≤ id. Theorem 72. Sei a1 , . . . , at eine Folge natürlicher Zahlen. Dann gibt es natürliche Zahlen m und d, so dass für i = 1, . . . , t gilt ai = β(m, d, i). Beweis. Wähle n echt größer als t und alle ai und setze d = n!. Nach Lemma 70 sind die Zahlen d + 1, . . . , td + 1 paarweise teilerfremd, und gemäß Chinesischem Restsatz gibt es eine natürliche Zahl m, so dass für i = 1, . . . , t gilt m ≡ ai mod id + 1. Da die ai aber alle kleiner d sind, folgt sogar ai = β(m, d, i). Der Satz von Matiyasevich und diophantische Gleichungen Bei der Arithmetisierung von Turingmaschinenberechnungen kann man sogar erreichen, dass r.a. Mengen und damit insbesondere entscheidbare Mengen als existenziell quantifizierte Polynomgleichung dargestellt werden können. Satz 73 (Satz von Matiyasevich). Zu jeder r.a. Menge A gibt es ein natürliche Zahl n und Polynome f und g über Variablen x, y1 , . . . , yn mit Koefffizienten in N, so dass gilt x ∈ A ⇔ ∃y1 ∈ N . . . ∃yn ∈ N[f (x, y1 , . . . , yn ) = g(x, y1 , . . . , yn )]. Für den aufwändigen Beweis verweisen wir auf Craig Smorinskys Monographie Logical Number Theory, Springer-Verlag, 1991, welcher auch die Darstellung der Gödelschen β-Funkton im letzten Abschnitt entnommen ist. Der Satz von Matiyasevich wird auch als Satz von Davis, Matiyasevich, Putnam und Robinson bezeichnet, da Matiyasevich auf den Arbeiten der drei anderen aufbaute. Bemerkung 74. Eine Polynomgleichung der Form f = g mit Polynomen f und g mit Koeffizienten aus den natürlichen Zahlen ist äquivalent zur Gleichung f − g = 0, also zu einer Gleichung der Form h = 0, wobei h ein Polynom mit ganzzahligen Koeffizienten ist. Für Gleichungen vom letzteren Typ ist die Frage nach der Lösbarkeit über den natürlichen und über den ganzen Zahlen im Wesentlichen gleichwertig. Die Lösbarkeit über den ganzen Zahlen enthält als Spezialfall die Lösbarkeit über den natürlichen Zahlen, da jede natürliche Zahl als Summe von vier W. Merkle Berechenbarkeitstheorie SS 2016 32 Quadraten dargestellt werden kann und man somit für eine gegebene Gleichung nichtnegative Lösungen erzwingen kann, indem man jede Variable x durch einen Term der Form x21 + x22 + x22 + x24 ersetzt. Umgekehrt enthält die Lösbarkeit über den natürlichen Zahlen als Spezialfall die Lösbarkeit über den ganzen Zahlen, indem man für eine gegebene Gleichung mit n Variablen die Lösungen der Varianten der Gleichung betrachtet, bei denen für jede der 2n möglichen Teilmengen von Variablen jeweils alle Vorkommen der in der Teilmenge enthaltenen Variablen der Form x durch −x ersetzt wird. Hilbert hatte im Jahr 1900 in Paris auf dem Zweiten Internationalen Mathematiker-Kongress eine Liste von 23 mathematischen Problemen veröffentlicht. Sein zehntes Problem verlangte, eine automatisches Verfahren anzugeben, um die Lösbarkeit diophantischer Gleichungen zu entscheiden. Definition 75. Eine diophantische Gleichung ist eine Gleichung der Form f = 0 für ein Polynom f mit ganzahligen Koeffizienten. Eine diophantische Gleichung ist lösbar, wenn die Variablen so mit ganzen Zahlen belegt werden können, dass die Gleichung erfüllt wird. Korollar 76 (Unlösbarkeit diophantischer Gleichungen). Zu einer gegebenen diophantischen Gleichung kann man nicht entscheiden, ob diese lösbar ist. Beweis. Es sei A eine nichtentscheidbare r.a. Menge, etwa das Halteproblem. Nach dem Satz von Matiyasevich gibt es Polynome f und g mit Koeffizienten aus den natürlichen Zahlen, so dass für alle x gilt x ∈ A ⇔ ∃y1 ∈ N . . . ∃yn ∈ N[f (x, y1 , . . . , yn ) − g(x, y1 , . . . , yn ) = 0]. | {z } (∗) Könnte man zu gegebenem x die Lösbarkeit der diophantischen Gleichung (∗) über den ganzen Zahlen entscheiden, dann nach Bemerkung 74 auch deren Lösbarkeit über N. Es wäre also für gegebenes x die rechte Seite der Äquivalenz entscheidbar und damit auch die Menge A.