python - Z3 Solver() 中约束的大小

标签 python z3 smt z3py

有没有办法让我们知道解算器中添加了多少约束?例如,我们初始化一个 z3 求解器 s = Solver(),然后使用 s.add() 添加约束。我们如何获得最终添加到求解器中的约束数量?

最佳答案

您可以使用断言方法:

from z3 import *

s = Solver()

i = Int('i')
s.add (i > 1)
s.add (i < 12)

print s.assertions()
print len(s.assertions())

打印:

[i > 1, i < 12]
2

关于python - Z3 Solver() 中约束的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54099202/

相关文章:

parsing - Z3 C++,如何解析smt-competition unsat核心实例

java - Z3 SMT 段错误

Z3 位向量操作

encoding - 哪些统计数据表明 Z3 的运行效率很高?

python - 数字系统转换器python

python - 为 Pandas 数据框的子集设置多个值

python - Pycharm:设置终端大小

支持正方形交集的几何定理证明器

math - 为什么 Z3 说这个方程是不可满足的,当我有正确的输入时?

python - 如何在python3中使用数组join()方法添加数字?