ฉันต้องการตัวอย่างของหนึ่งควินบริสุทธิ์แคลคูลัสแลมบ์ดา ฉันค่อนข้างแปลกใจที่ฉันไม่สามารถหาได้โดย googling หน้า quine แสดงรายการ quines สำหรับภาษา "ของจริง" มากมาย แต่ไม่ใช่สำหรับแคลคูลัสแลมบ์ดา
แน่นอนนี่หมายถึงการกำหนดสิ่งที่ฉันหมายถึงโดยควินินในแลมบ์ดาแคลคูลัสซึ่งฉันทำด้านล่าง (ฉันขอสิ่งที่เฉพาะเจาะจงมาก)
ในบางแห่งเช่น Larkin และ Stocks (2004) ฉันเห็นข้อความต่อไปนี้ว่าเป็น "การเลียนแบบตัวเอง": ) สิ่งนี้จะลดตัวเองลงหลังจากขั้นตอนการลดเบต้าเพียงครั้งเดียว อย่างไรก็ตามมันไม่เหมือนควินินในที่มันไม่ยุติ: การลดเบต้าเพิ่มเติมจะทำให้เกิดนิพจน์เดียวกันดังนั้นมันจะไม่ลดลงเป็นรูปแบบปกติ สำหรับฉันควินเป็นโปรแกรมที่ยกเลิกและส่งออกตัวเองและดังนั้นฉันต้องการแสดงออกแลมบ์ดาที่มีคุณสมบัตินั้น
แน่นอนว่าการแสดงออกใด ๆ ที่ไม่มี redexes อยู่ในรูปแบบปกติแล้วจึงจะยุติและส่งออกเอง แต่นั่นเป็นเรื่องเล็กน้อย ดังนั้นฉันจึงเสนอคำนิยามต่อไปนี้ด้วยความหวังว่ามันจะยอมรับวิธีแก้ปัญหาที่ไม่สำคัญ:
คำนิยาม (เบื้องต้น): เป็นควินในแลมบ์ดาแคลคูลัสคือการแสดงออกของรูปแบบ
เนื่องจากแคลคูลัสแลมบ์ดานั้นมีทัวริงเทียบเท่ากับภาษาอื่น ๆ ดูเหมือนว่าจะเป็นไปได้ แต่แคลคูลัสแลมบ์ดาของฉันนั้นเป็นสนิมดังนั้นฉันจึงไม่สามารถคิดตัวอย่างได้
การอ้างอิง
James Larkin และ Phil Stocks (2004) "การแสดงออกของการจำลองตัวเองในแลมบ์ดาแคลคูลัส" การประชุมในการวิจัยและการปฏิบัติในเทคโนโลยีสารสนเทศ, 26 (1), 167-173 http://epublications.bond.edu.au/infotech_pubs/158