In der Arbeit Diskriminierung codierter Lambda-Terme - Henk Barendregt ist ein Codierungs- eines Lambda-Terms M ein Term, bei dem M (und seine Teile) auf Lambda-definierbare Weise daraus rekonstruiert werden können. Im Wesentlichen müssen wir in der Lage sein, einen Selbstinterpreter \ mathsf E zu schreiben :M.E.
Es gibt eine Vielzahl von Codierungen wie die von Kleene, bei denen natürliche Zahlen verwendet werden. Die effizienteste moderne Codierung ist eine Syntax höherer Ordnung von Mogensen. Eine andere mögliche (triviale) Codierung ist die Identitätsfunktion, dann ist der Interpreter wieder die Identitätsfunktion.
Gibt es eine vernünftige Vorstellung von einer "angemessenen Codierung", die triviale Codierungen verbietet?
Diese Frage tauchte auf, wenn man das Stoppproblem betrachtet, das eher für Lambda-Berechnungen als für Turing-Maschinen gilt: Wenn es in Bezug auf die triviale Codierung angegeben wird, gilt dies aus dem trivialen Grund, dass wir mit einem zitierten Lambda-Begriff im Wesentlichen nichts tun können.
Anders ausgedrückt: Welche Funktionen sollten wir erwarten, um mit zitierten Lambda-Begriffen rechnen zu können?
Ich kann einige auflisten wie: Zählen der Tiefe des Begriffs, Aufnehmen von Subtermen, Ermitteln, ob der Wurzelknoten eines Begriffs ein Lambda oder eine Anwendung ist, ... aber ich würde zögern, eine "angemessene Codierung" zu definieren, indem ich nur verschiedene Funktionen aufführe das kam mir in den Sinn.
quelle
Antworten:
Wie von anderen hervorgehoben, besteht die offensichtliche Definition einer "angemessenen" Codierung darin, dass sie mit jeder Standardcodierung gleichübersetzbar ist. Die Frage ist daher, solche Codierungen im Hinblick auf elementarere Eigenschaften zu charakterisieren.
( Historischer Hinweis . Smullyan untersuchte diese Frage im Kontext der kombinatorischen Logik. Als ich Student war, schlug Henk Barendregt mir Smullyans Vermutungen als Forschungsproblem vor - was zu meiner ersten wissenschaftlichen Veröffentlichung führte.) Siehe
http://drops.dagstuhl.de/opus/volltexte/2011/3249/
Zusammenfassend betrachten wir anhand einer Zuordnung , ob es Kombinatoren gibt, die bestimmte Eigenschaften erfüllen. Die wichtigsten sind:⋅¯:Λ→Λ
Es ist leicht zu erkennen, dass jede adäquate Codierung diese Eigenschaften aufweist. Das Hauptergebnis des Papiers (Folgerung 14) ist, dass für eine angemessene Codierung eine der folgenden Angaben ausreicht:
quelle
Dies ist keine Antwort. Es ist eine Ausarbeitung der Frage, die für mich interessant aussieht und vielleicht mehr Aufmerksamkeit verdienen sollte, als sie tatsächlich erhalten hat.
Lassen Sie mich zunächst sagen, dass die Definition von Barendregt eine wichtige Bedingung enthält, die von Brennan weggelassen wurde, nämlich die Tatsache, dass in normaler Form muss , was die Identitätsfunktion als angemessene Codierung sofort ausschließt.⌈M⌉
Nun kann die Frage nach Codys Vorschlag genauer formuliert werden.
Sind sie bei zwei Codierungen rekursiv isomorph? Mit anderen Worten, nehmen wir zwei Codierungen an, so dass
Wenn die Antwort nicht lautet, welche "minimalen" abstrakten Anforderungen müssen hinzugefügt werden, um dies sicherzustellen?
quelle