python - z3/python 实数

标签 python z3

使用 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) 感到未知

我怀疑问题出在非线性项(* s0 s0)上,而Python接口(interface)在某种程度上并没有受到这个问题的影响。有没有办法在 smt-lib2 中编写相同的代码来获取模型?

最佳答案

尝试your example通过 Z3 Web 界面,我得到了 sat 的结果。

Z3 Web 界面和 Z3Py 基于 Z3 v4.0,因此我认为该问题在即将发布的版本中已得到解决。

关于python - z3/python 实数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9969616/

相关文章:

python - 如何自定义 virtualenv shell 提示符

z3 - Z3 中带有量词的函数

java - Z3 在与 Java 程序交互时死掉

z3 - 我可以在另一个 SMT 表达式中使用 SMT 程序的结果吗?

python - 将 Python 代码转换为 Django 框架

Pig 中的 Python UDF

斯卡拉^Z3 : Delete previous assertion

作为屏幕进程运行的 Python 脚本在 Ubuntu/AWS EC2 上获取 "Killed"

python - 维护一个整洁的命名空间