[ library(ic) | The ECLiPSe Libraries | 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