[ library(fd) | 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 of integers.
?Value
  A variable or an integer.

## Description

This constraints 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], t(1, 3, 6, 3), V :: [1, 3, 6], 4, 3)
       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], t(1, 3, 6, 3), V :: [1, 6], 2, 2)
       yes.

## See Also

:: / 2, #:: / 2, atmost / 3