← नवीनतम पेपर
💻 computer science

Carnap Ten Years Later: Lessons Learned and Next Steps

यह शोध पत्र कार्नाप (Carnap) प्रूफ़ असिस्टेंट फ्रेमवर्क पर एक दशक लंबे अनुभव की रिपोर्ट प्रस्तुत करता है जिसका उपयोग 45,000 से अधिक छात्रों द्वारा किया गया है, जो उन प्रमुख सफलताओं और चुनौतियों की पहचान करता है जिन्होंने एक उच्च-प्रदर्शन वाले mm0-zig सत्यापन कर्नेल (verifier kernel) और बेहतर वेब-आधारित प्रूफ़ लेखन के लिए ऑफ़बौ (Aufbau) बाइटकोड कंपाइलर वाले बॉटम-अप पुनर्गठन को प्रेरित किया।

मूल लेखक: Graham Leach-Krouse

प्रकाशित 2026-07-10
📖 7 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Graham Leach-Krouse

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

कल्पना कीजिए कि आप 45,000 छात्रों को लॉजिक पज़ल्स (तर्क संबंधी पहेलियाँ) हल करना सिखाने की कोशिश कर रहे हैं। आप चाहते हैं कि वे हर दिन अभ्यास करें, लेकिन हजारों हस्तलिखित प्रमाणों (proofs) को हाथ से जांचना एक दुस्वप्न जैसा है। इसलिए, आप एक रोबोट टीचर बनाते हैं।

यही वह काम है जो ग्राहम लीच-क्रौस ने Carnap के साथ किया, जो एक वेब-आधारित टूल है जिसने पिछले एक दशक में दुनिया भर के छात्रों के लिए चार मिलियन से अधिक लॉजिक समस्याओं को हल किया है। लेकिन इस रोबोट को दस साल तक चलाने के बाद, लेखक को एहसास हुआ कि रोबोट थोड़ा अनाड़ी होता जा रहा है, और अब एक बिल्कुल नया, सुपर-स्लीक संस्करण बनाने का समय आ गया है।

यहाँ वह कहानी है कि क्या सही रहा, क्या गलत हुआ, और इसे ठीक करने के लिए कौन से चमकदार नए उपकरण बनाए जा रहे हैं।

मूल रोबोट: एक थोड़ा अव्यवस्थित प्रतिभाशाली (A Bit of a Messy Genius)

मूल Carnap एक विशाल, ऑल-इन-वन स्विस आर्मी नाइफ की तरह बनाया गया था। इसे Haskell नामक एक बहुत ही शानदार प्रोग्रामिंग भाषा में लिखा गया था। लेखक चाहता था कि यह मुफ्त (छात्रों के लिए कोई लागत नहीं) हो, वेब-आधारित (कोई कष्टदायक सॉफ्टवेयर इंस्टॉलेशन नहीं) हो, और लचीला (किसी भी प्रकार के लॉजिक को सिखाने में सक्षम, सरल गणित से लेकर जटिल दर्शन तक) हो।

क्या काम किया:

  • वेब: इसे एक वेबसाइट पर रखना एक बड़ी जीत थी। छात्रों को इंस्टॉलेशन स्क्रीन से नहीं जूझना पड़ा; उन्हें बस एक लिंक पर क्लिक करना था।
  • फीडबैक लूप: सबसे अच्छा हिस्सा "तत्काल फीडबैक" था। जैसे ही छात्र एक प्रूफ टाइप करता, रोबोट उसे लाइन-दर-लाइन चेक करता। यदि उन्होंने कोई गलती की, तो यह तुरंत कहता "नहीं, फिर से कोशिश करें।" इसने छात्रों को एक "फ्लो स्टेट" में रखा, जहाँ उन्हें लगा कि वे होमवर्क करने के बजाय एक खेल खेल रहे हैं।
  • लचीलापन: लेखक ने एक चतुर ट्रिक (जिसे Huet's algorithm कहा जाता है) का उपयोग किया ताकि रोबोट दर्जनों अलग-अलग लॉजिक टेक्स्टबुक्स को समझ सके। यह एक अनुवादक की तरह था जो तुरंत तर्क के हर लहजे को बोल सकता था।

क्या काम नहीं किया:

  • "ऑल-इन-वन" का जाल: लेखक ने एक बड़े कोड ब्लॉक में सब कुछ करने की कोशिश की। जो हिस्सा चित्र बनाता था, जो हिस्सा गणित की जांच करता था, और जो हिस्सा ग्रेड सुरक्षित करता था, वे सब आपस में उलझे हुए थे। यदि आप गणित जांचने वाले में एक छोटा सा बग ठीक करना चाहते हैं, तो आप गलती से ग्रेड-सेव करने वाली प्रणाली को तोड़ सकते हैं। यह ऐसा था जैसे पहिए अभी भी घूम रहे हों और आप कार के इंजन को ठीक करने की कोशिश कर रहे हों।
  • "बस फैक्टर" (The Bus Factor): क्योंकि कोड इतना उलझा हुआ था और इसमें एक बहुत ही विशिष्ट, कठिन सेटअप का उपयोग किया गया था, इसलिए अन्य लोगों के लिए मदद करना लगभग असंभव था। यदि मुख्य निर्माता को बस से टक्कर आ जाए (यह एक क्लासिक प्रोग्रामर मजाक है कि जब एकमात्र व्यक्ति जो सिस्टम को जानता है, उसे खो दिया जाए), तो प्रोजेक्ट मर सकता था।
  • विश्वास का मुद्दा: छात्रों को रोबोट पर भरोसा करने की आवश्यकता होती है। यदि रोबोट में कोई गड़बड़ी आती है, या वह भ्रमित करने वाला त्रुटि संदेश देता है, या अजीब व्यवहार करता है, तो छात्र तर्क (logic) पर भरोसा करना छोड़ देते हैं। वे सोचने लगते हैं, "रोबोट खराब है," बजाय इसके कि "मैंने गलती की।" मूल सिस्टम में बहुत सारी छोटी-छोटी गड़बड़ियाँ थीं जिन्होंने इस विश्वास को तोड़ दिया।

निदान: क्यों पुराने रोबोट को रिटायरमेंट की जरूरत है

लेखक ने पुराने सिस्टम को देखा और महसूस किया कि यह एक "डुअल-मोनोलिथ" आर्किटेक्चर पर बना था। इसे एक ऐसे घर के रूप में सोचें जहाँ रसोई, बेडरूम और बाथरूम एक ही विशाल कमरे में हैं और उनके बीच कोई दीवार नहीं है। आप बाथरूम को गिराए बिना रसोई का नवीनीकरण नहीं कर सकते।

विशिष्ट समस्या ब्राउज़र में चलाने के लिए उपयोग की जाने वाली तकनीक थी। लेखक ने वेब कोड में बदलने के लिए GHCJS नामक टूल का उपयोग किया। लेकिन वह टूल अब "डेप्रिकेटेड" (बेसिकली, इसे इसके रचनाकारों द्वारा रिटायर कर दिया गया है) है। पुराने सिस्टम को अपडेट करने की कोशिश करना एक ऐसी कार के इंजन को बदलने की कोशिश करने जैसा है जिसका पुर्जा अब फिट नहीं बैठता। यह दर्दनाक, महंगा और विफल होने की संभावना वाला होगा।

नया डिज़ाइन: "मॉड्यूलर" सपना

प्रस्तावित नया डिज़ाइन, विशाल रोबट को तीन विशिष्ट, छोटे रोबोटों में विभाजित करता है जो एक-दूसरे से बात करते हैं।

  1. छोटा वेरीफायर (mm0-zig): यह वह "मस्तिष्क" है जो यह जांचता है कि क्या एक प्रमाण वास्तव में सही है। इसे Zig नामक एक नई भाषा में लिखा गया है और यह अविश्वसनीय रूप से छोटा है—केवल लगभग 4,500 लाइनों का कोड। क्योंकि यह इतना छोटा है, एक इंसान पूरे कोड को पढ़ सकता है और कह सकता है, "हाँ, यह भरोसेमंद है।" इसे गणित की एक बड़ी लाइब्रेरी के लिए पलक झपकते ही (200 मिलीसेकंड से कम में) प्रमाणों की जांच करने के लिए डिज़ाइन किया गया है।
  2. कंपाइलर (Aufbau Bytebook Compiler या abc): यह "अनुवादक" है। यह उस जटिल तरीके को लेता है जिससे छात्र अपना प्रमाण टाइप करता है (शायद एक फैंसी विजुअल एडिटर का उपयोग करके) और उसे एक साफ, बाइनरी सर्टिफिकेट में बदल देता है। इसे इस बात की परवाह नहीं है कि छात्र ने इसे कैसे लिखा; यह बस यह सुनिश्चित करता है कि अंतिम परिणाम वैध है।
  3. सर्वर: यह केवल एक "फाइलिंग कैबिनेट" है। यह असाइनमेंट और ग्रेड को स्टोर करता है। यह कोई भारी सोच-विचार नहीं करता; यह केवल डेटा का प्रबंधन करता है।

नए सिस्टम की जादूगरी:

  • कोई उलझे हुए तार नहीं: यदि आप एक नया प्रकार का लॉजिक (जैसे एक नई टेक्स्टबुक) जोड़ना चाहते हैं, तो आपको मस्तिष्क या फाइलिंग कैबिनेट को फिर से लिखने की आवश्यकता नहीं है। आपको बस कंपाइलर को नए नियमों का सेट देना होगा।
  • विश्वसनीय: "मस्तिष्क" (mm0-zig) इतना छोटा और सरल है कि इसकी जांच एक अकेले व्यक्ति द्वारा की जा सकती है। एक बार जांच लेने के बाद, इसे बदलने की आवश्यकता नहीं है।
  • तेज़: नया वेरीफायर लगभग मूल C-आधारित संस्करण जितना ही तेज़ है, जो एक विशिष्ट परीक्षण मामले के लिए औसतन लगभग 7.1 मिलीसेकंड पर चलता है (पुराने के 6.1 मिलीसेकंड की तुलना में), जो मानव के लिए तत्काल महसूस करने के लिए पर्याप्त तेज़ है।

भविष्य: आगे क्या है?

लेखक स्वीकार करते हैं कि नया सिस्टम अभी पूरा नहीं हुआ है। अभी, "अनुवादक" (abc) टेक्स्ट एडिटर के साथ सबसे अच्छा काम करता है, जो शायद शुरुआती छात्रों के लिए बहुत डरावना हो सकता है जो अपने पहले लॉजिक क्लास में हैं। योजना समृद्ध विजुअल इंटरफेस (जैसे ड्रैग-एंड-ड्रॉप प्रूफ ट्री) बनाने की है जो अनुवादक से बात कर सकें।

यहाँ मुख्य सबक केवल कोड के बारे में नहीं है; यह विश्वास के बारे में है। चाहे आप छात्र हों, शिक्षक हों, या कोडर हों, आपको उस टूल पर भरोसा करने की आवश्यकता है जिसका आप उपयोग कर रहे हैं। पुराना Carnap एक नायक था जिसने काम पूरा किया, लेकिन वह अव्यवस्थित था। नया Carnap को लीन (lean), मीन (mean) और पारदर्शी बनाया जा रहा है, ताकि छात्र सॉफ्टवेयर से लड़ने के बजाय तर्क पर ध्यान केंद्रित कर सकें।

संक्षेप में: पुराना रोबोट एक प्रतिभाशाली लेकिन अव्यवस्थित जीनियस था। नया रोबोट विशेषज्ञता प्राप्त, भरोसेमंद विशेषज्ञों की एक टीम है, जो विचारकों की अगली पीढ़ी को भ्रम के गुरुत्वाकर्षण से बचने और अपने तर्क में "एस्केप वेलोसिटी" (escape velocity) प्राप्त करने में मदद करने के लिए तैयार है।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →