在z3的输入语言中使用define-fun

时间:2014-02-24 06:59:34

标签: z3

通过this帖子,define-fun似乎是一个宏,它被z3的预处理器扩展,实际解算器看不到,但使输入文件可能更紧凑,更易于阅读。我问,因为我看到在同一问题上令人满意的任务和表现有一些(显然是随机的)差异:一个使用define-fun而一个不使用,这让我想知道它是不仅仅是一个宏。在某些情况下,是否必须小心谨慎使用define-fun?我在一些QF_NIRA,QF_LIRA问题上观察到了这一点。

1 个答案:

答案 0 :(得分:0)

define-fun在Z3中被视为一个宏。 如果使用等式和未解释的函数,Z3的行为将会不同。 此外,如果你使用“declare-fun”然后创建量化的平等, 问题不再出现在QF_LIRA片段中。