Hi, given the following simple program: :-lib(fd). :-lib(propia). con1(1,1,0). con1(1,2,0). con1(1,3,0). cons(X,Y,B) :- con1(X,Y,B) infers most. execute(X) :- X#::[1,2,3], cons(1,X) #\/ X#=1. I'd expect that the domain of X is reduced to the value 1 as the first term cons(1,X) can never be true. But i only get the answer ?- execute(X). No (0.00s cpu) I am wondering as (false \/ X=1 ) should imply that X has to be 1 to be true. Thanks in advance and best regards, PhilippReceived on Thu Apr 22 2010 - 13:19:26 CEST
This archive was generated by hypermail 2.3.0 : Wed Sep 25 2024 - 15:13:20 CEST