z3 - 在 Z3 中跟踪 SAT 约束
问题描述
我有一些涉及 Bitvectors 的约束,我认为sat
即使 Z3 产生了 verdict 也应该如此unsat
。我设法将它们简化为一个小例子。
我尝试通过运行来跟踪求解器,z3 -tr:sat test.smt
但没有得到任何痕迹(它只是说unsat
)。任何想法为什么这不起作用,或者调试这种情况的替代方法?
解决方案
您可能想要标记您的约束,然后要求一个未饱和的核心。这将允许您查看发现哪些(希望是一小部分)约束有冲突并从那里进行调试。如果您发布您的示例,我们可以帮助将其设置为 unsat-core 生产。
推荐阅读
- android - 在 Jetpack 导航中,如何知道哪个动作触发了我的片段
- c - 如何在 C 中编写优化逻辑以减少循环?
- r - 将名称传递给函数是否有一致的指导?以 data.table 为例
- python - Matplotlib 试图通过基本方程画一个圆( x**2 + y**2 = 9)
- php - 在 PHP 中解析 Microsoft XML
- .net-core - 显示一对多数据模型的 ICollection 时,foreach 循环出错
- vb.net - 无法停止 com.docker.service
- python - 如何从其他列表中仅对 Python 字典中的一个键/值对进行排序?
- tcp - 如何在 TCP 连接上将数据限制为给定的数据速率
- x86-64 - 为什么虚拟地址是 48 位而不是 64 位?