Z3有没有一种"reference manual"
Is there a kind of "reference manual" for Z3
阅读 https://www.rise4fun.com/Z3/tutorial 上的优秀教程后,我开始使用 Z3。但现在我想大致了解 Z3 的 SMTLIB2 方言中可用的 all 命令。
不幸的是,我只找到了不同语言绑定的参考手册,但没有找到 SMTLIB2 本身的参考手册。
我不知道有任何这样的参考手册,浏览 source code 可能是你目前最好的选择。
关于这样一本手册的存在,我当然可能是错的,但事实是,关于 Z3 的 SMT-LIB 方言的问题经常通过 Z3 问题跟踪器(例如 #4549, #4536, #4460)提出,这表明有没有参考手册。开发人员的回复也没有暗示任何此类手册。
您可以在 http://smtlib.cs.uiowa.edu/
中阅读有关 SMTLib 的所有信息
特别是,文档 http://smtlib.cs.uiowa.edu/papers/smt-lib-reference-v2.6-r2017-07-18.pdf 是所有 SMTLib 命令的“官方”文档。
对于逻辑,你想浏览:http://smtlib.cs.uiowa.edu/logics.shtml
现在,这个文档不是 Z3 特定的。但在很大程度上,它捕获了 Z3 支持的所有 SMT commands/logics,并且 Z3 是实现规范方面最“合规”的求解器之一。当然有一些差异:例如,规范从不讨论优化,而 Z3 确实支持优化,同样适用于集合操作和一些其他“附加功能”。正如 Malte 指出的那样,这些文档是可用的,但可能不容易浏览。我最喜欢的链接是:
https://ericpony.github.io/z3py-tutorial/guide-examples.htm(Python 具体,还有大量关于 Z3 功能的信息。)
在 Z3 中编程:https://theory.stanford.edu/~nikolaj/programmingz3.html 这是一份精彩的文档,详细介绍了 z3 的内部工作原理,并展示了它的大部分功能。同样,它使用 Python,但在大多数情况下,您可以或多或少地直接在 SMTLib 中找到相应的命令。
API 各种语言的文档:https://z3prover.github.io/api/html/index.html 最终您在编写 z3 程序时将需要这些;但您可以保留此作为“参考”,仅供以后使用。
如果您要查找的特定信息未包含在这些文档中,那么这就是该论坛的用途!祝你好运..
阅读 https://www.rise4fun.com/Z3/tutorial 上的优秀教程后,我开始使用 Z3。但现在我想大致了解 Z3 的 SMTLIB2 方言中可用的 all 命令。
不幸的是,我只找到了不同语言绑定的参考手册,但没有找到 SMTLIB2 本身的参考手册。
我不知道有任何这样的参考手册,浏览 source code 可能是你目前最好的选择。
关于这样一本手册的存在,我当然可能是错的,但事实是,关于 Z3 的 SMT-LIB 方言的问题经常通过 Z3 问题跟踪器(例如 #4549, #4536, #4460)提出,这表明有没有参考手册。开发人员的回复也没有暗示任何此类手册。
您可以在 http://smtlib.cs.uiowa.edu/
中阅读有关 SMTLib 的所有信息特别是,文档 http://smtlib.cs.uiowa.edu/papers/smt-lib-reference-v2.6-r2017-07-18.pdf 是所有 SMTLib 命令的“官方”文档。
对于逻辑,你想浏览:http://smtlib.cs.uiowa.edu/logics.shtml
现在,这个文档不是 Z3 特定的。但在很大程度上,它捕获了 Z3 支持的所有 SMT commands/logics,并且 Z3 是实现规范方面最“合规”的求解器之一。当然有一些差异:例如,规范从不讨论优化,而 Z3 确实支持优化,同样适用于集合操作和一些其他“附加功能”。正如 Malte 指出的那样,这些文档是可用的,但可能不容易浏览。我最喜欢的链接是:
https://ericpony.github.io/z3py-tutorial/guide-examples.htm(Python 具体,还有大量关于 Z3 功能的信息。)
在 Z3 中编程:https://theory.stanford.edu/~nikolaj/programmingz3.html 这是一份精彩的文档,详细介绍了 z3 的内部工作原理,并展示了它的大部分功能。同样,它使用 Python,但在大多数情况下,您可以或多或少地直接在 SMTLib 中找到相应的命令。
API 各种语言的文档:https://z3prover.github.io/api/html/index.html 最终您在编写 z3 程序时将需要这些;但您可以保留此作为“参考”,仅供以后使用。
如果您要查找的特定信息未包含在这些文档中,那么这就是该论坛的用途!祝你好运..