如何在 Z3py 中检查表达式是否包含条件 (=>)

How to check in Z3py whether the expression contains a conditional (=>)

我正在使用 Z3py 遍历布尔公式。如何检查公式是否包含条件。我检查了 z3.py 源代码,它包含 is_and()is_or()is_not()、.. 但与 is_implies() 无关。任何想法 ?谢谢。

您可以使用函数"is_app_of"来确定表达式的内置函数。因此,

def is_and(a):
    return is_app_of(a, Z3_OP_AND)

已在 z3.py 文件中实现,并且类似地

def is_implies(a):
    return is_app_of(a, Z3_OP_IMPLIES)