smtlib中的define-fun vs define-funs-rec

时间:2018-12-23 01:42:18

标签: z3 smt cvc4

看来define-funs-recdefine-fun根据SMTLIB standard可以做的事情的严格超集。如果是这样,除了语法简单之外,是否有理由不总是使用define-funs-rec

1 个答案:

答案 0 :(得分:0)

严格来说;没有。但是define-fun-rec是相当新的(而不是旧的define-fun),因此,如果您想要更大的可移植性并且不需要递归定义,则应该坚持使用define-fun

可以想象,define-fun-rec可能还会带来较重的机器,而除非您确实具有递归定义(例如,有充分根据的检查器),否则实际上并不需要该机器。这可能最终会花费一些性能周期。尽管我怀疑这会引起太多关注。