关注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
。
这可能有什么问题?
答案 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