การคำนวณแคลคูลัสแลมบ์ดาที่เกี่ยวข้องกับเลขคริสตจักร


10

ฉันเข้าใจว่าเลขคริสตจักร ดูเหมือน ( ... n ครั้ง ... ) Z นี่หมายความว่าไม่มีอะไรมากไปกว่า "ฟังก์ชั่นใช้คูณกับฟังก์ชัน "cnλs.λz.sszsnz

นิยามที่เป็นไปได้ของมีดังต่อไปนี้:s) เมื่อมองไปที่ร่างกายฉันเข้าใจถึงตรรกะเบื้องหลังฟังก์ชั่น อย่างไรก็ตามเมื่อฉันเริ่มประเมินฉันติด ฉันจะอธิบายด้วยตัวอย่าง:timestimes=λm.λn.λs.m(ns)

(λm.λn.λs.m(ns))(λs.λz.ssz)(λs.λz.sssz)λs.(λs.λz.ssz)((λs.λz.sssz)s))λs.(λs.λz.ssz)(λz.sssz)λs.λz.(λz.sssz)(λz.sssz)z

ตอนนี้ในสถานการณ์นี้ถ้าฉันใช้ครั้งแรกฉันจะได้ผลลัพธ์ที่ต้องการ อย่างไรก็ตามถ้าฉันใช้ก่อนเป็นอย่างที่ฉันควรเพราะใบสมัครมีความสัมพันธ์จากด้านซ้ายฉันได้รับ ผลที่ผิด:(λz.sssz)z(λz.sssz)(λz.sssz)

λs.λz.(λz.sssz)(λz.sssz)zλs.λz.(sss(λz.sssz))z

ฉันไม่สามารถลดสิ่งนี้ได้อีกต่อไป ผมทำอะไรผิดหรือเปล่า? ผลลัพธ์ควรเป็นλs.λz.ssssssz


ตัวเลขของศาสนจักรในคำเริ่มต้นของคุณไม่ถูกต้อง 2 แสดงโดยไม่ใช่ส λs.λz.s(sz)λs.λz.ssz
Uday Reddy

คำตอบ:


7

ฉันคิดว่าการลดลงของคุณนั้นถูกต้องแล้ว ในตอนท้ายคุณไม่สามารถใช้ไปZนี้ไม่เคยปรากฏในคำว่า λ Z Zเป็นλ Z ( ) Zไม่λ Z ( Z ) ฟังก์ชั่นในแลมบ์ดาแคลคูลัสใช้อาร์กิวเมนต์เดียว พวกเขาจะมีประสิทธิภาพแกงกะหรี่(λz.sssz)zλz.ffzλz.(ff)zλz.f(fz): ฟังก์ชั่นสองข้อโต้แย้งถูกนำมาใช้เป็นฟังก์ชั่นหนึ่งอาร์กิวเมนต์ที่ใช้เวลาอาร์กิวเมนต์แรกและส่งกลับฟังก์ชั่นหนึ่งอาร์กิวเมนต์ใหม่ที่ใช้เวลาอาร์กิวเมนต์ที่สองและส่งกลับผล

คุณทำผิดพลาดเหมือนกันเมื่อกำหนดตัวเลขในศาสนจักร เลขคริสตจักรสำหรับขึ้นอยู่กับการเขียนฟังก์ชันnครั้ง “ฟังก์ชั่นของการประยุกต์ใช้nครั้งเพื่อฟังก์ชั่นZλ s λ Z s ( s ( s)nnsnz ) สิ่งที่คุณเขียนคือฟังก์ชั่น sใช้ n - 1ครั้งกับฟังก์ชั่น sและสุดท้ายกับ zซึ่งไม่ทำให้ฉันเป็นคำที่มีประโยชน์λs.λz.s(s(sz)))sn1sz

จึงเป็น ( λ m n s . m ( n s ) ) ( λ s z . s ( s)2×3 ) ฉันจะให้คุณตรวจสอบว่ามันไม่ลด λ s Z s ( s ( s ( s ( s ( s(λmns.m(ns))(λsz.s(sz))(λsz.s(s(sz))) )λsz.s(s(s(s(s(sz)))))


เท่าที่ย่อหน้าของคุณไปคุณพูดถูกและฉันก็รู้เรื่องนี้ มันทำให้ฉันประหลาดใจที่การใช้การเชื่อมโยงอย่างถูกต้องทำให้ได้ผลลัพธ์ที่ถูกต้อง เท่าที่วรรคสองคุณพูดถูก การใช้วงเล็บปีกกาไม่มีความผิดพลาดของฉันอีกครั้งเนื่องจากการเชื่อมโยงด้านซ้ายของแอปพลิเคชัน ฉันจะลดสิ่งทั้งหมดอีกครั้งในตอนนี้และดูว่าการขาดเครื่องมือจัดฟันทำให้เกิดข้อผิดพลาดหรือไม่!
codd

มันทำ. คุณสังเกตว่าสัญกรณ์ของฉันบอกเป็นนัยถึงลำดับที่ไม่ถูกต้องของแอปพลิเคชันแก้ไขปัญหา! ยอมรับคำตอบของคุณ
codd
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.