Z3(版本4.3)的问题:实际值的输出不是自动舍入的

时间:2014-01-05 15:33:51

标签: z3

请帮我解决这个问题,我尝试了各种方法,但没有成功。

在网站中:http://rise4fun.com/Z3

解决这个公式时:

(declare-const a Real)
(assert (= a (/ 5 2)))
(check-sat)
(get-model)

结果是

sat
(model 
  (define-fun a () Real
    (/ 5.0 2.0))
)

答案是(/ 5.0 2.0),这不是圆值。 (我需要2.5)

在旧版Z3(版本3.2)中,使用相同的上述公式:答案是 2.5 (这就是我需要的)

有没有人知道如何配置Z3(版本4.3)以获得与旧版本相同的答案?

感谢。

1 个答案:

答案 0 :(得分:2)

请使用以下代码

(declare-const a Real)
(assert (= a (/ 5 2)))
(check-sat)
(set-option :pp-decimal true)
(get-model)

,输出

sat 
(model 
  (define-fun a () Real 
  2.5) 
)