
element(?Index, ++List, ?Value)

   Value is the Index'th element of the integer list List.

Arguments
   ?Index              A variable or an integer.
   ++List              A non-empty list or array of integers.
   ?Value              A variable or an integer.

Type
   library(ic)

Description
This constraint can be used in a variety of programs to state a
   relation between two domain variables.  List is a list of integers and
   the constraint states that its Index'th element is equal to Value, i.e.


			     List_Index = Value

   Every time Index or Value is updated, this constraint is activated and
   the domain of the other variable is updated accordingly.



Fail Conditions
   Fails if Value is not the Index'th element of List.

Resatisfiable
   No.

Examples
   
   [eclipse 13]: element(I, [1,3,6,3], V).
   I = I{1 .. 4}
   V = V{[1, 3, 6]}
   Delayed goals:
   element(I{1 .. 4}, [1, 3, 6, 3], V{[1, 3, 6]})
   yes.
   [eclipse 14]: element(I, [1,3,6,3], V), V #\= 3.
   I = I{[1, 3]}
   V = V{[1, 6]}
   Delayed goals:
   element(I{[1, 3]}, [1, 3, 6, 3], V{[1, 6]})
   yes.


See Also
   :: / 2
