Z3 如何将get model或get value output更改为打印小数而不是分数

Z3 如何将get model或get value output更改为打印小数而不是分数,z3,Z3,当使用SMTLIB2文件求解时,如果调用get model或get value,则所有内容都以分数形式打印。有没有一种简单的方法让Z3打印十进制值 例如,(获取值t)可能会输出((t(/1.0 2.0)),而我更喜欢类似((t 0.5)),请使用命令 (set-option :pp.decimal true) 请看下面的例子 (declare-const t Real) (assert (= t (/ 1.0 2.0))) (check-sat) (set-option :pp.decimal

当使用SMTLIB2文件求解时,如果调用get model或get value,则所有内容都以分数形式打印。有没有一种简单的方法让Z3打印十进制值


例如,
(获取值t)
可能会输出
((t(/1.0 2.0))
,而我更喜欢类似
((t 0.5))
,请使用命令

(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))

谢谢是否有这些选项的列表,我将来应该参考?