Posten Sie einfach eine kurze Erläuterung der Antwort von JeffE.
Wir wissen, dass zwei Funktionen / Fälle existieren, die die Funktion f (n) berechnen können:
- Eine Funktion, die immer true zurückgibt (für alle n gibt es n aufeinanderfolgende Nullen)
- Eine Funktion, die true zurückgibt, wenn n kleiner als eine Ganzzahl N ist, wobei N als die maximale Länge aufeinanderfolgender Nullen definiert ist, die in der angegebenen irrationalen Zahl existieren (andernfalls wird false zurückgegeben).
Eine und nur eine dieser Funktionen kann korrekt sein. Wir wissen nicht welche, aber wir wissen mit Sicherheit, dass es eine Antwort gibt. Die Berechenbarkeit setzt voraus, dass eine Funktion vorhanden ist, die die Antwort innerhalb einer begrenzten Anzahl von Schritten bestimmen kann.
Die Anzahl der Schritte in Fall 1 ist trivial an die Rückgabe von 1 gebunden.
In Fall 2 ist auch die Anzahl der Schritte endlich. Für jede ganze Zahl wir eine Turing-Maschine konstruieren , die akzeptiert, wenn
und andernfalls in endlicher Zeit ablehnt. Es spielt also keine Rolle , eine obere Schranke für . Für jedes gibt es eine Turing-Maschine, nämlich , die korrekt berechnet, ob (wir wissen nicht, welche davon korrekt sind, aber es spielt keine Rolle, es gibt eine).T N ( n ) n < N N N T N ( n ) n < NNTN(n)n<NNNTN(n)n<N
Obwohl es möglicherweise nicht möglich ist, zwischen den beiden Fällen zu wählen (obwohl einer wahrscheinlicher ist als der andere), wissen wir, dass genau einer der Fälle korrekt sein muss.
Als Randnotiz: Unsere Lösung geht davon aus, dass wir zwar nicht bestimmen können, welche Funktion einen korrekten Wert hervorruft, das Wesen der Berechenbarkeit jedoch nicht von der Konstruierbarkeit des Beweises abhängt. Reine Existenz ist ausreichend.