z3:打印一个很长的断言
z3: print a very long assertion
以下为例
trues = [True] * 1000
a = z3.And(trues)
所以a
是1000个True
的合取。请注意,这不是实际示例,因为 a
在逻辑上等同于 True
.
如果我们print(a)
,则不会显示完整的断言。相反,结果以 ...)
.
结尾
要打印完整的断言,我找到的一种解决方案是打印 a
的 s-expression。即print(a.sexpr())
。这样1000个True
就全部显示出来了
所以我的问题是:有没有更好的方法来打印像 a
这样的很长的断言?
当然可以。尝试:
import z3
z3.set_option(max_args=10000000, max_lines=1000000, max_depth=10000000, max_visited=1000000)
trues = [True] * 1000
a = z3.And(trues)
print(a)
您可以尝试 set_option
的数字以获得更适合您的用例的内容。
以下为例
trues = [True] * 1000
a = z3.And(trues)
所以a
是1000个True
的合取。请注意,这不是实际示例,因为 a
在逻辑上等同于 True
.
如果我们print(a)
,则不会显示完整的断言。相反,结果以 ...)
.
要打印完整的断言,我找到的一种解决方案是打印 a
的 s-expression。即print(a.sexpr())
。这样1000个True
就全部显示出来了
所以我的问题是:有没有更好的方法来打印像 a
这样的很长的断言?
当然可以。尝试:
import z3
z3.set_option(max_args=10000000, max_lines=1000000, max_depth=10000000, max_visited=1000000)
trues = [True] * 1000
a = z3.And(trues)
print(a)
您可以尝试 set_option
的数字以获得更适合您的用例的内容。