使用z3 / python web界面,如果我问:
x = Real ('x')
solve(x * x == 2, show=True)
我很高兴:
Problem:
[x·x = 2]
Solution:
[x = -1.4142135623?]
我认为以下smt-lib2脚本具有相同的解决方案:
(set-option :produce-models true)
(declare-fun s0 () Real)
(assert (= 2.0 (* s0 s0)))
(check-sat)
唉,我用z3(v3.2)得到unknown
。
我怀疑问题出现在非线性术语(* s0 s0)
上,而python接口在某种程度上不会受到影响。有没有办法在smt-lib2中编写相同的代码来获取模型?