## 5.5 Reflection

`reflect.min`

  > > `{FD.reflect.min` `*D1``` `?D2``}`

  returns the current lower bound of `D1`.

`reflect.max`

  > > `{FD.reflect.max` `*D1``` `?D2``}`

  returns the current upper bound of `D1`.

`reflect.mid`

  > > `{FD.reflect.mid` `*D1``` `?D2``}`

  returns the integer which is closest to the middle of the current domain (the arithmetical means of the lower and upper bound of `D1`). In case of ties, the smaller element is selected.

`reflect.nextLarger`

  > > `{FD.reflect.nextLarger` `*D1``` `+D2``` `?D3``}`

  returns the smallest integer in the domain of `D1` which is larger than `D2`.

`reflect.nextSmaller`

  > > `{FD.reflect.nextSmaller` `*D1``` `+D2``` `?D3``}`

  returns the largest integer in the domain of `D1` which is smaller than `D2`.

`reflect.size`

  > > `{FD.reflect.size` `*D1``` `?D2``}`

  returns the size of the current domain of `D1`.

`reflect.domList`

  > > `{FD.reflect.domList` `*D``` `?Ds``}`

  returns the current domain of `D` as an ordered list of integers.

`reflect.dom`

  > > `{FD.reflect.dom` `*D``` `?Spec``}`

  returns the current domain of `D` as a domain specification.

`reflect.nbSusps`

  > > `{FD.reflect.nbSusps` `*D``` `?I``}`

  returns the current number of suspensions on `D`.