अद्यतन [2011-09-20]: मैं के बारे में पैरा विस्तार η -expansion और extensionality। एक अच्छा संदर्भ इंगित करने के लिए एंटोन सलिखमेटोव को धन्यवाद।
η रूपांतरण(λx.fx)=f की एक विशेष मामला हैβ - रूपांतरणकेवलविशेष मामला जब मेंf अपने आप में एक अमूर्त है, उदाहरण के लिए, अगरf=λy.yy तोलेकिन क्या होगा अगर f एक वैरिएबल है, या एक एप्लिकेशन जो एक अमूर्त को कम नहीं करता है?
(λx.fx)=(λx.(λy.yy)x)=β(λx.xx)=αf.
f
एक तरह से -rule extensionality एक खास किस्म की तरह है, लेकिन हम उस कैसे कहा गया है के बारे में थोड़ा सावधान रहना होगा। हम विलुप्त होने के रूप में बता सकते हैं:η
- सभी -terms M और N के लिए , यदि M x = N x तो M = N , याλMNMx=NxM=N
- सभी के लिए अगर ∀ एक्स । एफ एक्स = जी एक्स फिर एफ = जी ।f,g∀x.fx=gxf=g
पहले वाला -calculus की शर्तों के बारे में एक मेटा-स्टेटमेंट है । इसमें x एक औपचारिक चर के रूप में प्रकट होता है, अर्थात, यह λ -calculus का हिस्सा है । यह से साबित किया जा सकता बीटा η -rules, में प्रमेय 2.1.29 उदाहरण के लिए देखें "लैम्ब्डा पथरी: अपनी सिंटेक्स और शब्दार्थ" Barendregt (1985) से। इसे सभी निश्चित कार्यों के बारे में एक बयान के रूप में समझा जा सकता है , अर्थात, जो कि λ -terms के denotations हैं ।λxλβηλ
दूसरा कथन यह है कि गणितज्ञ आमतौर पर गणितीय कथनों को कैसे समझते हैं। -calculus का सिद्धांत एक निश्चित प्रकार की संरचनाओं का वर्णन करता है, आइए हम उन्हें " λ -models " कहते हैं। एक λ -model अगणनीय हो सकता है, तो वहाँ कोई गारंटी नहीं है कि इसके बारे में हर तत्व एक से मेल खाती है λ अवधि (अधिक वास्तविक संख्या की तुलना में वहाँ के reals का वर्णन अभिव्यक्ति कर रहे हैं देखते हैं बस की तरह)। बहिरंगता तब कहती है: यदि हम λ -मॉडल में कोई दो चीजें f और g लेते हैं, यदि मॉडल में सभी x के लिए f x = g x है , तो f = gλλλλfgλfx=gxxf=g। अब भले ही मॉडल -ru को संतुष्ट करता है , लेकिन इस अर्थ में इसे व्यापकता को संतुष्ट करने की आवश्यकता नहीं है। (यहां संदर्भ की आवश्यकता है, और मुझे लगता है कि हमें इस बात से सावधान रहने की आवश्यकता है कि समानता की व्याख्या कैसे की जाती है।)η
ऐसे कई तरीके हैं, जिसमें हम कर सकते हैं प्रेरित - और η -conversions। मैं बेतरतीब ढंग से श्रेणी-सिद्धांत को चुनूंगा, जिसे λ -culculus के रूप में प्रच्छन्न किया गया है , और कोई अन्य व्यक्ति अन्य कारणों की व्याख्या कर सकता है।βηλ
आइए हम टाइप किए गए -calculus पर विचार करें (क्योंकि यह कम भ्रामक है, लेकिन कमोबेश यही कारण तर्क रहित λ -calculus के लिए कार्य करता है )। बुनियादी कानून है कि ऐसा करना चाहिए रखती है में से एक घातीय कानून है सी ए × बी ≅ ( सी बी ) ए । (मैं अंकन उपयोग कर रहा हूँ एक → बी और बी एक दूसरे शब्दों में, पिकिंग जो भी बेहतर दिखने के लिए लगता है।) क्या Isomorphisms कर मैं : सी ए × बी → ( सी बी ) ए और जे :λλ
CA×B≅(CB)A.
A→BBAi:CA×B→(CB)A जैसा दिखता है,
λ -calculusमें लिखा है? संभवतः वे
i = λ f : C A × B होंगे । λ ए : ए । λ बी : बी । च ⟨ एक , ख ⟩ और
j = λ छ : ( सी बी ) ए । λ पी : एक × बीj:(CB)A→CA×Bλi=λf:CA×B.λa:A.λb:B.f⟨a,b⟩
के एक जोड़े के साथ एक छोटे से गणना
β -reductions (सहित
β -reductions
π 1 ⟨ एक , ख ⟩ = एक और
π 2 ⟨ एक , ख ⟩ = ख उत्पादों के लिए) हमें उस बताता है, हर के लिए
छ : ( सी बी ) 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 दो बार:
मैं ( जे जी ) = ( λ एक : एक । Λ ख : बी । जी एक ख ) = η (i(jg)=λa:A.λb:B.gab.
iji(jg)=gη
इस तो होने के लिए एक कारण है
η -reductions। व्यायाम: जो
η -rule कि दिखाने के लिए की जरूरत है
j ( मैं च ) = च ?
i(jg)=(λa:A.λb:B.gab)=η(λa:A.ga)=ηg.
ηηj(if)=f