看来define-funs-rec
是define-fun
根据SMTLIB standard可以做的事情的严格超集。如果是这样,除了语法简单之外,是否有理由不总是使用define-funs-rec
?
答案 0 :(得分:0)
严格来说;没有。但是define-fun-rec
是相当新的(而不是旧的define-fun
),因此,如果您想要更大的可移植性并且不需要递归定义,则应该坚持使用define-fun
。
可以想象,define-fun-rec
可能还会带来较重的机器,而除非您确实具有递归定义(例如,有充分根据的检查器),否则实际上并不需要该机器。这可能最终会花费一些性能周期。尽管我怀疑这会引起太多关注。