我试图在SMT-LIB中执行此操作,在包含这些表达式的脚本上运行z3 -smt2 script.smt2
:
(set-logic AUFLIA)
(declare-fun a () Int)
(declare-fun b () Int)
(declare-fun c () Int)
(declare-fun d () Int)
(declare-fun e () Int)
(declare-fun f () Int)
(declare-fun x () Int)
(declare-fun c () Int)
(declare-fun addition (Int Int) Int)
(assert (= x c))
(assert (= c (addition a b)))
(assert (= f (addition d e)))
(check-sat)
我希望统一这些变量。例如,我希望能够通过分配x=f
,a=d
和b=e
来统一变量。
甚至可以在z3
或SMT-LIB
中执行此操作吗?
或者我应该使用其他语言来做这件事(也许给你推荐这是你的想法?)