Table Of ContentSpringer -Lehrbuch
Walter Felscher
Berechenbarkeit
Rekursive und
Programmierbare Funktionen
Springer -Verlag
Berlin Heidelberg New York
London Paris Tokyo
Hong Kong Barcelona
Budapest
Dr. Walter Felscher
o. Prof. am Wilhelm-Schickard-Institut fUr Informatik
der Universitat Tiibingen
Auf der Morgenstelle 10
D-72076 Tiibingen
CR-Klassifikation (1991): F.4.1, F.Ll, F.l.3
ISBN-13: 978-3-540-56354-9 e-ISBN-13: 978-3-642-78019-6
DOl: 10.1007/978-3-642-78019-6
Die Deutsche Bibliothek - CIP-Einheitsaufnahme
Felscher, Walter: Berechenbarkeit: rekursive und programmierbare Funktionen 1 Walter Felscher.
Berlin; Heidelberg; New York; London; Paris; Tokyo; Hong Kong; Barcelona; Budapest: Springer,
1993 (Springer-Lehrbuch)
Dieses Werk ist urheberrechtlich geschiitzt. Die dadurch begriindeten Rechte, insbesondere die der
Obersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der
Funksendung, der Mikroverfilmung oder der Vervielfaltigung auf anderen Wegen und der Speicherung
in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine
Vervielf<iltigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den
Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland
yom 9. September 1965 in der jeweils geitenden Fassung zulassig. Sie ist grundsatzlich vergiitungs
pflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes.
© Springer-Verlag Berlin Heidelberg 1993
45/3140 - 5 4 3 2 1 0 - Gedruckt auf saurefreiem Papier
Vorwort
Die Theorie der Berechenbarkeit handelt von arithmetischen Funktionen f
und von Berechnungsvorschriften, welche solche Funktionen beschreiben.
Ais Berechnungsvorschriften hat man dabei zunachst Rekursionsregeln
betrachtet, die den Wert f(n+1) an der Stelle n+1 aus dem Wert f(n)
bestimmen. Ein Beispiel ist die Vorschrift
= =
f(O) 0 f(n+1) 2f(n) ,
welche eine Funktion beschreibt, die an der Stelle 6 bereits 19729 Dezimal
stellen hat. Natiirlich ware es ein aussichtloses Unterfangen, wollte man
den Wert dieser Funktion an der Stelle 7 berechnen. Die Beschreibung
einer Funktion durch eine Berechnungsvorschrift besagt also nicht etwa,
daB sich ihre Werte auch faktisch berechnen liessen, denn ein Rechner,
der das ausfUhren sollte, wiirde unbeschrankt groBen Speicherplatz und
unbegrenzt viele Zeit dafUr benotigen.
Eine zweite Art von Berechnungsvorschriften sind die Programme, wie
sie in den Programmiersprachen fUr Rechenmaschinen auftreten. Funktio
nen, die auf diese Art programmierbar sind, erweisen sich als dieselben wie
die, welche durch geeignete Rekursionsvorschriften beschrieben werden.
Historisch war es so, daB, bereits Jahre vor der Entwicklung elektronischer
Rechenmaschinen und ihrer Programmiersprachen, Maschinenmodelle als
Berechnungsvorschriften konzipiert wurden, von denen sich zeigte, daB
auch sie dieselben Funktionen beschreiben. Da die Ubersetzung zwischen
Maschinenmodellen (sogenannten TURING-Maschinen und den sie verein
fachenden Registermaschinen von SHEPHERDSON-STURGIS) und Program
men in der Lehrbuchliteratur oft und vorziiglich dargestellt worden ist,
habe ich Maschinenmodelle in diesem Buche nicht behandelt.
Eine dritte Art von Berechnungvorschriften sind J( at kifle, welche, mit
graphischen Symbolen 0, 1, 2, ... und Funktionssymbolen I, g, ... operie
rend, eine Funktion f mit Funktionswerten f(n) = k dadurch beschreiben,
daB die Zuweisung J(n) ::} k im Formalismus des Kalkiils hergeleitet wer
den kann. Die Beschreibung von Funktionen durch solche Termersetzungs
kalkiile, hier die HERBRANO-GtJOEL-KLEENEschen Gleichungskalkiile, wird
in den letzten Kapiteln dieses Buches besprochen.
Dem studentischen Leser empfehle ieh, sieh nun der inhaltlichen Einlei
tung zuzuwenden, in der die vorausgesetzten Hilfsmittel besprochen wel~
den. Alsdann sollte er mit den Kapiteln 1 bis 3 und den ersten Abschnit
ten des Kapitels 4 beginnen, danach aber diejenigen Kapitel aufblattern,
deren Themen seine Neugier erwecken. Die Schemata im AnschluB an das
Inhaltsverzeichnis zeigen an, von welchen vorangehenden die einzelnen
Kapitel abhangen, so daB etwa zum Verstandnis des Kapitels 10 iiber Pro-
Vl
gramme keineswegs alle Kapitel des Teils I notig sind. AuBerdem findet
sich am Ende des Buches ein Index der Symbole und Definitionen, der
lehrt, wohin man zuriickbHittem muB, urn deren ErkHirung zu finden. 1m
ubrigen setzt die Lektiire des Buches keine inhaltlichen Vorkenntnisse aus
der Mathematik oder der Informatik vorausj lediglich eine gewisse Ver
trautheit mit der mathematischen Argumentationsweise mag von Vorteil
sein. Wer die Moglichkeit dazu hat, der sollte auch versuchen, einige der
besprochenen Funktionen auf einem Rechner zu programmieren.
Der Kenner des Gebiets wird sich aus dem Inhaltsverzeichnis einen
Uberblick iiber das Gebotene verschaffen. Mancherlei Dinge sind auf neue
Art dargestellt und, wie ich hoffe, vereinfacht worden: zum Beispiel die
generischen Folgen von Skalierungsfunktionen fUr die Schleifenhierarchie
im Kapitel 16, die einfache ZuriickfUhrung der Skalierungsfunktionen von
R.W. RITCHIE auf diejenigen von GRZEGORCZYK im Kapitel 18, die Duali
tat zwischen Funktionen - und Relationenklassen in den Kapiteln 22 und
23. Methodisch habe ich femer Wert auf die syntaktische Behandlung von
Programmtransformationen und Kalkiilen gelegt.
Bisher noch nicht in der Lehrbuchliteratur behandelt wurde das Resul
tat der unpublizierten Dissertation von H.MULLER 1974, besagend, daB die
mit hochstens zweifach geschachtelten times-Schleifen programmierbaren
Funktionen genau die mit hochstens zweifach geschachtelten primitiven
Rekursionen zu definierenden sind. Es findet sich als Theorem 15.2, nach
arithmetischen Vorbereitungen im Abschnitt 4.4 und, als Hauptsache, der
Entwicklung der MULLERschen Berechnungsfllnktion im Abschnitt 10.6;
den Hinweis auf die MULLERsche Arbeit verdanke ich Herm H.SCHWICH
TENBERG.
Wahrend der Niederschrift dieses Buches hatte ich das Vergniigen, mit
meinem Kollegen LEV GORDEEV zahlreiche Gesprache iiber die behandel
ten Gegenstande zu fUhrenj mehrere seiner Anregungen sind in den Text
eingeflossen.
Tiibingen, im Marz 1993
Walter Felscher
Inhaltsverzeichnis
Einleitung 1
Appendix 6
Teil I Rekursive Funktionen 9
Kapitel 1 Terminologie und grundlegende Konstruktionen ...... 11
1. Funktionen und Folgen ...................... 11
2. Superposition ..... . . . . . . . . . . . . . . . . . . . 13
3. Fundamentale Konstruktionen .................. 16
4.
Ubersetzungsregeln ...... ................. 20
5. Appendix: Lokale Superposition ................. 22
Kapitel 2 Simple Funktionen .................. 25
Schemata und Funktionale 32
Kapitel 3 Elementare Funktionen 37
Kapitel 4 Primitiv rekursive Funktionen ................ 44
1. Die Klassen FP m ...................•....•• 46
2. Historie und Wertverlaufsrekursion 52
3. Simultane Rekursion ...... 54
4. Appendix: EXP(O,x) liegt in FP2 ................. 56
Kapitel 5 Beschrankte Rekursion .................. 63
1. G-beschrankte Klassen 66
2. Kennzeichnung elementar abgeschlossener Klassen 73
Kapitel 6 Die Funktion von PETER .. 76
Kapitel 7 Universalfunktionen ftir FPF .87
Kapitel 8 Rekursion und Iteration . . . . . . . . . . . . . . . . . .. 96
Explizite Reduktionsverfahren 99
Kapitel 9 Grundbegriffe iiber rrekursive und partiell /t-rekursive
Funktionen ......................... 105
1. rrekursive Funktionen ..................... 105
2. Schemata, Funktionale und Berechnungen 106
3. Partiell fl-rekursive Funktionen ................. 109
4. Terminanten ........................... 113
Supplement 1 Ein Gleichungskalki.il fUr primitiv rekursive
Funktionen. . . . . . . . . . . . . . . . . . . 116
Supplement 2 Rekursion mit Substitution der Parameter ....... 122
Supplement 3 Geschachtelte Rekursion 125
viii
Supplement 4 Mehrfache Rekursion 132
Supplement 5 Geschachtelte 2-fache Rekursion 137
Supplement 6 Iteration l-stelliger Funktionen 145
Teil II Programmierbare Funktionen 155
Kapitel 10 Die Sprache PLA ...................... 157
1. Syntax von PLA .......................... 157
2. Semantik von PLA ........................ 159
3. Berechnungen mit PLA ...................... 160
4. Die von einem Programm programmierte Funktion und
ihre T-Darstellung ...................... 161
5. Die Komponenten der Berechnungsfunktionen liegen in FP3. 165
6. Eine Berechnungsfunktion in FP2 ............... 168
Kapitel 11 Spracherweiterungen .................... 181
Appendix: Weiteres iiber Erweiterungen mit
Operationsanweisungen ................ 187
Kapitel 12 PLA-programmierbare Funktionen . . . . . . . . . . . .. 193
Kapitel 13 Die Sprache PLR und die primitiv rekursiven Funktionen 197
PLRs-Programme .......................... 203
Kapitel 14 Die Schleifenhierarchie .............. 206
Die Programmierung cler Berechnungsfunktion ......... 210
Kapitel 15 FLR2 = FEF = FP2 und Konsequenzen daraus 219
Elementare Zeitfunktionen fUr element are Funktionen 224
Kapitel 16 Zeitfunktionen und Skalierungsfunktionen der
Schleifenhierarchie . . ~ . . . . . . . . . . . . . . 228
Kapitel 17 Kennzeichnungen der Schleifenhierarchie durch
beschrankte Iterationen und Rekursionen . . . . 237
Kapitel 18 Die GRZEGORCZYK -Hierarchie 242
Kapitel 19 VLRl .............. 251
Entscheidbarkeitsfragen ...................... 258
Supplement 7 Die Elimination von GOTOs . . . . . . . . . . . . . .. 262
1. Zur Geometrie der P-Folgen .................. 263
2. Das Verhaltnis zweier Stellen . . . . . . . . . . . . . . . . . . . 265
3. Voranschreitencle GOTOs ..................... 267
4. Zuriickspringende GOTOs ..................... 272
IX
Teil III Rekursive und partiell rekursive Funktionen . . . . . . .. 277
Kapitel 20 Die Funktionenklasse F(R) einer Klasse R von Relationen 282
1. Entr'acte: Zwei Fakten aus der Zahlentheorie . . . . . . . .. 284
2. Die Kodierung endlicher Folgen durch die Godelsche
(3-Funktion. ........................... 286
3. Klassen R mit primitiv rekursiv abgeschlossenem F(R) . . .. 288
Kapitel 21 Die Struktur der rekursiv aufzahlbaren Relationen . . . . 293
1. Beschrankte arithmetische Relationen . . 294
2. Projektionen . . . . . . . . . . . . . . . . . . . . . . . . . . .. 300
3. P-abgeschlossene Klassen und ihr Kern . . . . . . . . 303
4. Rekursiv aufzahlbare Relationen . . . . . . . . . . . . . . . .. 306
Kapitel 22 Rekursive Funktionen und rekursive Relationen . . . .. 308
1. Rekursiv abgeschlossene Klassen . . . . . . . . . . . . . . . .. 309
2. Abgeschlossenheit unter Minimierungen . . . . . . . . . . . . . 312
Kapitel 23 Partiell rekursive Funktionen . . . . . . . . . . . . . . . . 318
Kapitel 24 Eine Universalfunktion fUr PRF . . . . . . . . . . . . .. 327
Totale Funktionen . . . . . . . . . . . . . . . . 337
Appendix: Geschachtelte mehrfache Rekursion 338
Terme . . . . . . . . . . . . 342
Kapitel 25 Unentscheidbarkeiten......... 346
Kapitel 26 Uniformisierung............ 356
1. Uniformisierungen und universelle Folgen . . . . . . . . . .. 356
2. Fixpunktsatz und Rekursionstheorem . . . . . . . 365
3. Isomorphiesatze . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Kapitel 27 Die Arithmetisierung von Programmen . . . . . . . . .. 376
1. Arithmetische Kodierung . . . . . . . . . . . . . . . . . . . .. 377
2. Arithmetisierung der Syntax von PLA . . . . . . . . . . . . .. 380
3. Arithmetisierung von PLA-Berechnungen . . . . . . . . . . .. 383
4. Universalitat und Uniformisierung . . . . . . . . . . . . . . . . 391
Kapitel 28 Der Gleichungskalkiil von Herbrand-Godel-Kleene . .. 394
1. Der G leichungskalkiil . . . . . . . . . . . . . . . . . . . . . .. 396
2. Abhangigkeit von Funktionssymbolen . . . . . . . . . . . . . . 398
3. Definierbarkeit von Funktionen . . . . . . . . . . . . . . . .. 400
4. Partiell J.l-rekursive Funktionen sind gleichungsdefinierbar ... 402
5. Durch Gleichungssysteme erzeugte Funktionale . . . . . . . . . 410
6. Beispiele, insbesondere yom Nutzen partieller Funktionen . . . 414
x
Kapitel 29 Losungen von Gleichungssystemen ............. 420
1. Die Operatoren AG,f,'P und ihre Fixpunkte . . . . . . . . . .. 420
2. Beispiele ............................. , 423
3. Fixpunkte sind gleichungsdefiniert . . . . . . . . . . . . . . . . 426
4. Sukzessive Approximation von Losungen . . . . . . . . . . .. 429
5. Semantische Losungen von Gleichungsmengen . . . . . . . .. 430
6. Bedingungen fUr die Auswertbarkeit von Termen . . . . . .. 433
7. Syntaktische Losungen sind semantische Losungen . . . . . . . 436
Kapitel 30 Die Arithmetisierung des Gleichungskalklils . . . . . .. 438
1. Die Arithmetisierung von Baumen . . . . . . . . . . . . . . . . 439
2. Die Arithmetisierung von Termen . . . . . . . . . . . . . . .. 440
3. Die Arithmetisierung von Deduktionen . . . . . . . . . . . .. 442
4. Uniformisierung und Universalfunktionen . . . . . . . . . . .. 446
5. Appendix: Weiteres tiber Kodierungen . . . . . . . . . . . . . . 452
g-adische Kodierung . . . . . . . . . . . . . . . . . . . . . .. 452
Kodierung durch Paarungsfunktionen . . . . . . . . . . . . . . 457
Vertikale Kodierung . . . . . . . . . . . . . . . . . . . . . . . . 459
Literatur . . . . . . . . . . . . . . 465
Index der Begriffe und Namen . . 468
Index der Symbole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
Schemata
der Abhangigkeiten der einzelnen Kapitel voneinander
2
Teil I 1
3
4.1-3
"""
/ / \
5 6 7 8
9
Teil II 9 4.4
I I
10.1-4 10.6
11"""""-
12 / 6
15/
~!~5
/
16
17
19 18
Teil III 9
I
20
221 2/ 7
23
24 10
I
28 25
26
29
30 ~ ~2;\
30.4
Abschnitte mit den Uberschriften Appendix und Supplement konnen bei
einer ersten Lekture iiberschlagen werden.