当使用SMTLIB2文件进行求解时,如果我调用get-model或get-value,所有内容都会以分数形式打印。有没有一种简单的方法可以让Z3打印十进制值?
例如,(get-value t)
可能输出((t (/ 1.0 2.0)))
,而我更喜欢类似于((t 0.5))
的内容。
发布于 2014-07-10 07:35:28
请使用以下命令
(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))
https://stackoverflow.com/questions/24680561
复制相似问题