Update [2011-09-20]:ฉันขยายย่อหน้าเกี่ยวกับη -expansion และส่วนขยาย ขอบคุณ Anton Salikhmetov ที่ชี้ให้เห็นการอ้างอิงที่ดี
η -conversion( λ x . fx ) = fเป็นกรณีพิเศษของβ - แปลงเท่านั้นในกรณีพิเศษเมื่อฉเป็นตัวเองเป็นนามธรรมเช่นถ้าฉ=λy.yyแล้ว
(λx.fx)=(λx.(λy.yy)x)=β(λx.xx)=αf.
แต่ถ้า
fเป็นตัวแปรหรือแอปพลิเคชันที่ไม่ลดลงไปสู่สิ่งที่เป็นนามธรรม?
ในทางη -rule เป็นเหมือนชนิดพิเศษของ Extensionality แต่เรามีจะเป็นบิตระมัดระวังเกี่ยวกับวิธีการที่ระบุไว้ เราสามารถระบุนามสกุลเป็น:
- สำหรับทุกλ -terms MและNถ้าMx=Nxแล้วM=Nหรือ
- สำหรับทุกถ้า∀ x ฉx = กรัมxแล้วฉ=กรัมf,g∀x.fx=gxf=g
คนแรกคือ meta-คำสั่งเกี่ยวกับเงื่อนไขของแคลคูลัส ในนั้นxปรากฏเป็นตัวแปรอย่างเป็นทางการคือมันเป็นส่วนหนึ่งของλแคลคูลัส มันสามารถพิสูจน์ได้จากบีตาη -rules เห็นเช่นทฤษฎีบท 2.1.29 ใน"แลมบ์ดาแคลคูลัส: ไวยากรณ์และความหมาย"โดย Barendregt (1985) มันสามารถเข้าใจได้เป็นคำสั่งเกี่ยวกับทั้งหมดที่กำหนดฟังก์ชั่นคือผู้ที่มี denotations ของλ -termsλxλβηλ
ประโยคที่สองคือวิธีที่นักคณิตศาสตร์มักเข้าใจคำสั่งทางคณิตศาสตร์ ทฤษฎีของ -culculus อธิบายโครงสร้างบางอย่างให้เราเรียกพวกเขาว่า " λ -models " λ -model อาจจะนับไม่ได้ดังนั้นจึงไม่มีการรับประกันว่าองค์ประกอบของมันทุกสอดคล้องกับλระยะยาว (เช่นเดียวกับมีจำนวนจริงมากขึ้นกว่าที่มีการแสดงออกอธิบาย reals) Extensionality บอกว่า: ถ้าเราใช้สองสิ่งfและgในλ -model, ถ้าf x = g xสำหรับxทั้งหมดในรูปแบบ, ดังนั้นf = gλλλλfgλfx=gxxf=g. แม้ตอนนี้ถ้ารุ่นพึงพอใจ -rule ก็ไม่จำเป็นต้องตอบสนองความ Extensionality ในความรู้สึกนี้ (จำเป็นต้องมีการอ้างอิงที่นี่และฉันคิดว่าเราต้องระวังวิธีการตีความความเท่าเทียมกัน)η
มีหลายวิธีที่เราสามารถกระตุ้นให้มี - และη -conversions ฉันจะสุ่มเลือกหมวดหมู่ตามทฤษฎีซึ่งปลอมตัวเป็นλ -calculus และคนอื่นสามารถอธิบายเหตุผลอื่น ๆ ได้βηλ
ขอให้เราพิจารณาพิมพ์แคลคูลัส (เพราะมันมีค่าน้อยสับสน แต่มากหรือน้อยกว่าการทำงานของเหตุผลเหมือนกันสำหรับ untyped λแคลคูลัส) หนึ่งในกฎหมายพื้นฐานที่ควรถือเป็นกฎหมายชี้แจงC × B ≅ ( C B ) (ผมใช้สัญลักษณ์→ BและB interchangably ยกแล้วแต่จำนวนใดดูเหมือนว่าจะดูดีขึ้น.) ทำอะไร isomorphisms ฉัน: C × B → ( C B )และJ :λλ
CA×B≅(CB)A.
A→BBAi:CA×B→(CB)Aมีลักษณะเหมือนที่เขียนใน
λแคลคูลัส? สันนิษฐานว่าพวกเขาจะเป็น
ฉัน= λ ฉ: C × B λ : λ ข: B ฉ⟨ , ข⟩และ
J = λ กรัม: ( C B ) λ p : A × Bj:(CB)A→CA×Bλi=λf:CA×B.λa:A.λb:B.f⟨a,b⟩
การคำนวณระยะสั้นกับคู่ของ
β -reductions (รวมทั้ง
β -reductions
π 1 ⟨ , ข⟩ =และ
π 2 ⟨ , ข⟩ = Bสำหรับผลิตภัณฑ์) บอกเราว่าสำหรับทุก
กรัม: ( C B ) Aเรามี
i ( j g ) =j=λg:(CB)A.λp:A×B.g(π1p)(π2p).
ββπ1⟨a,b⟩=aπ2⟨a,b⟩=bg:(CB)A
ตั้งแต่
ฉันและ
เจมีแปรผกผันกันของแต่ละอื่น ๆ ที่เราคาดหวังว่า
ฉัน( เจกรัม) = กรัมแต่จริงพิสูจน์เรื่องนี้เราจำเป็นต้องใช้
η -reduction ครั้งที่สอง:
ฉัน( เจกรัม) = ( λ : . λ ข: B . g a b ) = η (i(jg)=λa:A.λb:B.gab.
iji(jg)=gη
ดังนั้นนี่คือเหตุผลหนึ่งที่ทำให้มี
η -reductions การใช้สิทธิ: ซึ่ง
η -rule เป็นสิ่งจำเป็นเพื่อแสดงให้เห็นว่า
เจ( ฉันฉ) = F ?
i(jg)=(λa:A.λb:B.gab)=η(λa:A.ga)=ηg.
ηηj(if)=f