Coq में OCaml का औपचारिक शब्दार्थ


14

OCamlight के एक बड़े उपसमूह के शब्दार्थ, जिसे OCamllight कहा जाता है , को कई साल पहले ओवेन्स द्वारा HOL में औपचारिक रूप दिया गया था। अभी हाल ही में, KCamitz, हेडन और हिक्की द्वारा नुपले में OCaml के एक छोटे उपसमुच्चय के एक प्रकार के सैद्धांतिक शब्दार्थ को लागू किया गया था ।

क्या कोइक में भी ऐसा ही कोई विकास हुआ है?


आपको केकएमएल में रुचि हो सकती है: cakeml.org । Otsl विशेष रूप से नहीं है, हालांकि।
18

जवाबों:


12

क्या आपने आर्थर चारगुएरड की पीएचडी थीसिस, मैकेनाइज्ड प्रोग्राम वेरिफिकेशन के लिए विशेषता सूत्र देखे हैं ?

इंडक्टिव संबंधों के रूप में प्रकार प्रणाली और छोटे-चरण के शब्दार्थ के निर्माण के बजाय, वह कैमल कार्यक्रमों को चारित्रिक स्रोतों में परिवर्तित करने के लिए एक तकनीक देता है। यह मूल रूप से Ocaml के एक बहुत बड़े उपसमूह का समर्थन करने के लिए विधेय ट्रांसफार्मर शब्दार्थ का एक सामान्यीकरण है - विशेष रूप से, जैसे असुरक्षित जातियों सहित Obj.magic। उनकी थीसिस से उद्धृत करने के लिए:

मैंने ओकेएमएल प्रोग्रामिंग लैन- गुएज के एक सबसेट पर ध्यान केंद्रित किया है, जो एक अनुक्रमिक, कॉल-बाय-वैल्यू, उच्च-स्तरीय प्रोग्रामिंग भाषा है। सीएफएमएल का वर्तमान कार्यान्वयन उच्च-क्रम कार्यों, पुनरावृत्ति, पारस्परिक पुनरावृत्ति और बहुरूपता पुनरावृत्ति सहित कोर λ-पथरी का समर्थन करता है। यह ट्यूपल्स, डेटा कंस्ट्रक्टर्स, पैटर्न मैचिंग, रेफरेंस सेल, रिकॉर्ड और एरेज़ को सपोर्ट करता है। मैं एक अतिरिक्त कैमल लाइब्रेरी प्रदान करता हूं जो अशक्त बिंदुओं और मजबूत अपडेट के लिए समर्थन जोड़ता है।

यदि आप किसी विशेष कैमल प्रोग्राम को सही साबित करना चाहते हैं तो यह बहुत ही आकर्षक तरीका है (कम से कम यदि आप इसकी मेटाथ्री में रुचि रखते हैं, हालांकि)।


इसलिए, अगर मैं सही समझूं, तो सिस्टम में Ocaml के शब्दार्थ का विनिर्देश अंतर्निहित है। क्या इस तरह के विनिर्देश के रूप में (कुछ प्रमुख कार्य) प्रणाली के विशेषता सूत्र की व्याख्या करना संभव है? इसके अलावा, मुझे लगता है कि सिस्टम OCaml में लिखा गया है। क्या सिस्टम में इसकी शुद्धता को निर्दिष्ट करना और साबित करना संभव है?
एंड्रिया एस्परटी

किसी दिए गए OCaml प्रोग्राम के लिए, इसके चारित्रिक सूत्र को एक संप्रदायिक शब्दार्थ के बारे में सोचा जा सकता है, जो "कम से कम सामान्य" विनिर्देश है जिसका उपयोग कार्यक्रम के किसी भी वांछनीय गुण को साबित करने के लिए किया जा सकता है। यदि आप स्वयं सीएफएमएल की "शुद्धता" की बात करते हैं, तो सवाल यह है: किस वैकल्पिक औपचारिक शब्दार्थ के संबंध में?
गैस

सॉफ्टवेयर को प्रमाणित करने के लिए एक कार्यक्रम है और जिसका व्यवहार
निर्दिष्ट

@AndreaAsperti "सिस्टम में एम्बेडेड" से आपका क्या अभिप्राय है? विशेषता फ़ार्मुलों (CFs) के पीछे का विचार काफी सीधा है: तार्किक फ़ार्मुलों (आमतौर पर पूर्व और पोस्टकंडिशन) के लिए मैप प्रोग्राम ऐसे फ़ार्मुलों को कार्यक्रमों के शब्दार्थों का सटीक वर्णन करते हैं। दूसरे शब्दों में, दो कार्यक्रम समान सीएफ को संतुष्ट करते हैं यदि वे प्रासंगिक रूप से अप्रभेद्य हैं। कार्यक्रम से सीएफ तक का नक्शा कार्यक्रम की संरचना के प्रेरण द्वारा किया जाता है, और किसी भी पर्याप्त रूप से अभिव्यंजक तर्क को लक्षित कर सकता है। ए चारगुएरॉड का लक्ष्य कोक तर्क है, लेकिन यह एक आकस्मिक विकल्प है।
मार्टिन बर्जर

1
@MartinBerger: ग्यूनेऊ एट अल पेपर केवल ध्वनि को प्रमाणित करता है क्योंकि व्युत्पन्न पूर्व / पोस्ट उन कार्यक्रमों को चिह्नित नहीं करते हैं जिनसे वे प्राप्त होते हैं। उनके सीएफ केकएमएल के अप्रकाशित शब्दार्थ से प्राप्त होते हैं, लेकिन टाइप की गई भाषा में एक अलग अवलोकन समतुल्यता होती है। (व्यावहारिक सत्यापन के लिए, यह बहुत महत्वपूर्ण नहीं है, और यह आसान है।)
नील कृष्णस्वामी

8

आप जाक Garrigue के में रुचि रखने वाले स्ट्रक्चरल बहुरूपता और पुनरावर्ती प्रकार के साथ एमएल की एक प्रमाणित कार्यान्वयन है, जो स्थिर और गतिशील अर्थ विज्ञान की सुदृढ़ता स्थापित करता है और (प्रत्यावर्तन और) संरचनात्मक बहुरूपता के साथ एक एमएल भाषा के लिए प्रकार निष्कर्ष के गुणों, इस प्रकार से एक औपचारिकता OCaml के अधिक उन्नत कोनों (बहुरूपी संस्करण और वस्तु प्रकार)।

उस ने कहा, यह काम मौजूदा OCamRAM के कार्यक्रमों के फीचर सेट को कवर करने की तुलना में टाइप सिस्टम के अधिक उन्नत भागों की ध्वनि की पुष्टि करने के उद्देश्य से है। मुझे लगता है कि मौजूदा OCaml प्रोग्राम की शुद्धता साबित करने की कोशिश करने के मामले में, CFML एक बेहतर विकल्प होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.