【发布时间】:2016-08-08 22:43:37
【问题描述】:
我在过去一年左右一直在使用 Z3 4.0 版的 Ocaml API,主要是位向量理论。现在我需要在执行 Z3.solver_check 后提取 unsat 核心,不幸的是版本 4 没有这种能力。我可以进行重写以使用假设来代表公式中的每个位向量方程,然后得到 unsat 核心,但这是代码的关键部分,它可能会影响整体性能。
有没有一种方法可以在不经过版本 4 假设的情况下获得 unsat 核心?长期的解决方案当然是迁移到最新版本,但如果有一个破坏性较小的解决方案,那就太好了。例如,有没有办法从 unsat 的证明(由 Z3.solver_get_proof 返回)中提取 unsat core?
谢谢!
【问题讨论】:
标签: ocaml z3 proof smt bitvector