我有一组符号变量:
int a, b, c, d, e;
一组未知函数,受许多公理约束:
f1(a, b) = f2(c, b)
f1(d, e) = f1(e, d)
f3(b, c, e) = f1(b, e)
c = f1(a, b)
b = d
这里的函数f1
, f2
,f3
是未知的,但是是固定的。所以它不是一个理论uninterpreted functions
。
我想证明以下断言的有效性:
c = f2(f1(a, b), b)
f3(d, f2(c, b), e) = f1(e, b)
使用基于上述公理等式的替换。
对于这样的定理,是否有一种理论只会使用提供的等式来尝试组合答案,而不是对函数进行解释?
如果是这样,该理论的名称是什么,什么 SMT 求解器支持它?
它可以与其他理论混合,比如线性算术吗?