例如,以下查询超时:
(declare-const x Real)
(declare-const y Real)
(assert (is_int x))
(assert (is_int y))
(assert (not (is_int (+ x y))))
(check-sat)
据我所知,Z3的Real
是数学实数,而不是具有微妙语义的机器。在承认某些操作保留is_int
?
答案 0 :(得分:1)
Z3将其减少为解决混合整数线性问题,这是一个较弱的区域。在这种情况下,它最终产生无尽的分支和切割。