शायद तुम एक अर्द्ध स्वचालित सबूत विधि की कोशिश करना चाहते हैं। बस कुछ अलग करने के लिए;) उदाहरण के लिए, यदि आपके पास प्राइम और क्रस्कल के एल्गोरिदम का जावा विनिर्देश है, तो उसी ग्राफ मॉडल पर बेहतरीन रूप से निर्माण करना, आप KeY Prover का उपयोग एल्गोरिदम के समतुल्य साबित करने के लिए कर सकते हैं।
महत्वपूर्ण हिस्सा गतिशील तर्क में अपने प्रमाण दायित्व (इस प्रकार के और जावा कार्यक्रमों का प्रतीक निष्पादन के साधन के साथ पहले क्रम तर्क का एक विस्तार है) को औपचारिक रूप देने है।
\forall Graph g. \exists Tree t.
(<{KRUSKAL_CODE_HERE}>resultVar1=t) <-> (<{PRIM_CODE_HERE}>resultVar2=t)
यह व्यक्त करता है कि सभी रेखांकन के लिए, दोनों एल्गोरिदम समाप्त कर देंगे और परिणाम एक ही पेड़ है: सूत्र साबित करने के लिए निम्नलिखित (अधूरा) पैटर्न से मेल खा सकते।
आप भाग्यशाली हैं और अपने सूत्र (और एल्गोरिथ्म कार्यान्वयन) सही हैं, तो कुंजी यह स्वचालित रूप से आप के लिए साबित कर सकते हैं। यदि नहीं, तो आपको कुछ मात्रात्मक चर को तुरंत चालू करने की आवश्यकता हो सकती है जो पिछले प्रमाण पेड़ का निरीक्षण करने के लिए आवश्यक बनाता है।
केवाई के साथ बात साबित करने के बाद, आप या तो कुछ सीखने के बारे में खुश रह सकते हैं या केवाई सबूत से मैनुअल सबूत का पुनर्निर्माण करने का प्रयास कर सकते हैं - यह एक कठिन काम हो सकता है क्योंकि केवाई जावा के लिए बहुत से नियमों को जानता है जो कि समझना आसान नहीं है। हालांकि, हो सकता है कि आप कुछ ऐसे शब्दों से एक हेब्रैंड विच्छेदन निकालने की तरह कुछ कर सकें जो कि केवाई प्रूफ में अनुक्रमों के दाईं ओर मौजूद अस्तित्व वाले क्वांटिफायर को तुरंत चालू करता था।
ठीक है, मुझे लगता है कि कुंजी एक दिलचस्प उपकरण है और अधिक लोगों को इस तरह उपकरण का उपयोग कर महत्वपूर्ण जावा कोड साबित करने के लिए इस्तेमाल किया जाना चाहिए;)
mathoverflow.com प्रयास करें। मुझे लगता है कि आपको – Toad
पर और भाग्य मिलेगा मुझे नहीं लगता कि इस तरह का सवाल है mathoverflow.com क्या है। –