Ich hätte gerne ein Beispiel für ein Quin in reinem Lambda-Kalkül . Ich war ziemlich überrascht, dass ich durch googeln keinen finden konnte. Die Quine-Seite listet Quines für viele "echte" Sprachen auf, jedoch nicht für die Lambda-Rechnung.
Dies bedeutet natürlich, zu definieren, was ich mit einem Quin im Lambda-Kalkül meine, was ich unten tue. (Ich bitte um etwas ganz bestimmtes.)
An einigen Stellen, z. B. bei Larkin und Stocks (2004), sehe ich das Folgende als einen "selbstreplizierenden" Ausdruck zitiert: . Dies reduziert sich nach einem einzigen Beta-Reduktionsschritt auf sich selbst und verleiht ihm ein irgendwie quineartiges Gefühl. Es ist jedoch insofern ungewöhnlich, als es nicht beendet wird: Weitere Beta-Reduktionen produzieren weiterhin den gleichen Ausdruck, sodass es niemals auf die normale Form reduziert wird. Für mich ist ein Quine ein Programm, das sich selbst beendet und ausgibt, und daher möchte ich einen Lambda-Ausdruck mit dieser Eigenschaft.
Natürlich ist jeder Ausdruck, der keine Redexes enthält, bereits in normaler Form und wird sich daher selbst beenden und ausgeben. Aber das ist zu trivial. Daher schlage ich die folgende Definition vor, in der Hoffnung, dass eine nicht triviale Lösung zugelassen wird:
Definition (vorläufig): Ein Quine im Lambda-Kalkül ist ein Ausdruck der Form
Angesichts der Tatsache, dass der Lambda-Kalkül genauso aussieht wie jede andere Sprache, scheint dies möglich zu sein, aber mein Lambda-Kalkül ist rostig, sodass ich mir kein Beispiel vorstellen kann.
Referenz
James Larkin und Phil Stocks. (2004) "Selbstreplizierende Ausdrücke in der Lambda-Rechnung" Konferenzen in Forschung und Praxis in der Informationstechnologie, 26 (1), 167-173. http://epublications.bond.edu.au/infotech_pubs/158