टी एल; डॉ। बाध्यकारी के मेटामैटमैटिक्स सूक्ष्म हैं : वे तुच्छ प्रतीत होते हैं, लेकिन ऐसा नहीं है - चाहे आप (उच्च-क्रम) लॉजिक्स या log-पथरी के साथ व्यवहार करते हैं। वे इतने सूक्ष्म हैं कि कुछ साल पहले एक प्रतियोगिता ( POPLmark चुनौती ) के साथ बाध्यकारी प्रतिनिधित्व एक खुला शोध क्षेत्र बनाते हैं । बंधन के लिए दृष्टिकोण की जटिलता के बारे में क्षेत्र में लोगों द्वारा मजाक भी किया जाता है।
इसलिए, यदि आप मेटामैटमैटिक्स (और अधिकांश गणितज्ञों) की परवाह नहीं करते हैं, तो आपको बंधन से निपटने की आवश्यकता है। लेकिन कई गणितज्ञ बाध्यकारी रूप से औपचारिकता का इलाज कर सकते हैं जैसे कि यह एक "मूलभूत" समस्या थी।
एक और बिंदु यह है कि उच्च-क्रम वाले कार्यों के साथ भाषाओं में बाइंडिंग एकमात्र "नई" समस्या थी, क्योंकि बाइंडिंग वाली भाषाओं का सिद्धांत सिर्फ बीजगणित (स्थिरांक के लिए) + बाइंडिंग है। मिशेल की "प्रोग्रामिंग भाषाओं की नींव" वास्तव में इस क्रम में चीजों को प्रस्तुत करती है और बल्कि ज्ञानवर्धक है।
मुझे पता है कि उसका काम λ-पथरी के लिए कैसे प्रशस्त हुआ और सामान्य रूप से कंप्यूटिंग और कार्यात्मक प्रोग्रामिंग पर "यह" का प्रभाव। मेरा सवाल ज्यादातर λ- कैलकुलस के निर्माण के लिए "पूर्व" और "शोनफिंकल के पेपर" के बाद का है।
मुझे कुछ याद आ रहा है, लेकिन इस टिप्पणी से कोई फर्क नहीं पड़ता है। उच्च-क्रम लॉजिक्स में बांधना और λ-पथरी में बंधन उतना ही कठिन लगता है, इसलिए जब तक लोग उच्च-क्रम लॉजिक्स की परवाह करते हैं, उन्हें बंधन से निपटना पड़ता था। मैं करी-हावर्ड-आइसोमॉर्फिज्म-आधारित प्रमेय का उपयोग करके पक्षपाती हूं जो केवल एक प्रकार के सिद्धांत को लागू करके तर्क को लागू करता है (जहां प्रकार सूत्र और कार्यक्रम प्रमाण शब्द हैं), ताकि मैं सिर्फ एक बार बाध्यकारी से निपटूं।
दूसरी ओर, IIRC, उस समय वास्तव में कुछ Schönfinkel के काम के बारे में परवाह करता था - आंशिक रूप से इस कारण कि उन्होंने इसे कैसे प्रकाशित नहीं किया - कागजात ज्यादातर सहयोगियों द्वारा किए गए शोध के आधार पर लिखे गए थे ( यहां देखें , पृष्ठ 4) ; फिर करी ने सिद्धांत को फिर से खोज लिया।
कैविएट: मैं इतिहासकार नहीं हूं, लेकिन पीएल में पीएचडी छात्र हूं, इसलिए मेरा विषय पर एक आधुनिक (और उम्मीद के मुताबिक सटीक) परिप्रेक्ष्य है।
संपादित करें:
बाइंडिंग सूक्ष्म क्यों है, थोड़ा और समवर्ती
इसके दो पहलू हैं - पहला, इसे लागू करना कठिन है। दूसरे, मेटामैटमैटिक्स प्रूफ हेरफेर का गणित है: यह हेरफेर आमतौर पर स्वचालित है, अर्थात, यह एक एल्गोरिथ्म है - इसलिए अनिवार्य रूप से, आप कार्यान्वयन की सभी कठिनाइयों का सामना करते हैं, साथ ही उनके बारे में प्रमाण बनाते हैं। नीचे मैं उदाहरण देता हूं। उदाहरणों का एक आधुनिक परिप्रेक्ष्य है - वे वास्तव में औपचारिक साक्ष्यों के बारे में हैं। हालाँकि, कुछ कठिनाइयाँ सटीक मैनुअल प्रमाणों तक विस्तारित होंगी - जब तक आप विवरणों को धोखा नहीं देते।
इससे पता चलता है कि शॉनफिंकल ने इस समस्या का पहला समाधान दिया , लेकिन यह निश्चित था।
यह लागू करने की वजह से सूक्ष्म है पीछा
(λf.f 1+f 2)(λx.x)(λx.x) 1+(λx.x) 2(λfx.f(fx)) (λgy.g y) z(λgy.g y) (λgy.g y) z(λy.(λgy.g y) y) z
λxy.xyλy.yλy′.y
इससे भी बुरी बात यह है कि भोले-भाले एल्गोरिदम के काउंटरटेक्सम निर्माण के लिए कठिन होते हैं जब आप पहले से ही समस्या को जानते हैं, तो अकेले होने दें। लगभग सही एल्गोरिदम में कीड़े अक्सर वर्षों के लिए अवांछनीय होते हैं। मैंने सुना है कि अच्छे छात्र आमतौर पर कैप्चर से बचने वाले प्रतिस्थापन की सही परिभाषा के साथ (अपने दम पर) आने में विफल रहते हैं। वास्तव में, पीएचडी छात्रों (मुझे शामिल) और प्रोफेसरों को इन समस्या से मुक्त नहीं किया गया है।
यही कारण है कि कुछ (प्रोग्रामिंग भाषाओं पर सबसे अच्छी पाठ्यपुस्तकों में से एक, बेंजामिन पियर्स द्वारा प्रोग्रामिंग और प्रकार की भाषाएं शामिल हैं ) नाममात्र प्रतिनिधित्व की सिफारिश करते हैं (हालांकि, इसका इस्तेमाल नहीं किया गया है, भले ही यह काफी दहनशील तर्क है)।
इसके बारे में सबूत सूक्ष्म हैं
यह पता चला है कि बाध्यकारी के बारे में सबूत कार्यान्वयन से अधिक सरल नहीं हैं, जैसा कि ऊपर उल्लेख किया गया है। बेशक, सही एल्गोरिदम मौजूद हैं, और उनके बारे में सबूत मौजूद हैं - लेकिन उन्नत मशीनरी के बिना, बाध्यकारी का उपयोग करने वाली प्रत्येक भाषा के लिए आपको सबूतों को दोहराने की आवश्यकता होती है, और यदि आप कलम और कागज पर बांधने के लिए परिभाषाओं का उपयोग करते हैं, तो वे सबूत बस बहुत बड़े और कष्टप्रद हैं। ।
मेटामैटमैटिक्स में शामिल एल्गोरिदम को समझने के लिए, लॉजिक्स में कटौती प्रमेय पर विचार करें, जो प्रमाण की रचना करने की अनुमति देता हैBAABB
इसके बाद, मैंने "मानक परिभाषा को औपचारिक रूप देने की कोशिश करने पर क्या गलत हो जाता है" का मेरा सबसे अच्छा उदाहरण देखा। रसेल ओ'कॉनर (जो इस साइट पर है) ने कोक में पहली गोडेल के अपूर्णता प्रमेय को औपचारिक रूप दिया (ऊपर उल्लेख किया गया एक प्रमेय कहा जाता है) - और उस प्रमेय में एक तर्क शामिल है (सभी प्रासंगिक शब्दों के साथ) दूसरे तर्क में (वाक्य रचना के साथ) पहले तर्क को संख्याओं के रूप में कोडित किया गया)। उन्होंने उन परिभाषाओं का उपयोग किया जो कागज पर उपयोग की जाती हैं और उन्हें सीधे औपचारिक रूप दिया जाता है। "प्रतिस्थापन" या "चर" के लिए खोजें और गणना करें कि वे एक छाप पाने के लिए समस्याओं के संदर्भ में कितनी बार दिखाई देते हैं।
http://r6.ca/Goedel/goedel1.html
मैं अपने काम में उन परिभाषाओं का उपयोग कभी नहीं करता, लेकिन प्रत्येक वैकल्पिक दृष्टिकोण में कुछ नकारात्मकता होती है।