Justification Logic of the Lambda Calculus
यह शोधपत्र एक औचित्य तर्क (justification logic) प्रस्तुत करता है जहाँ प्रमाण पदों (proof terms) को स्पष्ट रूप से टाइप किए गए -पदों के साथ पहचाना जाता है, जो कर्ली-हावर्ड पत्राचार (Curry-Howard correspondence) के तहत गणना और प्रमाण के बारे में तर्क को एकीकृत करने के लिए एक स्वयंसिद्धीकरण (axiomatization), प्राकृतिक निगमन प्रणाली (natural deduction system) और एक कट-उन्मूलन वाले अनुक्रम पंचांग (cut-eliminating sequent calculus) को प्रदान करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि एक ऐसी दुनिया है जहाँ आपका हर विचार भी कोड का एक हिस्सा है, और कोड का हर हिस्सा इस बात का प्रमाण है कि आपका विचार तर्कसंगत है। यह कंप्यूटर विज्ञान और तर्कशास्त्र का वह अद्भुत और सुंदर संगम है जिसे "करी-हावर्ड पत्राचार" (Curry-Howard correspondence) के रूप में जाना जाता है। इसे एक जादुई शब्दकोश की तरह समझें जहाँ "प्रमाण" (proof) शब्द और "प्रोग्राम" (program) शब्द वास्तव में पर्यायवाची हैं। यदि आप एक ऐसा कंप्यूटर प्रोग्राम लिख सकते हैं जो बिना क्रैश हुए चलता है, तो आपने गणितीय रूप से एक कथन को सत्य सिद्ध कर दिया है। दशकों से, वैज्ञानिक इस विचार का उपयोग ऐसे सिस्टम बनाने के लिए करते रहे हैं जहाँ कंप्यूटर अपने स्वयं के कार्य की जाँच कर सकें, यह सुनिश्चित करते हुए कि सॉफ़्टवेयर अपडेट के पीछे का तर्क एक गणितीय प्रमेय की तरह सुदृढ़ है। लेकिन इसमें एक पेच है: आमतौर पर, ये सिस्टम "प्रमाण" (तर्क) और "प्रोग्राम" (गणना) को दो अलग-अलग भाषाओं के रूप में देखते हैं जो बस एक जैसी दिखती हैं। वे एक ही भाषा के दो अलग-अलग बोलियों को बोलने वाले लोगों की तरह हैं; वे एक-दूसरे को समझते हैं, लेकिन वे पूरी तरह से एक ही व्यक्ति नहीं हैं।
यहीं से कहानी दिलचस्प होती है। क्या होगा यदि हम केवल दोनों के बीच अनुवाद न करें, बल्कि उन्हें वास्तव में एक एकल, सुपर-पावर्ड भाषा में विलीन कर दें? क्या होगा यदि "प्रमाण" केवल एक प्रोग्राम से जुड़ा हुआ लेबल न होकर, स्वयं प्रोग्राम ही हो? यह वह बड़ा सवाल है जिसे सिल्विया घिलेज़ान और पारस पडियार ने अपने नए शोध पत्र में उठाया है। वे पूछ रहे हैं: क्या हम एक ऐसा तर्क तंत्र बना सकते हैं जहाँ गणना करने की क्रिया ही प्रमाण देने की क्रिया बन जाए? वे केवल यह सुझाव नहीं दे रहे हैं कि यह एक अच्छा विचार है; उन्होंने वास्तव में इसका ब्लूप्रिंट बनाया है, नियम लिखे हैं, और सिद्ध किया है कि यह सिस्टम बिना बिखरे काम करता है। वे इस नए सिस्टम को "Jλ" (उच्चारण "जे-लैम्ब्डा") कहते हैं, और इसे इस तरह डिज़ाइन किया गया है कि कंप्यूटर वास्तविक समय में अपनी गणनाओं के बारे में तर्क कर सके, जिससे "सोचने" और "करने" के बीच की रेखा धुंधली हो जाए जब तक कि वे एक और एक ही बन जाएं।
"करने" का नया तर्क
लेखक एक नए प्रकार के तर्क को पेश करते हैं जिसे जस्टिफिकेशन लॉजिक ऑफ द लैम्ब्डा कैलकुलस (Jλ) कहा जाता है। यह समझने के लिए कि यह क्या विशेष बनाता है, कल्पना कीजिए कि आप एक रहस्य सुलझाने की कोशिश कर रहे एक जासूस हैं। मानक तर्क में, आपके पास "अपराध के प्रमाण" लेबल वाली एक फ़ाइल फोल्डर हो सकती है। इसके अंदर, आपके पास एक नोट है जो कहता है, "मैंने इसे X, Y और Z के कारण सिद्ध किया।" फोल्डर प्रमाण है, लेकिन इसके अंदर का नोट केवल एक विवरण है। पुराने सिस्टमों (जैसे लॉजिक ऑफ प्रूफ, या LP) में, "प्रमाण" एक स्थिर वस्तु है, जैसे कि एक प्रमाण-पत्र।
घिलेज़ान और पडियार का Jλ खेल बदल देता है। उनके सिस्टम में, "प्रमाण" कोई प्रमाण-पत्र नहीं है; यह स्वयं क्रिया है। कल्पना कीजिए कि फोल्डर के बजाय, आपके पास जासूस द्वारा अपराध सुलझाने का एक लाइव वीडियो फीड है। वीडियो ही प्रमाण है। यदि जासूस कोई कदम उठाता है, तो प्रमाण तुरंत अपडेट हो जाता है। Jλ में, "प्रमाण पद" (proof terms) वही कंप्यूटर प्रोग्राम (जिन्हें -terms कहा जाता है) हैं जो कार्य करते हैं। जब सिस्टम कहता है, "मैं जानता हूँ कि A सत्य है," तो वह केवल यह कहता हुआ संकेत नहीं रखता; बल्कि वह वास्तविक कोड रखता है जो A की गणना करता है। इसका अर्थ है कि तर्क अपने स्वयं के कंप्यूटेशन के बारे में साथ-साथ तर्क कर सकता है। यह एक ऐसे रोबोट की तरह है जो सोचने के दौरान यह भी सोच सकता है कि वह कैसे सोच रहा है।
मशीन का निर्माण: खेल के नियम
यह शोध पत्र केवल इस विचार का प्रस्ताव नहीं देता; यह पूरे इंजन का निर्माण शून्य से करता है। लेखक स्वयंसिद्धों (axioms) से शुरुआत करते हैं, जो खेल के मौलिक नियम हैं। वे मानक सहजतावादी तर्क (intuitionistic logic - एक प्रकार का तर्क जिसका उपयोग कंप्यूटर विज्ञान में किया जाता है जिसमें आपको कुछ सत्य कहने के लिए वास्तव में एक प्रमाण बनाना आवश्यक होता है) के नियमों को लेते हैं और एक विशेष "बॉक्स" ऑपरेटर जोड़ते हैं। सामान्य तर्क में, एक बॉक्स कह सकता है "यह आवश्यक है कि A।" Jλ में, उस बॉक्स को एक विशिष्ट कोड द्वारा प्रतिस्थापित किया गया है, जिसे के रूप में लिखा जाता है, जिसका अर्थ है "कोड एक प्रमाण है कि A सत्य है।"
इसके बाद वे दिखाते हैं कि यह सिस्टम अपने स्वयं के तर्क को कैसे आंतरिक (internalize) बनाता है। यह कहने का एक तकनीकी तरीका है कि सिस्टम अपने स्वयं के चरणों को देख सकता है और कह सकता है, "हे, मैंने अभी यह चरण किया, और यहाँ वह कोड है जो सिद्ध करता है कि मैंने इसे सही ढंग से किया।" वे सिद्ध करते हैं कि यदि सिस्टम एक प्रमेय व्युत्पन्न कर सकता है, तो वह स्वचालित रूप से विशिष्ट कोड (प्रमाण पद) उत्पन्न कर सकता है जो उस प्रमेय को न्यायसंगत ठहराता है। यह एक स्वयं-चालित कार की तरह है जो न केवल स्टोर तक जाती है, बल्कि हर मोड़ का विस्तृत लॉग भी लिखती है, जो यह सिद्ध करती है कि उसने पूरे समय नियमों का पालन किया।
तीन-चरणीय दौरा: नियमों से वास्तविकता तक
यह सुनिश्चित करने के लिए कि उनका नया तर्क केवल एक कल्पना नहीं है, लेखक पाठक को तीन अलग-अलग तरीकों के माध्यम से सिस्टम का "दौरा" कराते हैं, जो यह सिद्ध करते हैं कि वे सभी एक ही परिणाम की ओर ले जाते हैं।
- नियम पुस्तिका (Axiomatic System): सबसे पहले, वे नियमों को एक संविधान की तरह लिखते हैं। वे दिखाते हैं कि यदि आप इन नियमों का पालन करते हैं, तो आप प्रमेय व्युत्पन्न कर सकते हैं। वे सिद्ध करते हैं कि सिस्टम "स्व-आंतरिक" (self-internalizing) है, जिसका अर्थ है कि यह हमेशा किसी भी चीज़ के लिए प्रमाण कोड उत्पन्न कर सकता है जिसे यह सत्य होने का दावा करता है।
- कार्यशाला (Natural Deduction): इसके बाद, वे एक "नेचुरल डीडक्शन" सिस्टम बनाते हैं। इसे एक कार्यशाला के रूप में सोचें जहाँ आप फर्नीचर असेंबल करने की तरह चरण-दर-चरण प्रमाण बनाते हैं। वे इस कार्यशाला का एक टाइप किया हुआ संस्करण (जिसे कहा जाता है) पेश करते हैं जहाँ लकड़ी के हर टुकड़े (प्रत्येक टर्म) का एक विशिष्ट लेबल (एक टाइप) होता है। वे दिखाते हैं कि यहाँ जो "प्रमाण" आप बनाते हैं, वे नियम पुस्तिका के "प्रमाण पदों" से पूरी तरह मेल खाते हैं। यह दिखाने जैसा है कि मैनुअल में दिए गए निर्देश बॉक्स में मौजूद वास्तविक टुकड़ों से मेल खाते हैं।
- फैक्ट्री (Sequent Calculus): अंत में, वे एक "सीक्वेंट कैलकुलस" बनाते हैं, जो प्रमाणों के लिए एक उच्च-गति वाली फैक्ट्री असेंबली लाइन की तरह है। वे एक महत्वपूर्ण गुण सिद्ध करते हैं जिसे कट-एलिमिनेशन (cut-elimination) कहा जाता है। सरल शब्दों में, एक "कट" एक प्रमाण में शॉर्टकट लेने जैसा है—कहीं और से प्राप्त परिणाम का उपयोग करना बिना यह दिखाए कि आप वहां तक कैसे पहुंचे। "कट-एलिमिनेशन" का अर्थ है कि आप हमेशा इन शॉर्टकट को हटा सकते हैं और प्रत्येक चरण को शुरू से दिखाने के लिए प्रमाण को फिर से लिख सकते हैं। लेखक सिद्ध करते हैं कि उनका सिस्टम हमेशा यह कर सकता है, जो यह गारंटी देता है कि सिस्टम "नॉर्मलाइज़ेबल" (normalizable) है। इसका अर्थ है कि प्रमाण हमेशा अनंत लूप में फंसे बिना एक स्वच्छ, मानक रूप में स्थिर हो जाएंगे।
यह क्यों महत्वपूर्ण है (और क्या नहीं है)
लेखक अपने कार्य को पिछले प्रयासों से अलग करने के लिए बहुत सावधान हैं। अतीत में, शोधकर्ताओं ने तर्क और गणना को जोड़ने का प्रयास किया था, लेकिन वे अक्सर एक दीवार से टकरा गए: तर्क इतना सरल था कि वह उन जटिल ट्रिक्स को नहीं संभाल सका जो कंप्यूटर प्रोग्राम कर सकते हैं। लेखक बताते हैं कि उनका सिस्टम इसलिए अलग है क्योंकि यह सीधे -कैलकुलस (कार्यात्मक प्रोग्रामिंग का आधार) से बना है। उन्हें एक चौकोर खांचे में गोल टुकड़े को जबरदस्ती फिट करने की आवश्यकता नहीं है; तर्क और कोड एक ही सामग्री से बने हैं।
वे यह भी स्पष्ट करते हैं कि उनका सिस्टम क्या नहीं करता है। वे सभी गणित को बदलने या कंप्यूटर विज्ञान की हर समस्या को हल करने की कोशिश नहीं कर रहे हैं। इसके बजाय, वे विशेष रूप से तर्क के "नेगेटिव फ्रैगमेंट" (and और implies से संबंधित) पर ध्यान केंद्रित कर रहे हैं। वे सिद्ध करते हैं कि इस विशिष्ट दायरे के भीतर, उनका सिस्टम पूरी तरह से काम करता है। वे दिखाते हैं कि आप उनके सिस्टम से एक प्रमाण ले सकते हैं और उसे वापस एक मानक कंप्यूटर प्रोग्राम में, और इसके विपरीत, बिना किसी जानकारी को खोए, अनुवाद कर सकते हैं।
निष्कर्ष
घिलेज़ान और पडियार ने एक नया तार्किक ढांचा सफलतापूर्वक निर्मित किया है जहाँ "तथ्य को सिद्ध करने" और "एक प्रोग्राम चलाने" के बीच की सीमा समाप्त हो जाती है। उन्होंने स्वयंसिद्ध, प्राकृतिक कटौती नियम और सीक्वेंट कैलकुलस प्रदान किए हैं, और उन्होंने कठोरता से सिद्ध किया है कि ये विभिन्न दृष्टिकोण एक-दूसरे के साथ सुसंगत हैं। उन्होंने दिखाया है कि यह सिस्टम अपने स्वयं के कंप्यूटेशन के बारे में तर्क कर सकता है, ऐसे प्रमाण पद उत्पन्न कर सकता है जो प्रोग्रामों से अभिन्न हैं। हालांकि वे यह दावा नहीं करते कि उन्होंने तर्क के हर रहस्य को सुलझा लिया है, उन्होंने एक ठोस, कार्यशील मॉडल प्रदान किया है जहाँ एक कंप्यूटर वास्तव में अपने स्वयं के कोड को एक गणितीय प्रमाण के रूप में समझ सकता है, जो भविष्य में अधिक मजबूत और स्व-सत्यापित सॉफ़्टवेयर सिस्टम के लिए द्वार खोलता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।