【发布时间】:2012-05-31 11:52:34
【问题描述】:
问题很简单。 我使用 C API 接口在 Z3 中断言以下语句。
(assert(>= (xA 1) (- (yB 0) period))))
现在,有时,我需要检查已输入的断言类型以及 SatSolver 中的结果。我通过使用 ast_to_string() API 生成一个文本文件来做到这一点。这个 API 将我上面的语句返回为 -
(assert(>= (xA 1) (+ (yB 0) (* -1 period))))
当我将此文件提供给 Sat Solver 时,它会向我抱怨错误 -
(错误“错误:第 150 行第 56 列:找不到 id -1。”)
那么,我必须手动修复代码中的所有 -1 并运行 sat 求解器。 有没有其他方法可以避免这种情况?
【问题讨论】:
-
SatSolver 是什么意思?为什么需要经过一个文本文件?不能只从 API 调用它吗?
标签: z3