在Z3中,有没有办法生成未确定数量的假设来检查?

时间:2014-09-24 20:04:32

标签: python z3 z3py

我的Python程序使用Z3 Python API。它使用以下命令生成许多要由Z3检查的假设:

check(P1, P2,....Pn)

然后我使用命令获得不饱和核心:

unsat_core()

有没有办法在我的python程序中使用命令check(P1, P2,....Pn)而不事先知道断言的数量? 假设的数量是在代码运行期间定义的,并且每次运行都会更改。

提前致谢!

1 个答案:

答案 0 :(得分:1)

不确定。您可以将您的假设放入元组中,只需使用tuple unpacking

例如

my_assumptions = (P1, P2, ...Pn)
check(*my_assumptions)

根据程序的结构,您可能需要先创建/附加假设,然后将列表转换为元组