## 5.13 Assigning Values

Special support is available for assigning particular values to vectors of variables. Assignment interleaves the assignment of a value proper to a variable and synchronization until stability after each assignment.

The selection of variables and the selection of values is as with distribution Section 5.12.

`assign`

  > > `{FD.assign` `+ValA``` `+Xv``}`

  The vector `Xv` is assigned according to the specification `ValA`. `ValA` may be either the atom `min`, `mid`, or `max`. That is, the smallest, medium, or largest element is assigned to each variable.

  Is equivalent to (for a list of variables `Xs`):

  > `proc {FD.assign ValA Xs}
  > for X in Xs do
  > {Space.waitStable}
  > X = {FD.reflect.ValA X}
  > end
  > end`