[ library(ldsb) | Reference Manual | Alphabetic Index ]
ldsb_indomain(?X)
Instantiates an LDSB integer variable to an
element of its domain.
- X
- Variable or integer
Description
Simple predicate for instantiating an
integer LDSB variable to an element of its domain. It
starts with the smallest element, and upon backtracking
tries successive elements until the entire domain has
been explored, at which point the predicate fails.
If X is already a ground integer, then this predicate
simply succeeds exactly once without leaving a
choicepoint.
This predicate can be used with the search/6
predicate (see example).
Resatisfiable
yes
Examples
go :-
dim(Xs, [3]),
Xs #:: 1..5,
collection_to_list(Xs, L), sum(L) #= 10,
ldsb_initialise(Xs, [variables_interchange]),
( search(Xs, 0, input_order, ldsb_indomain, complete, []),
writeln(Xs),
fail
; true ).
See Also
ldsb_indomain_set / 1, ldsb_initialise / 2