[ library(ic) | Reference Manual | Alphabetic Index ]

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

Value is the Index'th element of the integer list List.
?Index
A variable or an integer.
++List
A non-empty list or array of integers.
?Value
A variable or an integer.

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