[ 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