我试图在 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
甚至有可能在or中做到这一点SMT-LIB
?
或者我应该使用其他语言来做到这一点(也许给出建议是你的想法?)