[ 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