按照本教程,我尝试了本教程中的第一个示例。
(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
教程中那样。
这可能有什么问题?
我需要指定我使用什么求解器。我选择了yices作为服务器,使用yices java -jar jsmtlib.jar --solver yices --exec ./yices test1.smt
,一切正常。
我相信这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