मैं List
नामक सिद्धांत में अपनी खुद की सूची प्रकार को परिभाषित करना चाहता हूं, लेकिन उस नाम के साथ पहले से ही एक सिद्धांत है। क्या Main
से अधिक हल्का सिद्धांत है?क्या इसाबेल में कोई सिद्धांत आयात करना संभव नहीं है?
उत्तर
आप इसाबेल में कुछ भी आयात नहीं कर सकते (क्योंकि आयात मूल तर्क के लिए भी आवश्यक है)। इसाबेल में एचओएल के कार्यान्वयन में तीन समर्थित प्रवेश बिंदु हैं: Main
, Complex_Main
(जो Main
प्लस कुछ विश्लेषण है) और Plain
, लेकिन केवल पहले दो नियमित उपयोग के लिए इच्छुक हैं।
सादा में पहले से ही मूल तर्क शामिल है, लेकिन मानक पुस्तकालय (उदा। कोई सूचियां) के संदर्भ में लगभग कुछ भी नहीं है। लेकिन क्विक चेक, स्लेजहैमर और कोड जनरेटर जैसे महत्वपूर्ण टूल भी गायब हैं। इसके अलावा, यदि आप अपनी खुद की सिद्धांत सूची का नाम देने में सक्षम होने के लिए सादा से शुरू करते हैं, तो ध्यान रखें कि आपका सिद्धांत मुख्य पर किसी भी कार्य भवन के साथ असंगत होगा (जो लगभग सबकुछ है)।
इसलिए, जब तक आपके पास ऐसा करने के लिए वास्तव में अच्छे कारण नहीं हैं, तो मैं राफेल की टिप्पणी के बाद सुझाव दूंगा और अपनी सूची सिद्धांत का दूसरा नाम दूंगा।
आप केवल HOL
आयात कर सकते हैं, के रूप में
theory Test_Theory
imports HOL
begin
…
end
में मैं अक्सर परीक्षण और इसाबेल के बारे में जांच के लिए करते हैं।
हालांकि, अगर आप डेटा प्रकार परिभाषाओं की कमी होगी, और शायद Datatype
आयात करने के लिए की आवश्यकता होगी (और यहां तक Record
हो सकता है) के लिए अपने List
सिद्धांत लिखने के लिए सक्षम होने के लिए के साथ-साथ,।
theory Test_Theory
imports HOL Datatype Record
begin
…
end
दोनों Datatype
और Record
आयात HOL
के रूप में, आप बस हो सकता है:
theory Test_Theory
imports Datatype Record
begin
…
end
सिद्धांत Main
के बिना ऐसा करने के लिए आसान है, लेकिन असंभव नहीं नहीं है यही कारण है कि। बस जागरूक रहें कि आपको कई व्यापक रूप से प्रयुक्त प्रमेय के बिना करना होगा, और आपको खुद को लिखना और साबित करना पड़ सकता है।
मुझे 'फनडिफ' के बारे में पता नहीं था, टिप के लिए धन्यवाद, इसे देखेंगे। मुझे वास्तव में दिलचस्पी है कि "कम फूला हुआ" आधार सिद्धांत है, कम से कम क्योंकि यह बहुत मेमोरी का उपभोग करता है (मैं 1 जी रैम मशीन चला रहा हूं, जो इसाबेल के लिए छोटा है ... मैं विशेष रूप से कुछ और रैम प्राप्त करने की योजना बना रहा हूं इसाबेल)। इसके अलावा, 'मुख्य' प्रदान किए गए एक और सिद्धांतों की तलाश करने का एक और कारण यह है कि कुछ सिद्धांत किसी प्रकार के सबूत के लिए उपयुक्त नहीं हैं। एक उदाहरण के रूप में, मुझे लगता है कि सेट सिद्धांत का उपयोग करने वाला स्वस्थता, आसान नहीं है, और अपना खुद का सेट अप करना चाहता है (यदि संभव हो)। – Hibou57
ध्यान दें कि 'मुख्य' एचओएल के नीचे कुछ भी आयात करना अनिर्दिष्ट है, और अजीब प्रभावों की अपेक्षा की जा सकती है। इसाबेल/एचओएल बूटस्ट्रैप कैसे किया जाता है, इसके आंतरिक में प्रवेश करने के लिए 1 जीबी रैम एक बुरा कारण है। – Makarius
क्या यह 'शुद्ध' के साथ समान नहीं है? (मैं देखता हूँ, बिंदु के लिए धन्यवाद)। – Hibou57
ध्यान दें कि $ISABELLE_HOME/src/HOL/ex/Seq.thy
अपने Main
प्रविष्टि बिंदु से नीचे सिस्टम के साथ काम करने के नाज़ुक प्रश्न को शुरू किए बिना, अपनी खुद की सूची डेटाटाइप को परिभाषित करने का एक न्यूनतम उदाहरण देता है। (शुरुआती भ्रमित हो और विशेषज्ञों यह मत करो।)
सैद्धांतिक रूप से, सबसे आदिम सिद्धांत आप आयात कर सकता है Pure
है, लेकिन यह अभी तक सिर्फ नंगे हड्डियों तार्किक रूपरेखा है, HOL की तरह किसी भी वस्तु-तर्क के बिना। जिज्ञासा के लिए, आप $ISABELLE_HOME/src/HOL/ex/Higher_Order_Logic.thy
देख सकते हैं जो Pure
से शुरू होता है और एचओएल के न्यूनतम संस्करण को परिभाषित करता है। इसके शीर्ष पर, किसी भी उन्नत सिद्धांत और उपकरण के बिना आप पूरी इसाबेल/एचओएल से अपेक्षा करेंगे।
'HIGH_Order_Logic' का संदर्भ बहुत अच्छा है। –
एफवाईआई, अगर आपको यह उत्तर नहीं मिलता है कि आप यहां देख रहे हैं, तो यह cs.stackexchange.com या cstheory.stackexchange.com पर सवाल पूछने के लायक हो सकता है ... – reuben
@reuben: न तो उपकरण उपकरण समर्थन के लिए साइट है। इसाबेल का [दस्तावेज़ीकरण] (http://isabelle.in.tum.de/documentation.html) और [समुदाय] (https://isabelle.in.tum.de/community) जाने के लिए सही जगह है। – Raphael
closers को नोट करें: यह प्रश्न स्टैक ओवरफ़्लो पर पूरी तरह से विषय पर है। इसाबेल एक प्रमेय प्रदाता है, और वे एक विशेष प्रकार के प्रोग्रामिंग वातावरण ([टैग: कोक] और [टैग: एग्डा] अन्य उदाहरण हैं जिनके पास SO पर एक छोटा लेकिन मौजूदा समुदाय है)। एक प्रोग्रामिंग टूल का उपयोग करना स्टैक ओवरफ़्लो पर विषय पर है।(@ राफेल नहीं, सवाल यहां ठीक है।) – Gilles