z3中的符号变量

时间:2012-06-27 10:16:31

标签: z3 solver smt

有没有办法让z3求解器发出“符号”解决方案?例如,对于等式:

1 + X = C

解决方案是x = c-1,但z3始终发出特定模型,如[c = 0, x = -1]。如何“定义”c作为符号变量?

1 个答案:

答案 0 :(得分:2)

不幸的是,Z3没有公开这种功能。虽然我们在内部使用求解器,但它们不会在API中公开。在将来的版本中,我们希望公开内部组件,例如:solver,Grobner基础程序等。在当前版本中,我们有一个名为solve-eqs的策略(参见http://rise4fun.com/Z3Py/tutorial/strategies)。它使用高斯消元的推广来消除变量。但是,这是一个预处理步骤,您无法控制哪些变量被消除。