def apply(self, *args): return to_NNF(self.lamda(*args), get_composite_predicates())
def apply(self, expr=None, is_Not=False): from sympy import isprime arg = self.args[0](expr) if callable(self.args[0]) else self.args[0] res = Equivalent(arg, isprime(expr)) return to_NNF(res, get_composite_predicates())
def apply(self, expr=None): if expr is None: return pred = to_NNF(self.pred, get_composite_predicates()) return self._eval_apply(expr, pred)
def apply(self, expr=None, is_Not=False): arg = self.args[0](expr) if callable(self.args[0]) else self.args[0] res = Equivalent(arg, evaluate_old_assump(arg)) return to_NNF(res, get_composite_predicates())
def to_CNF(cls, expr): from sympy.assumptions.facts import get_composite_predicates expr = to_NNF(expr, get_composite_predicates()) expr = distribute_AND_over_OR(expr) return expr