2011-01-06 16 views
5

मुझे इस टूल के कोड और ओपन सोर्स विकल्प के साथ एसएमटी जेड 3 उपयोग (जैसे डीबीसी) के व्यावहारिक उदाहरणों में दिलचस्पी है और तलाश है। तो, वास्तव में, मैं इसी तरह की जेड 3 औपचारिक सुलझाने उपकरण में दिलचस्पी है, लेकिन:एसएमटी जेड 3 उपयोगकेस (डीबीसी की तरह) के व्यावहारिक उदाहरण और Z3 के लिए ओपन सोर्स विकल्प की तलाश में?

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

(bit.ly जानकारी के लिए बंडल देखें) 2010 श्रीमती समाधानकर्ताओं की सूची है: "Alt-Ergo, Barcelogic, ऊदबिलाव, Boolector, CVC3, डीपीटी, MathSAT, OpenSMT, साटिन, भालू, एसटीपी, स्वाद, यूसीएलआईडी, veriT, Yices, Z3। "

कृपया अभ्यास में से किसी एक का उपयोग करने पर कोई प्रतिक्रिया दें (कोड उदाहरण सर्वोत्तम हैं)?

अंत में, जीएचसी संभावनाओं के साथ इसकी तुलना करने की कोई भी जानकारी उपयोगी होगी, लेकिन केवल एक कार्यान्वयन उदाहरण (भाषा "सुविधा" नहीं) के मामले में ही उपयोगी होगा। यहाँ http://bit.ly/bundles/ewiger/1

उत्तर

3

जेड 3 पर

अधिक त्वरित जानकारी मेरी जानकारी के अनुसार करने के लिए, CVC3, अपनी आवश्यकताओं के सबसे करीब आता है कि यह में:

  1. एक सुविधा सेट है कि जेड 3 के लिए समान है।
  2. BSD-style license
  3. कई मौजूदा परियोजनाओं के लिए अंतर्निहित सॉल्वर है।

सीवीसी 3 में bindings सी ++ और जावा, और शायद अन्य भाषाओं के लिए है। आम तौर पर, मुझे लगता है कि एपीआई (टेक्स्टुअल) input language की तुलना में उपयोग करना कहीं अधिक कठिन है। इसमें अतिरिक्त लाभ है कि, यदि आप एसएमटी-एलआईबी 2 भाषा के साथ चिपके रहते हैं, तो आप आवश्यक हो जाने पर बाद में एक अलग उपकरण पर स्विच करने में सक्षम हो सकते हैं। उदाहरणों का एक बड़ा नमूना SMT-LIB website पर उपलब्ध है।

3

आप जेड 3 के लिए खुला स्रोत विकल्प के बारे में पूछा है:

SMT-Wikipedia 2011-08 में के अनुसार, हमने:

इन उपायों के आधार पर, ऐसा लगता है कि, सबसे जीवंत सुव्यवस्थित परियोजनाएं ओपनएसएमटी, एसटीपी और सीवीसी 4 हैं।

मैं बस इस सामान की जांच कर रहा हूं - अब तक, तीनों को उचित लगता है, साथ ही पुराने सीवीसी -> मेरा मतलब सीवीसी 3 है।