ประโยชน์ของสัญกรณ์ของ Krivine คืออะไร


9

ฉันเห็นบางคนใช้สัญลักษณ์ของ Krivine สำหรับแอปพลิเคชันฟังก์ชั่นเมื่อแสดงไวยากรณ์สำหรับ -calculus ตัวอย่างเช่น -term (ตามแบบแผนปกติที่ฟังก์ชันเชื่อมโยงแอปพลิเคชันไปทางซ้ายดังนั้นจริงๆแล้วหมายถึง ) เขียน (มีการประชุมที่คล้ายกันซึ่งจริงๆแล้วหมายถึง ) ฉันไม่เห็นจุดของการมีคู่ของวงเล็บอีกรอบด้านในสุดฉทำไมผู้คนถึงใช้สัญลักษณ์ของ Krivine แทนที่จะเป็นสัญลักษณ์ปกติλλλf.λx.λy.f x yλf.λx.λy.((f x) y)λf.λx.λy.(f) x yλf.λx.λy.((f) x) yf

คำตอบ:


13

ฉันสมมติว่าคุณหมายถึงสัญกรณ์ Krivine จากแลมบ์ดาแคลคูลัส: ชนิดและรุ่น

สัญกรณ์นี้ซึ่งใช้เป็นข้อมูลแทนทำให้อัลกอริธึมมากมายเกี่ยวกับคำแลมบ์ดานั้นง่ายกว่าในการนำไปใช้และพิสูจน์ว่าถูกต้อง นั่นคือให้คำแลมบ์ดาคุณต้องการที่จะดูว่ามันเป็นหัวร่วมกับรายการของการขัดแย้งe_n]fe1e2en f[e1,e2,,en]

ตัวอย่างเช่นสมมติว่าคุณต้องการเปรียบเทียบคำสองคำกับกรัมมักจะเป็นธรรมชาติมากที่สุดในการเปรียบเทียบหัวและก่อนและไม่ได้ดูคู่เว้นแต่ว่าการเปรียบเทียบจะประสบความสำเร็จ (สิ่งนี้มักเกิดขึ้นในการนำไปใช้ของการรวมลำดับที่สูงขึ้น)fe1engt1tnfg(ei,ti)

ดูกระดาษของ Cervesato และ Pfenning A Linear Spine แคลคูลัสสำหรับการทำแนวคิดนี้ให้เป็นทางการ


0

ความแตกต่างที่น่าสนใจอย่างหนึ่งปรากฏอยู่ในหมวดที่ 2 "หน้าที่แทนได้" ของบทที่ 2 ของหนังสือ Krivine คริสตจักรที่เข้ารหัสสามถูกเขียนในเอกสารมาตรฐานเป็นy)) ด้วยสัญกรณ์ Krivine (ถ้าฉันกำลังในที่สุดก็เข้าใจมันอย่างถูกต้อง!) เราจะเขียนแทน Y λ x. λ y. x (x (x y))λx λy (x)(x)(x)y

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