2012-07-05 9 views
6

मैं List नामक सिद्धांत में अपनी खुद की सूची प्रकार को परिभाषित करना चाहता हूं, लेकिन उस नाम के साथ पहले से ही एक सिद्धांत है। क्या Main से अधिक हल्का सिद्धांत है?क्या इसाबेल में कोई सिद्धांत आयात करना संभव नहीं है?

+0

एफवाईआई, अगर आपको यह उत्तर नहीं मिलता है कि आप यहां देख रहे हैं, तो यह cs.stackexchange.com या cstheory.stackexchange.com पर सवाल पूछने के लायक हो सकता है ... – reuben

+2

@reuben: न तो उपकरण उपकरण समर्थन के लिए साइट है। इसाबेल का [दस्तावेज़ीकरण] (http://isabelle.in.tum.de/documentation.html) और [समुदाय] (https://isabelle.in.tum.de/community) जाने के लिए सही जगह है। – Raphael

+7

closers को नोट करें: यह प्रश्न स्टैक ओवरफ़्लो पर पूरी तरह से विषय पर है। इसाबेल एक प्रमेय प्रदाता है, और वे एक विशेष प्रकार के प्रोग्रामिंग वातावरण ([टैग: कोक] और [टैग: एग्डा] अन्य उदाहरण हैं जिनके पास SO पर एक छोटा लेकिन मौजूदा समुदाय है)। एक प्रोग्रामिंग टूल का उपयोग करना स्टैक ओवरफ़्लो पर विषय पर है।(@ राफेल नहीं, सवाल यहां ठीक है।) – Gilles

उत्तर

4

आप इसाबेल में कुछ भी आयात नहीं कर सकते (क्योंकि आयात मूल तर्क के लिए भी आवश्यक है)। इसाबेल में एचओएल के कार्यान्वयन में तीन समर्थित प्रवेश बिंदु हैं: Main, Complex_Main (जो Main प्लस कुछ विश्लेषण है) और Plain, लेकिन केवल पहले दो नियमित उपयोग के लिए इच्छुक हैं।

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

इसलिए, जब तक आपके पास ऐसा करने के लिए वास्तव में अच्छे कारण नहीं हैं, तो मैं राफेल की टिप्पणी के बाद सुझाव दूंगा और अपनी सूची सिद्धांत का दूसरा नाम दूंगा।

0

आप केवल 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 के बिना ऐसा करने के लिए आसान है, लेकिन असंभव नहीं नहीं है यही कारण है कि। बस जागरूक रहें कि आपको कई व्यापक रूप से प्रयुक्त प्रमेय के बिना करना होगा, और आपको खुद को लिखना और साबित करना पड़ सकता है।

+0

मुझे 'फनडिफ' के बारे में पता नहीं था, टिप के लिए धन्यवाद, इसे देखेंगे। मुझे वास्तव में दिलचस्पी है कि "कम फूला हुआ" आधार सिद्धांत है, कम से कम क्योंकि यह बहुत मेमोरी का उपभोग करता है (मैं 1 जी रैम मशीन चला रहा हूं, जो इसाबेल के लिए छोटा है ... मैं विशेष रूप से कुछ और रैम प्राप्त करने की योजना बना रहा हूं इसाबेल)। इसके अलावा, 'मुख्य' प्रदान किए गए एक और सिद्धांतों की तलाश करने का एक और कारण यह है कि कुछ सिद्धांत किसी प्रकार के सबूत के लिए उपयुक्त नहीं हैं। एक उदाहरण के रूप में, मुझे लगता है कि सेट सिद्धांत का उपयोग करने वाला स्वस्थता, आसान नहीं है, और अपना खुद का सेट अप करना चाहता है (यदि संभव हो)। – Hibou57

+1

ध्यान दें कि 'मुख्य' एचओएल के नीचे कुछ भी आयात करना अनिर्दिष्ट है, और अजीब प्रभावों की अपेक्षा की जा सकती है। इसाबेल/एचओएल बूटस्ट्रैप कैसे किया जाता है, इसके आंतरिक में प्रवेश करने के लिए 1 जीबी रैम एक बुरा कारण है। – Makarius

+0

क्या यह 'शुद्ध' के साथ समान नहीं है? (मैं देखता हूँ, बिंदु के लिए धन्यवाद)। – Hibou57

4

ध्यान दें कि $ISABELLE_HOME/src/HOL/ex/Seq.thy अपने Main प्रविष्टि बिंदु से नीचे सिस्टम के साथ काम करने के नाज़ुक प्रश्न को शुरू किए बिना, अपनी खुद की सूची डेटाटाइप को परिभाषित करने का एक न्यूनतम उदाहरण देता है। (शुरुआती भ्रमित हो और विशेषज्ञों यह मत करो।)

सैद्धांतिक रूप से, सबसे आदिम सिद्धांत आप आयात कर सकता है Pure है, लेकिन यह अभी तक सिर्फ नंगे हड्डियों तार्किक रूपरेखा है, HOL की तरह किसी भी वस्तु-तर्क के बिना। जिज्ञासा के लिए, आप $ISABELLE_HOME/src/HOL/ex/Higher_Order_Logic.thy देख सकते हैं जो Pure से शुरू होता है और एचओएल के न्यूनतम संस्करण को परिभाषित करता है। इसके शीर्ष पर, किसी भी उन्नत सिद्धांत और उपकरण के बिना आप पूरी इसाबेल/एचओएल से अपेक्षा करेंगे।

+0

'HIGH_Order_Logic' का संदर्भ बहुत अच्छा है। –

संबंधित मुद्दे