Man möchte vermuten, daß jede präzise festgelegte Funktion auch berechenbar ist; leider ist das aber nicht der Fall. Das kann man folgendermaßen einsehen:
N
derjenigen Zahlen m
N, für die f(m) = 1 ist.
Umgekehrt gibt es für jede Teilmenge M
N
eine solche Funktion fM,
die charakteristische Funktion der Menge M.
Die Menge der Teilmengen M
N
ist aber überabzählbar,
ebenso also die Menge ihrer charakteristischen Funktionen;
und damit die Menge aller Funktionen erst recht.
Die folgenden Funktionen wären von enormer praktischer Bedeutung, wenn sie berechenbar wären; aber das sind sie leider nicht:
E
Boolean,
welche f(a,e) = true liefert,
falls ein Algorithmus a
A angewandt auf eine Eingabe e
E
terminiert, ist nicht berechenbar.
Das wird in der Theoretischen Informatik bewiesen und bedeutet: es gibt kein allgemeines Verfahren, um zu entscheiden, ob ein gegebenes Programm bei einer vorgegebenen Eingabe anhalten wird.
A
Boolean,
welche g(a1,a2) = true liefert,
falls zwei Algorithmen a1 und a2 dieselbe Funktion berechnen,
ist nicht berechenbar.
Es ist also nicht allgemein entscheidbar, ob zwei Programme dasselbe tun.