Eine Gödelnummer ist ein kodiertes logisches Statement, welches für den Beweis des gödelschen Unvollständigkeitssatzes notwendig ist. Dabei wird für jede syntaktisch korrekte logische Aussage eine eindeutige Gödelnummer definiert.
Alle über die Kodierung von Programmen in einer Programmiersprache definierten Aufzählungen sind daher Gödelnummerierungen.
Formale Definition
Eine Aufzählung
heißt Gödelnummerierung, wenn für alle
ein
existiert, so dass
gilt.
heißt dann
Übersetzungsfunktion zu
bezüglich
Gödelisierung von Turingmaschinen
Eine bekannte Anwendung der Gödelnummer ist die Codierung einer
Turingmaschine durch ein Binärwort
. Auf diese Weise wird jeder Turingmaschine eine Zahl zugeordnet (d. h. die Menge aller Turingmaschinen ist abzählbar). Diese Tatsache wird unter Anderem im
Halteproblem ausgenutzt.
Beispiel
Natürlich lassen sich verschiedenste Konventionen für die Nummerierung vereinbaren. Im Folgenden soll der Vorgang an einem einfachen Beispiel gezeigt werden. Sei
-
eine Turingmaschine.
Seien
o. B. d. A. die Zustandsmenge
, sowie das Bandalphabet
durchnumeriert.
-
Wir codieren nun vorerst jeden Übergang
mit einem Wort über dem Alphabet
.
Zustände bzw. Terminalsymbole werden durch die Binärdarstellung ihrer Indizes dargestellt, die einzelnen Elemente werden mit
getrennt.
-
wobei
die Kopfbewegung darstellt (
).
Um uns auf das zweistellige Alphabet
beschränken zu können, führen wir eine Abbildung der Menge
auf
ein:
- .
Die Turingmaschine mit der einzigen Produktion
wird so zu
.
Eine Alternative, die auf das Trennzeichen verzichtet, nutzt die Einzigartigkeit der Primzahlfaktorisierung aus, um Tupel in einer Zahl codieren zu können.
Siehe auch
Berechenbarkeitstheorie
Gödel number | Gödlovo število | 哥德尔数