diff --git a/Src/COLIBRI/solve.pl b/Src/COLIBRI/solve.pl index 4f7302cf61a1c77fed389a09b0ad4f1fb49762ec..d032e51f110966eee1e616fb1dec9e15dd5df1bb 100644 --- a/Src/COLIBRI/solve.pl +++ b/Src/COLIBRI/solve.pl @@ -2129,13 +2129,13 @@ unfold_int_expr(EA #\= EB,D,Cstr,Type0,R) ?- unfold_int_expr(alldiff(Type,L),D,Cstr,Bool,R) :- ND is D + 1, Bool = bool, - (real_type(Type,_) -> + (real_type(Type,IType) -> Real = 1 ; true), (foreach(E,L), foreach(RE,NL), fromto(true,I,O,CL), - param(NType,Real,ND,R) do + param(Type,Real,ND,R) do (var(Real) -> unfold_int_expr(E,ND,CE,Type,RE) ; unfold_real_expr(E,ND,CE,Type,RE)), @@ -2144,8 +2144,8 @@ unfold_int_expr(alldiff(Type,L),D,Cstr,Bool,R) :- !, int_vars(bool,R), insert_dep_inst(dep(R,D,NL)), - (nonvar(Real) -> - IType = real + (nonvar(IType) -> + true ; ((Type = sort(_); Type == rnd; Type = array(_,_))