操作 Z3 数据结构的方法?
Way to manipulate Z3 data structures?
我想将数学函数作为输入并通过算法更改值,然后再使用 z3 检查新的操纵公式是否可满足。我希望有一些我可以使用的树结构。我不想自己制作,因为我想使用现有的解析器将公式转换为 z3 格式。有这样的事吗?或者我可以操纵 SMT 2.0 公式吗?谢谢!
您可以通过 API 使用 Z3 的 AST。虽然 SMT2 格式相对简单,因此编写自己的解析器 and/or 序列化程序并不难(它非常接近 Lisp)。
我想将数学函数作为输入并通过算法更改值,然后再使用 z3 检查新的操纵公式是否可满足。我希望有一些我可以使用的树结构。我不想自己制作,因为我想使用现有的解析器将公式转换为 z3 格式。有这样的事吗?或者我可以操纵 SMT 2.0 公式吗?谢谢!
您可以通过 API 使用 Z3 的 AST。虽然 SMT2 格式相对简单,因此编写自己的解析器 and/or 序列化程序并不难(它非常接近 Lisp)。