首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同的SMT解算器之间有比较吗?

不同的SMT解算器之间有比较吗?
EN

Stack Overflow用户
提问于 2022-09-15 10:56:43
回答 1查看 111关注 0票数 1

我在Python中有一个利用定理证明的实现。我想知道是否有可能加快SMT的解决部分,目前正在使用Z3。

我试图发现不同的求解者,并发现cvc5 4/cvc5 5和y是多元理论(算术,等式,位向量.)解决者。我还找到了dReal和MetiTarski (这一项似乎已经过时了)用于实际算术的具体情况。

我的目的是用这些工具的API测试我的实现,看看我是否可以使用一个或其他的解决程序,这取决于我想要解决的类型。

然而,我想事先知道,这些求解者之间是否有某种比较,以便为我的发现提供一个更有用的基础。我对GitHub或Stack中的标准基准测试或用户测试都感兴趣。

我只找到了cvc5 (https://www-cs.stanford.edu/~preiner/publications/2022/BarbosaBBKLMMMN-TACAS22.pdf)的这篇文章,很明显,它是最好的选择。我还发现了这个极小的比较(https://lemire.me/blog/2020/11/08/benchmarking-theorem-provers-for-programming-tasks-yices-vs-z3/),它告诉我们Yices比具体示例的Z3快15倍。

有什么建议吗?

https://yices.csl.sri.com/

  • dReal:http://dreal.github.io/

  • Yice
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-15 14:24:00

您可以随时查看SMT竞赛的结果:https://smt-comp.github.io

话虽如此,我认为寻找“最好的”是傻瓜的差事。用一种有意义的方式来比较所有的求解者,没有一个好的院子:这都取决于您的特定应用程序。

如果您的系统允许使用多个后端解决程序,那么为什么不利用现代机器上的许多核心:生成所有这些核心并利用第一个完成的结果。任何先验选择的解决者将遭受的情况下,另一个将表现得更好。在这一点上,运行所有可用的,并取得最快的结果是最好的选择,利用您的硬件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73729889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档