:- use_module(library(clpBNR)).
integer
sets the interval to each value in the domain starting from the lower bound.?- X::integer(1,2), enumerate(X). X = 1 ; X = 2. ?- Is=[X,Y], Is::integer(1,2), enumerate(Is). Is = [1, 1], X = Y, Y = 1 ; Is = [1, 2], X = 1, Y = 2 ; Is = [2, 1], X = 2, Y = 1 ; Is = [2, 2], X = Y, Y = 2. ?- X::real, enumerate(X). X::real(-1.0e+16, 1.0e+16). ?- enumerate(sam). true. ?- B::boolean, enumerate([42,-1.0,B,Z]). B = 0 ; B = 1.