From 066f7408192609df43ce6a90f5bf9bc4e33e666f Mon Sep 17 00:00:00 2001 From: Markus Triska Date: Thu, 3 Jun 2021 22:56:08 +0200 Subject: [PATCH] check for correct domain of integers in reifiable expressions also in the expanded code This is to preserve domain errors instead of failing silently. Example: ?- 5 #> 3 #<==> 2. %@ caught: error(domain_error(clpz_reifiable_expression,2),unknown(2)-1) --- src/lib/clpz.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/clpz.pl b/src/lib/clpz.pl index ee4174b3..6be3a110 100644 --- a/src/lib/clpz.pl +++ b/src/lib/clpz.pl @@ -2982,7 +2982,7 @@ clpz_expansion(A #<==> B, Reif) :- phrase(expr_conds(Y0, Y), Cs), list_goal(Cs0, Cond), Expr =.. [F,X,Y], - expansion_simpler(( Cond, ( var(B) ; integer(B) ) -> + expansion_simpler(( Cond, ( var(B) ; integer(B), clpz:between(0, 1, B) ) -> ( Expr -> B = 1 ; B = 0 -- 2.54.0