通过z3 python api和直接从可执行文件调用smtlib2求解器时的输出差异?

时间:2016-03-10 09:07:04

标签: python z3 smt z3py

我正在使用z3 python api。当我使用z3 python api解决约束时,求解器无限运行并且不会抛出任何错误。但是,当相同的约束以smtlib2格式转储然后通过z3可执行文件解决时,它几乎立即给出sat或不满。 smtlib2转储非常大(大约1000行)。虽然对于少量约束,z3 api工作正常。 z3 python api中是否存在处理大量约束的错误?

1 个答案:

答案 0 :(得分:0)

例如,当两种方法之间的配置不同(甚至略微)时,或者当问题不完全相同时(例如,约束的不同顺序),这可能发生。一些策略也是非确定性的(例如,它们在预处理中使用定时器)并且可执行文件恰好更快/更慢。要诊断究竟是什么导致差异,我们需要查看您的一些问题,或者至少是一些诊断输出,例如,在命令行中添加-v:10并将全局“verbosity”选项设置为10. / p>