如何获取添加到求解器中任何约束的所有变量?

时间:2014-09-10 13:50:19

标签: z3 z3py

我正在使用Z3py并尝试获取Solver中任何约束中的所有变量的集合。我可以调用Solver.assertions()来获取ASTVector,然后循环遍历此向量并获取类型为BoolRef的对象,但是后来我被卡住了。我如何递归迭代断言,例如BoolRef实例,以获取各个变量?

1 个答案:

答案 0 :(得分:1)

感谢泰勒的回答。我认为第二个链接解决了这个问题。 更详细地说,Leo在上一个答案中添加的python脚本遍历AST,AstMap确保共享的子表达式只能走一次。