Z3:非线性算术和量词 - 结果错误?

时间:2018-05-28 14:49:59

标签: z3

这是一个产生" sat"的Z3查询。结果。 (我正在运行Z3 版本4.8.0,结果在rise4fun网站中是相同的 接口。)

(assert (forall ((x Real))
        (exists ((y Real))
                (and (<= 0.0 y) (<= y 1.0) (<= x (* y y))))))
(check-sat)

然而,这个公式应该是不可满足的!不是每一个实数 小于或等于0到1之间的数字的平方。

如果我在连词中重新排序公式,结果会改变:

(assert (forall ((x Real))
        (exists ((y Real))
                (and (<= x (* y y)) (<= 0.0 y) (<= y 1.0)))))
(check-sat)

然后我得到&#34;不满&#34;,这很好。

如果我打开校样生成,那么我会获得&#34; unknown&#34;,即... 声音最少。

(set-option :produce-proofs true)

(assert (forall ((x Real))
        (exists ((y Real))
                (and (<= 0.0 y) (<= y 1.0) (<= x (* y y))))))
(check-sat)

有人能告诉我发生了什么事吗?我忽视了什么 还是一个bug?

1 个答案:

答案 0 :(得分:1)

注意:这绝对是报告时的错误。它已被修复。