z3 MaxSAT示例错误

时间:2012-09-27 04:09:40

标签: z3

我有兴趣使用z3(Microsoft Research)网站上提供的MaxSAT / MaxSMT c示例(特别是maxsat.c)。使用Visual Studio 2010,我最终得到了编译的示例(使用全新安装的z3 4.0)。但是,我无法使用它们运行任何我的(SMT 2.0)模型。此外,我无法在this问题中发布示例。

在第一种情况下,我的编译程序在尝试调用文件的Z3_get_smtlib_num_formulas中的get_hard_constraints时崩溃了。我不知道为什么,相反,我得到标准的Windows 7“这个程序已经停止工作”弹出窗口。

在第二种情况下,它会报告unsupported ;benchmark

为了帮助我完成这项工作,我想知道是否 (a)在编写此代码时是否有任何人遇到类似问题,如果是,您是如何解决这些问题的? 要么 (b)如何调试文件的编译(假设它是正确的)?也就是说,有人可以枚举正确的库(和库版本 - 例如,z3 4.0?)以包含在编译器选项中以使此示例有效吗?

在任何一种情况下,第二种情况下报告的错误信息也将受到赞赏:这究竟是什么意思?关键字无效? SMT输入是错误的版本?或其他什么?

感谢。

1 个答案:

答案 0 :(得分:1)

MaxSAT示例尚未更新为SMTLIB 2.0。它使用函数Z3_parse_smtlib_file来解析输入,这意味着它目前仅支持SMTLIB 1.0。

此示例与Z3一起分发,即您应该已收到Z3-4.0/examples/maxsat/中的副本,该副本还包含编译和执行脚本。

通过在Visual Studio命令提示符中运行build.cmd或在Linux上运行build.sh,编译应该是直截了当的。