有没有办法在 SMTLIB 中表达 "if and only if"?

is there a way to express "if and only if" in SMTLIB?

和SMTLIB中的define一样吗?或者是我自己定义函数的唯一方法?如果 z3 有办法通过它的 python 绑定来做到这一点,那对我也有用。

在 SMTLib 中,iff 只是 = 布尔值:

(declare-fun a () Bool)
(declare-fun b () Bool)
(assert (= a b))

在z3py中,可以使用正则相等比较:

from z3 import *

a, b = Bools('a b')

s = Solver()
s.add(a == b)