From c94ec6112db044ab8fac9141bdc52546136aa48d Mon Sep 17 00:00:00 2001 From: Dimos Tsouros Date: Mon, 18 Sep 2023 17:21:17 +0200 Subject: [PATCH] remove part from only_bv_implies --- cpmpy/transformations/reification.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/cpmpy/transformations/reification.py b/cpmpy/transformations/reification.py index 3cf0eabc9..eadb9c0e5 100644 --- a/cpmpy/transformations/reification.py +++ b/cpmpy/transformations/reification.py @@ -56,17 +56,13 @@ def only_bv_implies(constraints): AFTER `flatten()` """ newcons = [] + constraints = flatten_constraint(only_bv_reifies(constraints)) + for cpm_expr in constraints: # Operators: check BE -> BV if cpm_expr.name == '->': a0,a1 = cpm_expr.args - if not isinstance(a0, _BoolVarImpl) and \ - isinstance(a1, _BoolVarImpl): - # BE -> BV :: ~BV -> ~BE - newexpr = (~a1).implies(recurse_negation(a0)) - #newexpr = (~a1).implies(~a0) # XXX when push_down_neg is separate, negated_normal no longer needed separately - newcons.extend(only_bv_implies(flatten_constraint(newexpr))) - elif isinstance(a1, Comparison) and \ + if isinstance(a1, Comparison) and \ a1.name == '==' and a1.args[0].is_bool() and a1.args[1].is_bool(): # BV0 -> BV2 == BV3 :: BV0 -> (BV2->BV3 & BV3->BV2) # :: BV0 -> (BV2->BV3) & BV0 -> (BV3->BV2)