Musteranpassung höherer Ordnung ist ein unentscheidbares Problem. Das heißt es gibt keinen Algorithmus, der eine Gleichung gegeben a => b, wo aund bsind offen Begriffe auf dem einfach Lambda - Kalkül eingegeben hat , findet eine Substitution , Sso daß aS => bS, wo =>steht für „die gleiche Bn Normalform“. Der Mensch kann dieses Problem jedoch effizient lösen. Zum Beispiel mit dem folgenden Problem:
a = (λt . t
(F (λ f x . (f (f (f x)))))
(F (λ f x . (f (f x)))))
b = (λ t . t
(λ f x . (f (f (f (f (f (f x)))))))
(λ f x . (f (f (f (f x))))))
Jeder Mensch mit ausreichendem Wissen über die Lambda-Rechnung wird bemerken können, dass Fdie "doppelte" Funktion für Kirchenzahlen schnell mit der Lösung kommt, die
F = (λ a b c . (a b (a b c)))
Meine Frage ist: Wenn dieses Problem unentscheidbar ist, wie kann es der Mensch schnell und mühelos lösen?