
ldsb_indomain(?X)

   Instantiates an LDSB integer variable to an
             element of its domain.

Arguments
   X                   Variable or integer

Type
   library(ldsb)

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
