Teil 2: Berechenbarkeitstheorie - Fakultät für Mathematik und

Werbung
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.
Herunterladen