def _imply(js, i): iexpr = myinvs_exprs[i] # don't consider/remove equality if iexpr.decl().kind() == z3.Z3_OP_EQ: ret = False else: jexprs = [myinvs_exprs[j] for j in js] ret = Z3._imply(jexprs, iexpr, is_conj) # if ret: # print '{} => {}'.format(jexprs, iexpr) return ret
def f(mps): return [ mp for mp in mps if not Z3._imply(conj, mp.expr(use_reals)) ]