使用jsmtlib返回未知的不坐/不饱

时间:2012-09-21 17:49:01

标签: smt

关注this tutorial,我在本教程中尝试了第一个示例。

(set-option :print-success false)
(set-logic QF_UF)
(declare-fun p () Bool)
(assert (and p (not p)))
(check-sat)
(exit)

我执行了这个命令

java -jar jsmtlib.jar test1.smt

要像教程中那样unknown而不是unsat

这可能有什么问题?

2 个答案:

答案 0 :(得分:2)

我需要指定我使用的解算器。我选择yices作为服务器,使用java -jar jsmtlib.jar --solver yices --exec ./yices test1.smt,一切正常。

答案 1 :(得分:1)

我相信jsmtlib.jar是SMT求解器的某种包装器。 “未知”答案与Z3无关。您应该联系jsmtlib.jar作者了解此问题。

您是否尝试过直接使用Z3? 它为此脚本返回unsat。 您可以在线试用Z3: http://rise4fun.com/Z3/chyM

我们也有在线教程: http://rise4fun.com/Z3/tutorial/guide

您也可以在自己的机器中下载并安装Z3: http://research.microsoft.com/en-us/um/redmond/projects/z3/download.html