def transform_Exists(self, node: Exists): var_refs, conds = unzip( map(extract_var_cond, map(self.transform, node.var_preds))) return ir.Exists(var_refs, conds, self.transform(node.pred))
def transform_Forall(self, node: Forall): var_refs, conds = unzip( map(extract_var_cond, map(self.transform, node.var_preds))) return ir.Complement( ir.Exists(var_refs, conds, ir.Complement(self.transform(node.pred))))