【发布时间】:2014-06-11 22:10:23
【问题描述】:
我最初发布的问题如下虚线所示,但从那以后我有了一个更简单的例子:
(declare-fun f (Int) Int)
(assert (= (f 10) 1))
(check-sat)
(get-model)
按预期生成 f 的解释。但是,将常量更改为 10 以外的任何值,Z3 只是旋转箭头几次,然后什么也没打印!
--------------------------- 原始问题 ------ ----------------------
我在以下输入上尝试了 Z3,箭头转动了几次并停止,但 Z3 打印或什么也没说。为什么?
(declare-fun f (Int Int) Int)
(assert (>= (f 1 1) 1))
(assert (>= (f 1 2) 2))
(assert (>= (f 2 1) 2))
(assert (>= (f 2 2) 2))
(assert (= (f 1 1) 1))
(assert (= (f 2 2) 2))
(assert (or (= (f 1 2) 1) (= (f 1 2) 2)))
(assert (or (= (f 2 1) 1) (= (f 2 1) 2)))
(check-sat)
(get-model)
我觉得我错过了一些非常明显的东西..
【问题讨论】:
标签: z3