Saf lambda hesabında bir kine örneği istiyorum . Google'da bir tane bulamadığım için oldukça şaşırdım. Quine sayfası , birçok "gerçek" dil için quines listeler, ancak lambda hesabı için değil.
Tabii ki, bu, aşağıda yaptığım lambda hesabındaki bir quine ile ne demek istediğimi tanımlamak anlamına geliyor. (Oldukça spesifik bir şey istiyorum.)
Birkaç yerde, örneğin Larkin ve Stocks (2004), aşağıdakileri "kendi kendini kopyalayan" bir ifade olarak görüyorum: . Bu, tek bir beta azaltma adımından sonra kendi kendine azalır ve bir şekilde kine benzeri bir his verir. Bununla birlikte, sonlandırılmaması, benzersiz değildir: daha fazla beta azaltma aynı ifadeyi üretmeye devam edecektir, bu yüzden asla normal forma indirgenmeyecektir. Bana göre bir quine kendini sonlandıran ve çıktısını veren bir program ve bu özellik ile lambda ifadesi istiyorum.
Elbette, redexes içermeyen herhangi bir ifade zaten normal formdadır ve bu nedenle kendiliğinden sona erecek ve çıkacaktır. Ama bu çok önemsiz. Bu nedenle, önemsiz olmayan bir çözümü kabul edeceği umuduyla aşağıdaki tanımı öneriyorum:
tanım (geçici): Lambda hesabındaki bir kine, ( belirli bir lambda hesabı ifadesi anlamına gelir formunun bir ifadesidir olur ya, normal biçimde azaltılmış değişken isimleri değişiklikler altında ona eşdeğer bir şey , herhangi giriş .
Lambda hesabının diğer diller gibi Turing eşdeğeri olduğu göz önüne alındığında, bu mümkün olmalı gibi görünüyor, ancak lambda hesabım paslı, bu yüzden bir örnek düşünemiyorum.
Referans
Larkin ve Phil Stocks Karşılaştırması. (2004) "Lambda Analizinde Kendini Kopyalayan İfadeler" Bilgi Teknolojisinde Araştırma ve Uygulama Konferansları, 26 (1), 167-173. http://epublications.bond.edu.au/infotech_pubs/158