使用SMTLIB2文件解决时,如果我调用get-model或get-value,则所有内容都将打印为分数。是否有一种简单的方法可以让Z3打印小数值?
例如,(get-value t)
可能会输出((t (/ 1.0 2.0)))
,而我更喜欢((t 0.5))
之类的内容。
答案 0 :(得分:4)
请使用命令
(set-option :pp.decimal true)
请查看以下示例
(declare-const t Real)
(assert (= t (/ 1.0 2.0)))
(check-sat)
(set-option :pp.decimal true)
(get-model)
(get-value (t))
,相应的输出是
sat (model (define-fun t () Real 0.5) )
((t 0.5))