让我们假设我们有2个函数(funcA
和funcB
),它们在Z3的当前上下文中建立了一些约束。
我想保护Z3 if块中的那些。在z3py中,您将编写:
t = If(some_condition, funcA(), funcB())
这取决于funcA
和funcB
返回某些z3表达式的事实。如果我想将它们表示为构建一堆约束而不是返回表达式的函数调用,怎么办呢?
答案 0 :(得分:1)
我会将它们转换为(伪代码):
for c in funcA():
s.add(Implies(some_condition, c))
for c in funcB():
s.add(Implies(Not(some_condition), c))