के साथ "अच्छा" असंत-कोर प्राप्त करना मैं SMTLIB 2 भाषा का उपयोग करके तर्क QF_BV में व्यक्त की गई समस्या को हल करने के लिए Z3 SMT सॉल्वर का उपयोग कर रहा हूं।z3 (तर्क QF_BV)
मॉडल असंतुष्ट है, और मैं सॉल्वर को असुरक्षित कोर बनाने की कोशिश कर रहा हूं।
मेरे मॉडल में कई 'अनिवार्य' बाधाएं हैं, जिन्हें मैं assert
कथन का उपयोग करके निर्दिष्ट करता हूं।
असर-कोर पीढ़ी के लिए जिन विचारों पर विचार करना है, उन्हें (assert (! (EXPR) :named NAME))
निर्माण का उपयोग करके निर्दिष्ट किया गया है।
जेड 3 मुझे उम्मीद के अनुसार unsat
देता है। हालांकि, ज़ेड 3 हमेशा एक 'तुच्छ' असंतुलित कोर को डंप करने लगता है जिसमें सभी नामांकित दावे शामिल हैं।
मुझे पता है कि मेरे नामित दावों का एक सबसेट मौजूद है, जो एक असुरक्षित कोर है। मुझे यस एसएमटी सॉल्वर का उपयोग करके यह कोर मिला, जो अक्सर मुझे अपेक्षाकृत छोटे असुरक्षित कोर देता है। यिस मॉडल जेड 3 मॉडल के समान है (एसएमटी 2 से यिस इनपुट भाषा में बहुत अधिक लाइन-दर-लाइन अनुवाद)।
"अच्छा" असुरक्षित-कोर एक सॉल्वर-विशिष्ट सुविधा का उत्पादन कर रहा है, या क्या कोई सामान्य सुझाव/परिवर्तन है जो मैं Z3 को बेहतर कोर देने में मदद करने के लिए कर सकता हूं?
उत्तर देने के लिए धन्यवाद! मैंने एक नमूना स्क्रिप्ट अपलोड की है [यहां] (https://gist.github.com/2fe5ce8cf42af9ffaf59)। मैंने समझने में मदद के लिए एक संक्षिप्त विवरण शामिल किया है। क्या आप कृपया यह देखने के लिए देख सकते हैं कि आपके पास मेरे लिए कोई संकेतक है या नहीं? – dhrumeel
मुझे आपकी स्क्रिप्ट मिली, मैं जवाब अपडेट कर दूंगा। बीटीडब्ल्यू, कुछ बिट-वेक्टर अक्षर से पहले '#' गायब हैं। –