以下两个声明/命令在SMT-LIB语言中是否在语义上相同?
(declare-fun a1 () (Array Index Element))
(declare-const a2 (Array Index Element))
对于Z3,适用于a1的断言也适用于a2(没有语法变化)。可能的一种方法是将a1(不带参数)的使用视为a1的应用。这是Z3(或使用SMT-LIB语言)的情况吗?
答案 0 :(得分:1)
目前 draft proposal for SMT-LIB v2.5,declare-const定义为:
(declare-const f σ) abbreviates the command (declare-fun f () σ)
其中f是函数名称,σ是排序符号。所以第二个是第一个宏。