z3py:为什么重命名变量后检查时间变化这么大?

z3py:为什么重命名变量后检查时间变化这么大?,z3,smt,z3py,Z3,Smt,Z3py,我观察到,在我定义的变量名称中去掉“-”后,我用z3py编写的逻辑公式的检查时间发生了很大变化(从~60秒到~30秒,大约50%) 例如: 到 这是意料之中的事吗?如果是,原因是什么?可能是其中一个表单的名称冲突。在这种情况下,Z3引用同一常数两次,而不是抛出错误。因此,您正在求解一个不同的公式。可能是其中一种形式存在名称冲突。在这种情况下,Z3引用同一常数两次,而不是抛出错误。你在解一个不同的公式,这很有趣。谢谢听起来很有趣。你能提供一个例子(SMTLib或Z3Py)来说明这个问题吗?我可以试

我观察到,在我定义的变量名称中去掉“-”后,我用z3py编写的逻辑公式的检查时间发生了很大变化(从~60秒到~30秒,大约50%)

例如:


这是意料之中的事吗?如果是,原因是什么?

可能是其中一个表单的名称冲突。在这种情况下,Z3引用同一常数两次,而不是抛出错误。因此,您正在求解一个不同的公式。

可能是其中一种形式存在名称冲突。在这种情况下,Z3引用同一常数两次,而不是抛出错误。你在解一个不同的公式,这很有趣。谢谢听起来很有趣。你能提供一个例子(SMTLib或Z3Py)来说明这个问题吗?我可以试着综合一个。我想这张票解释了为什么@Zhongjun'Mark'Jin很好!非常感谢。
vec = IntVector('vec-1',10)
vec = IntVector('vec1',10)