Пример #1
0
 def transform_Implies(self, node):
     new_a = self.transform(node.a)
     new_b = self.transform(node.b)
     return ir.Disjunction(ir.Complement(new_a), new_b)
Пример #2
0
 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))))
Пример #3
0
 def transform_Complement(self, node):
     return ir.Complement(self.transform(node.a))
Пример #4
0
 def transform_NotEquals(self, node):
     return ir.Complement(self.transform(Equals(node.a, node.b)))