【发布时间】:2013-06-18 11:58:38
【问题描述】:
我正在使用带有 Python-API 的 Z3。 我正在设置一组相当大的线性算术约束。
但是,push/pop 导致 check() 无限运行。
如果我不使用任何push/pop,一切正常。但是当我插入一个
s.push()
s.pop()
s.check() 之前的某处,然后s.check() 无限运行。
仅使用 push 而不使用 pop 可以正常工作。
是否有任何已知问题和解决方法? 我在 MacOS 10.7.5 上使用 Z3 [版本 4.3.1 - 64 位]。
非常感谢和问候, 克劳斯
【问题讨论】:
-
您能否提供一个指向显示所描述行为的rise4fun-example 的链接?
-
亲爱的 Malte,您可以在这里找到一个示例:rise4fun.com/Z3Py/UATh 使用给定的 NUM_A 和 NUM_B 值,当我不使用任何 push() 和 Pop() 时,它解决了问题,但它当我在第 23 行添加 push() 时出现超时。使用 NUM_B = 10 而不是 NUM_B = 3,这种效果要高得多。然后 Z3py 在适当的时间解决了问题,但它需要更长的时间。添加 push() 时无穷无尽。我不明白为什么运行时仅仅因为 push() 和 pop() 就如此不同!?谢谢,克劳斯 PS。是否可以在 python 脚本中定义超时?