### 2.1.3. Restrictions

When defining the arguments of a global constraint, it is often the case that one needs to express additional conditions that refine the type declarations of its arguments. For this purpose we provide restrictions that allow for specifying these additional conditions. Each restriction has a name and a set of arguments and is described by the following items:

• A small paragraph first describes the effect of the restriction,

• An example points to a constraint using the restriction,

• Finally, a ground instance, preceded by the symbol $โณ$, which satisfies the restriction is given. Similarly, a ground instance, preceded by the symbol $โธ$, which violates the restriction is proposed. In this latter case, a bold font may be used for pointing to the source of the problem.

Currently the list of restrictions is:

• $\mathrm{๐๐}_\mathrm{๐๐๐๐}\left(\mathrm{๐ฐ๐๐},\mathrm{๐ป๐๐๐๐ฐ๐๐๐๐}\right)$

• $\mathrm{๐ฐ๐๐}$ is an argument of type $\mathrm{๐๐๐๐}$,

• $\mathrm{๐ป๐๐๐๐ฐ๐๐๐๐}$ is a non -empty list of distinct atoms.

This restriction forces $\mathrm{๐ฐ๐๐}$ to be one of the atoms specified in the list $\mathrm{๐ป๐๐๐๐ฐ๐๐๐๐}$.

EXAMPLE: An example of use of such restriction can be found in the $\mathrm{๐๐๐๐๐๐}$$\left(\mathrm{๐ฝ๐ฒ๐ท๐ฐ๐ฝ๐ถ๐ด},\mathrm{๐ ๐ฐ๐๐ธ๐ฐ๐ฑ๐ป๐ด๐},\mathrm{๐ฒ๐๐}\right)$ constraint: forces the last argument $\mathrm{๐ฒ๐๐}$ of the $\mathrm{๐๐๐๐๐๐}$ constraint to take its value in the list of atoms .

$โณ$ $\mathrm{๐๐๐๐๐๐}$

$โธ$ $\mathrm{๐๐๐๐๐๐}$$\left(1,โฉ\mathrm{๐๐๐}-4,\mathrm{๐๐๐}-4,\mathrm{๐๐๐}-4,\mathrm{๐๐๐}-6โช,\mathbf{3}\right)$

• $\mathrm{๐๐}_\mathrm{๐๐๐๐}\left(\mathrm{๐ฐ๐๐},\mathrm{๐ฐ๐๐๐},\mathrm{๐ป๐๐๐๐ธ๐๐}\right)$

• $\mathrm{๐ฐ๐๐}$ is an argument of type $\mathrm{๐๐๐๐๐๐๐๐๐๐}$,

• $\mathrm{๐ฐ๐๐๐}$ is an attribute of type $\mathrm{๐๐๐}$ of the collection denoted by $\mathrm{๐ฐ๐๐}$,

• $\mathrm{๐ป๐๐๐๐ธ๐๐}$ is a non -empty list of integers.

This restriction enforces for all items of the collection $\mathrm{๐ฐ๐๐}$, the attribute $\mathrm{๐ฐ๐๐๐}$ to take its value within the list of integers $\mathrm{๐ป๐๐๐๐ธ๐๐}$.

• $\mathrm{๐๐}_\mathrm{๐๐๐๐}\left(\mathrm{๐ฐ๐๐}\mathtt{1},\mathrm{๐ฐ๐๐๐}\mathtt{1},\mathrm{๐ฐ๐๐}\mathtt{2},\mathrm{๐ฐ๐๐๐}\mathtt{2}\right)$

• $\mathrm{๐ฐ๐๐}\mathtt{1}$ is an argument of type $\mathrm{๐๐๐๐๐๐๐๐๐๐}$,

• $\mathrm{๐ฐ๐๐๐}\mathtt{1}$ is an attribute of type $\mathrm{๐๐๐๐}$ of the collection denoted by $\mathrm{๐ฐ๐๐}\mathtt{1}$,

• $\mathrm{๐ฐ๐๐}\mathtt{2}$ is an argument of type $\mathrm{๐๐๐๐๐๐๐๐๐๐}$,

• $\mathrm{๐ฐ๐๐๐}\mathtt{2}$ is an attribute of type $\mathrm{๐๐๐}$ of the collection denoted by $\mathrm{๐ฐ๐๐}\mathtt{2}$.

Let ${\mathrm{๐ฎ}}_{2}$ denote the set of values assigned to the $\mathrm{๐ฐ๐๐๐}\mathtt{2}$ attributes of the items of the collection $\mathrm{๐ฐ๐๐}\mathtt{2}$. This restriction enforces the following condition: for all items of the collection $\mathrm{๐ฐ๐๐}\mathtt{1}$, the attribute $\mathrm{๐ฐ๐๐๐}\mathtt{1}$ takes its value in the set ${\mathrm{๐ฎ}}_{2}$.

EXAMPLE: An example of use of such restriction can be found in the $\mathrm{๐๐๐๐๐๐๐๐๐๐๐}$$\left(\mathrm{๐๐ฐ๐๐บ๐},\mathrm{๐ผ๐ฐ๐ฒ๐ท๐ธ๐ฝ๐ด๐},\mathrm{๐ฒ๐๐}\right)$ constraint: $\mathrm{๐๐}_\mathrm{๐๐๐๐}\left(\mathrm{๐๐ฐ๐๐บ๐},$ $\mathrm{๐๐๐๐๐๐๐},$ $\mathrm{๐ผ๐ฐ๐ฒ๐ท๐ธ๐ฝ๐ด๐},$ $\mathrm{๐๐}\right)$ enforces that the $\mathrm{๐๐๐๐๐๐๐}$ attribute of each task of the $\mathrm{๐๐ฐ๐๐บ๐}$ collection correspond to a machine identifier (i.e.,ย an $\mathrm{๐๐}$ attribute of the $\mathrm{๐ผ๐ฐ๐ฒ๐ท๐ธ๐ฝ๐ด๐}$ collection).

$โณ$$\mathrm{๐๐๐๐๐๐๐๐๐๐๐}$$\left(โฉ$ $\mathrm{๐๐๐๐๐๐๐}-1\mathrm{๐๐๐๐๐๐}-2\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-4\mathrm{๐๐๐๐๐๐}-2,$

$\mathrm{๐๐๐๐๐๐๐}-1\mathrm{๐๐๐๐๐๐}-2\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-4\mathrm{๐๐๐๐๐๐}-2,$

$\mathrm{๐๐๐๐๐๐๐}-2\mathrm{๐๐๐๐๐๐}-1\mathrm{๐๐๐๐๐๐๐๐}-4\mathrm{๐๐๐}-5\mathrm{๐๐๐๐๐๐}-5,$

$\mathrm{๐๐๐๐๐๐๐}-1\mathrm{๐๐๐๐๐๐}-4\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-6\mathrm{๐๐๐๐๐๐}-1โช,$

$โฉ\mathrm{๐๐}-1\mathrm{๐๐๐๐๐๐๐๐ข}-9,\mathrm{๐๐}-2\mathrm{๐๐๐๐๐๐๐๐ข}-8โช,โค\right)$

$โธ$$\mathrm{๐๐๐๐๐๐๐๐๐๐๐}$$\left(โฉ$ $\mathrm{๐๐๐๐๐๐๐}-\mathbf{5}\mathrm{๐๐๐๐๐๐}-2\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-4\mathrm{๐๐๐๐๐๐}-2,$

$\mathrm{๐๐๐๐๐๐๐}-1\mathrm{๐๐๐๐๐๐}-2\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-4\mathrm{๐๐๐๐๐๐}-2,$

$\mathrm{๐๐๐๐๐๐๐}-2\mathrm{๐๐๐๐๐๐}-1\mathrm{๐๐๐๐๐๐๐๐}-4\mathrm{๐๐๐}-5\mathrm{๐๐๐๐๐๐}-5,$

$\mathrm{๐๐๐๐๐๐๐}-1\mathrm{๐๐๐๐๐๐}-4\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-6\mathrm{๐๐๐๐๐๐}-1โช,$

$โฉ\mathrm{๐๐}-\mathbf{1}\mathrm{๐๐๐๐๐๐๐๐ข}-9,\mathrm{๐๐}-\mathbf{2}\mathrm{๐๐๐๐๐๐๐๐ข}-8โช,โค\right)$

• $\mathrm{๐๐๐๐๐๐๐๐}\left(\mathrm{๐ฐ๐๐},\mathrm{๐ฐ๐๐๐๐}\right)$

• $\mathrm{๐ฐ๐๐}$ is an argument of type $\mathrm{๐๐๐๐๐๐๐๐๐๐}$,

• $\mathrm{๐ฐ๐๐๐๐}$ is an attribute of type $\mathrm{๐๐๐}$ or $\mathrm{๐๐๐๐}$, or a list (possibly empty) of distinct attributes of type $\mathrm{๐๐๐}$ or $\mathrm{๐๐๐๐}$ of the collection denoted by $\mathrm{๐ฐ๐๐}$.

For all pairs of distinct items of the collection $\mathrm{๐ฐ๐๐}$ this restriction enforces that there be at least one attribute specified by $\mathrm{๐ฐ๐๐๐๐}$ with two distinct values. When $\mathrm{๐ฐ๐๐๐๐}$ is the empty list all items of the collection $\mathrm{๐ฐ๐๐}$ should be distinct.

EXAMPLE: An example of use of such restriction can be found in the $\mathrm{๐๐ข๐๐๐}$$\left(\mathrm{๐ฝ๐ฒ๐๐ฒ๐ป๐ด},\mathrm{๐ฝ๐พ๐ณ๐ด๐}\right)$ constraint: $\mathrm{๐๐๐๐๐๐๐๐}\left(\mathrm{๐ฝ๐พ๐ณ๐ด๐},\mathrm{๐๐๐๐๐ก}\right)$ enforces that all $\mathrm{๐๐๐๐๐ก}$ attributes of the $\mathrm{๐ฝ๐พ๐ณ๐ด๐}$ collection take distinct values.

$โณ$$\mathrm{๐๐ข๐๐๐}$$\left(2,โฉ\mathrm{๐๐๐๐๐ก}-1\mathrm{๐๐๐๐}-2,\mathrm{๐๐๐๐๐ก}-2\mathrm{๐๐๐๐}-1,\mathrm{๐๐๐๐๐ก}-3\mathrm{๐๐๐๐}-3โช\right)$

$โธ$$\mathrm{๐๐ข๐๐๐}$$\left(2,โฉ\mathrm{๐๐๐๐๐ก}-\mathbf{1}\mathrm{๐๐๐๐}-2,\mathrm{๐๐๐๐๐ก}-\mathbf{1}\mathrm{๐๐๐๐}-1,\mathrm{๐๐๐๐๐ก}-3\mathrm{๐๐๐๐}-3โช\right)$

• $\mathrm{๐๐๐๐๐๐๐๐๐๐}_\mathrm{๐๐๐}\left(\mathrm{๐ฐ๐๐},\mathrm{๐ฐ๐๐๐๐}\right)$

• $\mathrm{๐ฐ๐๐}$ is an argument of type $\mathrm{๐๐๐๐๐๐๐๐๐๐}$,

• $\mathrm{๐ฐ๐๐๐๐}$ is an attribute of type $\mathrm{๐๐๐}$ or a list of distinct attributes of type $\mathrm{๐๐๐}$ of the collection denoted by $\mathrm{๐ฐ๐๐}$.

Let $n$ and $m$ respectively denote the number of items of the collection $\mathrm{๐ฐ๐๐}$, and the number of attributes of $\mathrm{๐ฐ๐๐๐๐}$. For the ${i}^{th}$ item of the collection $\mathrm{๐ฐ๐๐}$ let ${t}_{i}$ denote the tuple of values $โฉ{v}_{i,1},{v}_{i,2},...,{v}_{i,m}โช$ where ${v}_{i,j}$ is the value of the ${j}^{th}$ attribute of $\mathrm{๐ฐ๐๐๐๐}$ of the ${i}^{th}$ item of $\mathrm{๐ฐ๐๐}$. The restriction enforces a strict lexicographical ordering on the tuples ${t}_{1},{t}_{2},...,{t}_{n}$.

EXAMPLE: An example of use of such restriction can be found in the $\mathrm{๐๐๐๐๐๐๐}_\mathrm{๐๐๐๐๐๐ก}$$\left(\mathrm{๐ผ๐ฐ๐}_\mathrm{๐ธ},\mathrm{๐ผ๐ฐ๐}_\mathrm{๐น},\mathrm{๐ธ๐ฝ๐ณ๐ด๐}_\mathrm{๐ธ},\mathrm{๐ธ๐ฝ๐ณ๐ด๐}_\mathrm{๐น},\mathrm{๐ผ๐ฐ๐๐๐ธ๐},\mathrm{๐ ๐ฐ๐ป๐๐ด}\right)$ constraint:

$\mathrm{๐๐๐๐๐๐๐๐๐๐}_\mathrm{๐๐๐}\left(\mathrm{๐ผ๐ฐ๐๐๐ธ๐},\left[\mathrm{๐},\mathrm{๐}\right]\right)$ enforces that all items of the $\mathrm{๐ผ๐ฐ๐๐๐ธ๐}$ collection be sorted in strictly increasing lexicographic order on the pair $\left(\mathrm{๐},\mathrm{๐}\right)$.

$โณ$ $\mathrm{๐๐๐๐๐๐๐}_\mathrm{๐๐๐๐๐๐ก}$$\left(2,2,1,2,โฉ\mathrm{๐}-1\mathrm{๐}-1\mathrm{๐}-4,\mathrm{๐}-1\mathrm{๐}-2\mathrm{๐}-7,$

$\mathrm{๐}-2\mathrm{๐}-1\mathrm{๐}-1,\mathrm{๐}-2\mathrm{๐}-2\mathrm{๐}-1โช,7\right)$

$โธ$ $\mathrm{๐๐๐๐๐๐๐}_\mathrm{๐๐๐๐๐๐ก}$$\left(2,2,1,2,โฉ\mathrm{๐}-\mathbf{1}\mathrm{๐}-\mathbf{2}\mathrm{๐}-4,\mathrm{๐}-\mathbf{1}\mathrm{๐}-\mathbf{1}\mathrm{๐}-7,$

$\mathrm{๐}-2\mathrm{๐}-1\mathrm{๐}-1,\mathrm{๐}-2\mathrm{๐}-2\mathrm{๐}-1โช,7\right)$

• $\mathrm{๐๐๐}_\mathrm{๐๐๐๐๐๐๐๐๐๐}_\mathrm{๐๐๐ฃ๐}\left(\mathrm{๐ฐ๐๐},\mathrm{๐ฐ๐๐๐}\right)$

• $\mathrm{๐ฐ๐๐}$ is an argument of type $\mathrm{๐๐๐๐๐๐๐๐๐๐}$,

• $\mathrm{๐ฐ๐๐๐}$ is an attribute of the collection denoted by $\mathrm{๐ฐ๐๐}$. This attribute should be of type $\mathrm{๐๐๐๐๐๐๐๐๐๐}$.

This restriction enforces for each pair of consecutive items $\mathrm{๐ฐ๐๐}\left[i\right]$, $\mathrm{๐ฐ๐๐}\left[i+1\right]$ that the number of items of the collection $\mathrm{๐ฐ๐๐}\left[i\right].\mathrm{๐ฐ๐๐๐}$ is greater than or equal to the number of items of the collection $\mathrm{๐ฐ๐๐}\left[i+1\right].\mathrm{๐ฐ๐๐๐}$.

EXAMPLE: An example of use of such restriction can be found in the $\mathrm{๐}_\mathrm{๐๐๐๐}_\mathrm{๐๐ข}$$\left(\mathrm{๐๐ด๐๐}\right)$ constraint: $\mathrm{๐๐๐}_\mathrm{๐๐๐๐๐๐๐๐๐๐}_\mathrm{๐๐๐ฃ๐}\left(\mathrm{๐๐ด๐๐},\mathrm{๐๐๐}\right)$ enforces for all consecutive pairs of items $\mathrm{๐๐ด๐๐}\left[i\right]$, $\mathrm{๐๐ด๐๐}\left[i+1\right]$ that the number of items of the collection $\mathrm{๐๐ด๐๐}\left[i\right].\mathrm{๐๐๐}$ is not greater than or equal to the number of items of the collection $\mathrm{๐๐ด๐๐}\left[i+1\right].\mathrm{๐๐๐}$.

$โณ$$\mathrm{๐}_\mathrm{๐๐๐๐}_\mathrm{๐๐ข}$$\left(โฉ$ $\mathrm{๐๐๐}-โฉ\mathrm{๐๐๐}-5,\mathrm{๐๐๐}-1,\mathrm{๐๐๐}-1โช,$

$\mathrm{๐๐๐}-โฉ\mathrm{๐๐๐}-5,\mathrm{๐๐๐}-1,\mathrm{๐๐๐}-1โช,$

$\mathrm{๐๐๐}-โฉ\mathrm{๐๐๐}-5,\mathrm{๐๐๐}-1โชโช\right)$

$โธ$$\mathrm{๐}_\mathrm{๐๐๐๐}_\mathrm{๐๐ข}$$\left(โฉ$ $\mathrm{๐๐๐}-โฉ\mathrm{๐๐๐}-5,\mathrm{๐๐๐}-1,\mathrm{๐๐๐}-1โช,$

$\mathrm{๐๐๐}-โฉ\mathrm{๐๐๐}-5,\mathrm{๐๐๐}-1โช,$

$\mathrm{๐๐๐}-โฉ\mathrm{๐๐๐}-5,\mathrm{๐๐๐}-1,\mathrm{๐๐๐}-1โชโช\right)$

• $\mathrm{๐๐๐๐๐๐๐๐}\left(\mathrm{๐ฐ๐๐},\mathrm{๐ฐ๐๐๐๐}\right)$

• $\mathrm{๐ฐ๐๐}$ is an argument of type $\mathrm{๐๐๐๐๐๐๐๐๐๐}$,

• $\mathrm{๐ฐ๐๐๐๐}$ is an attribute or a list of distinct attributes of the collection denoted by $\mathrm{๐ฐ๐๐}$.

This restriction enforces that all attributes denoted by $\mathrm{๐ฐ๐๐๐๐}$ be explicitly used within all items of the collection $\mathrm{๐ฐ๐๐}$.

EXAMPLE: An example of use of such restriction can be found in the $\mathrm{๐๐๐๐๐๐๐๐๐๐}$$\left(\mathrm{๐๐ฐ๐๐บ๐},\mathrm{๐ป๐ธ๐ผ๐ธ๐}\right)$ constraint: $\mathrm{๐๐๐๐๐๐๐๐}\left(\mathrm{๐๐ฐ๐๐บ๐},\mathrm{๐๐๐๐๐๐}\right)$ enforces that all items of the $\mathrm{๐๐ฐ๐๐บ๐}$ collection mention the $\mathrm{๐๐๐๐๐๐}$ attribute.

$โณ$$\mathrm{๐๐๐๐๐๐๐๐๐๐}$$\left(โฉ$ $\mathrm{๐๐๐๐๐๐}-2\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-4\mathrm{๐๐๐๐๐๐}-2,$

$\mathrm{๐๐๐๐๐๐}-2\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-4\mathrm{๐๐๐๐๐๐}-2,$

$\mathrm{๐๐๐๐๐๐}-1\mathrm{๐๐๐๐๐๐๐๐}-4\mathrm{๐๐๐}-5\mathrm{๐๐๐๐๐๐}-5,$

$\mathrm{๐๐๐๐๐๐}-4\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-6\mathrm{๐๐๐๐๐๐}-1โช,12\right)$

$โธ$$\mathrm{๐๐๐๐๐๐๐๐๐๐}$$\left(โฉ$

$\mathrm{๐๐๐๐๐๐}-2\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-4\mathrm{๐๐๐๐๐๐}-2,$

$\mathrm{๐๐๐๐๐๐}-1\mathrm{๐๐๐๐๐๐๐๐}-4\mathrm{๐๐๐}-5\mathrm{๐๐๐๐๐๐}-5,$

$\mathrm{๐๐๐๐๐๐}-4\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-6\mathrm{๐๐๐๐๐๐}-1โช,12\right)$

The $\mathrm{๐๐๐๐๐๐๐๐}$ restriction is usually systematically used for every attribute of a collection. It is not used when some attributes may be implicitly defined according to other attributes. In this context, we use the $\mathrm{๐๐๐๐๐๐๐}_\mathrm{๐๐}_\mathrm{๐๐๐๐๐}$ restriction, which we now introduce.

• $\mathrm{๐๐๐๐๐๐๐}_\mathrm{๐๐}_\mathrm{๐๐๐๐๐}\left(\mathrm{๐ฐ๐๐๐๐๐๐},\mathrm{๐ฐ๐๐},\mathrm{๐ฐ๐๐๐๐}\right)$

• $\mathrm{๐ฐ๐๐๐๐๐๐}$ is a positive integer,

• $\mathrm{๐ฐ๐๐}$ is an argument of type $\mathrm{๐๐๐๐๐๐๐๐๐๐}$,

• $\mathrm{๐ฐ๐๐๐๐}$ is a non -empty list of distinct attributes of the collection denoted by $\mathrm{๐ฐ๐๐}$. The length of this list should be strictly greater than $\mathrm{๐ฐ๐๐๐๐๐๐}$.

This restriction enforces that at least $\mathrm{๐ฐ๐๐๐๐๐๐}$ attributes of the list $\mathrm{๐ฐ๐๐๐๐}$ be explicitly used within all items of the collection $\mathrm{๐ฐ๐๐}$.

EXAMPLE: An example of use of such restriction can be found in the $\mathrm{๐๐๐๐๐๐๐๐๐๐}$$\left(\mathrm{๐๐ฐ๐๐บ๐},\mathrm{๐ป๐ธ๐ผ๐ธ๐}\right)$ constraint:

$\mathrm{๐๐๐๐๐๐๐}_\mathrm{๐๐}_\mathrm{๐๐๐๐๐}\left(2,\mathrm{๐๐ฐ๐๐บ๐},\left[\mathrm{๐๐๐๐๐๐},\mathrm{๐๐๐๐๐๐๐๐},\mathrm{๐๐๐}\right]\right)$ enforces that all items of the $\mathrm{๐๐ฐ๐๐บ๐}$ collection mention at least two attributes from the list of attributes $\left[\mathrm{๐๐๐๐๐๐},\mathrm{๐๐๐๐๐๐๐๐},\mathrm{๐๐๐}\right]$. In this context, this stems from the fact that we have the equality $\mathrm{๐๐๐๐๐๐}+\mathrm{๐๐๐๐๐๐๐๐}=\mathrm{๐๐๐}$. This allows for retrieving the third attribute from the values of the two others.

$โณ$$\mathrm{๐๐๐๐๐๐๐๐๐๐}$$\left(โฉ$ $\mathrm{๐๐๐๐๐๐}-2\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐๐๐๐}-2,$

$\mathrm{๐๐๐๐๐๐}-2\mathrm{๐๐๐}-4\mathrm{๐๐๐๐๐๐}-2,$

$\mathrm{๐๐๐๐๐๐๐๐}-4\mathrm{๐๐๐}-5\mathrm{๐๐๐๐๐๐}-5,$

$\mathrm{๐๐๐๐๐๐}-4\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-6\mathrm{๐๐๐๐๐๐}-1โช,12\right)$

$โธ$$\mathrm{๐๐๐๐๐๐๐๐๐๐}$$\left(โฉ$

$\mathrm{๐๐๐๐๐๐}-2\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-4\mathrm{๐๐๐๐๐๐}-2,$

$\mathrm{๐๐๐๐๐๐}-1\mathrm{๐๐๐๐๐๐๐๐}-4\mathrm{๐๐๐}-5\mathrm{๐๐๐๐๐๐}-5,$

$\mathrm{๐๐๐๐๐๐}-4\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-6\mathrm{๐๐๐๐๐๐}-1โช,12\right)$

• $\mathrm{๐๐๐๐}_\mathrm{๐๐๐ฃ๐}\left(\mathrm{๐ฐ๐๐},\mathrm{๐ฐ๐๐๐}\right)$

• $\mathrm{๐ฐ๐๐}$ is an argument of type $\mathrm{๐๐๐๐๐๐๐๐๐๐}$,

• $\mathrm{๐ฐ๐๐๐}$ is an attribute of the collection denoted by $\mathrm{๐ฐ๐๐}$. This attribute should be of type $\mathrm{๐๐๐๐๐๐๐๐๐๐}$.

This restriction enforces that all collections denoted by $\mathrm{๐ฐ๐๐๐}$ have the same number of items.

EXAMPLE: An example of use of such restriction can be found in the $\mathrm{๐๐๐๐๐}$$\left(\mathrm{๐พ๐๐๐ท๐พ๐๐พ๐ฟ๐ด๐}\right)$ constraint$\mathrm{๐พ๐๐๐ท๐พ๐๐พ๐ฟ๐ด๐}$ corresponds to the third item of the example presented at page 2.1.2.: $\mathrm{๐๐๐๐}_\mathrm{๐๐๐ฃ๐}\left(\mathrm{๐พ๐๐๐ท๐พ๐๐พ๐ฟ๐ด๐},\mathrm{๐๐๐๐}\right)$ forces all the items of the $\mathrm{๐พ๐๐๐ท๐พ๐๐พ๐ฟ๐ด๐}$ collection to be constituted from the same number of items (of type $\mathrm{๐พ๐๐๐ท๐พ๐๐พ๐ฟ๐ด}$). From a practical point of view, this forces the $\mathrm{๐๐๐๐๐}$ constraint to take as its argument a set of points, a set of rectangles, ... , a set of orthotopes.

$โณ$$\mathrm{๐๐๐๐๐}$$\left(โฉ$ $\mathrm{๐๐๐๐}-โฉ\mathrm{๐๐๐}-2\mathrm{๐๐๐ฃ}-2\mathrm{๐๐๐}-4,\mathrm{๐๐๐}-1\mathrm{๐๐๐ฃ}-3\mathrm{๐๐๐}-4โช,$

$\mathrm{๐๐๐๐}-โฉ\mathrm{๐๐๐}-4\mathrm{๐๐๐ฃ}-4\mathrm{๐๐๐}-8,\mathrm{๐๐๐}-3\mathrm{๐๐๐ฃ}-3\mathrm{๐๐๐}-3โช,$

$\mathrm{๐๐๐๐}-โฉ\mathrm{๐๐๐}-9\mathrm{๐๐๐ฃ}-2\mathrm{๐๐๐}-11,\mathrm{๐๐๐}-4\mathrm{๐๐๐ฃ}-3\mathrm{๐๐๐}-7โชโช\right)$

$โธ$$\mathrm{๐๐๐๐๐}$$\left(โฉ$ $\mathrm{๐๐๐๐}-โฉ\mathrm{๐๐๐}-2\mathrm{๐๐๐ฃ}-2\mathrm{๐๐๐}-4โช,$

$\mathrm{๐๐๐๐}-โฉ\mathrm{๐๐๐}-4\mathrm{๐๐๐ฃ}-4\mathrm{๐๐๐}-8,\mathrm{๐๐๐}-3\mathrm{๐๐๐ฃ}-3\mathrm{๐๐๐}-3โช,$

$\mathrm{๐๐๐๐}-โฉ\mathrm{๐๐๐}-9\mathrm{๐๐๐ฃ}-2\mathrm{๐๐๐}-11,\mathrm{๐๐๐}-4\mathrm{๐๐๐ฃ}-3\mathrm{๐๐๐}-7โชโช\right)$

• ${\mathrm{๐๐๐๐}}_{1}\mathrm{๐ฒ๐๐๐๐๐๐๐๐๐}{\mathrm{๐๐๐๐}}_{2}$
• ${\mathrm{๐๐๐๐}}_{1}$ is a term. A term is an expression that can be evaluated to one or possibly several integer values. The expressions we allow for a term are defined in the next paragraph.

• $\mathrm{๐ฒ๐๐๐๐๐๐๐๐๐}$ is one of the following comparison operators $โค$, $โฅ$, $<$, $>$, $=$, .

• ${\mathrm{๐๐๐๐}}_{2}$ is a term.

Let ${v}_{1,1},{v}_{1,2},...,{v}_{1,{n}_{1}}$ and ${v}_{2,1},{v}_{2,2},...,{v}_{2,{n}_{2}}$ be the values respectively associated with ${\mathrm{๐๐๐๐}}_{1}$ and with ${\mathrm{๐๐๐๐}}_{2}$. The restriction ${\mathrm{๐๐๐๐}}_{1}\mathrm{๐ฒ๐๐๐๐๐๐๐๐๐}{\mathrm{๐๐๐๐}}_{2}$ forces ${v}_{1,i}\mathrm{๐ฒ๐๐๐๐๐๐๐๐๐}{v}_{2,j}$ to hold for every $iโ\left[1,{n}_{1}\right]$ and every $jโ\left[1,{n}_{2}\right]$.

A term is one of the following expressions:

• $e$, where $e$ is an integer. The corresponding value is $e$.

• $|c|$, where $c$ is an argument of type $\mathrm{๐๐๐๐๐๐๐๐๐๐}$. The value of $|c|$ is the number of items of the collection denoted by $c$.

EXAMPLE: This kind of expression is for instance used in the restrictions of the $\mathrm{๐๐๐๐๐๐๐}$$\left(\mathrm{๐ฝ},\mathrm{๐ ๐ฐ๐๐ธ๐ฐ๐ฑ๐ป๐ด๐},\mathrm{๐ ๐ฐ๐ป๐๐ด}\right)$ constraint: $\mathrm{๐ฝ}โค|\mathrm{๐ ๐ฐ๐๐ธ๐ฐ๐ฑ๐ป๐ด๐}|$ restricts $\mathrm{๐ฝ}$ to be less than or equal to the number of items of the $\mathrm{๐ ๐ฐ๐๐ธ๐ฐ๐ฑ๐ป๐ด๐}$ collection.

$โณ$$\mathrm{๐๐๐๐๐๐๐}$$\left(2,โฉ\mathrm{๐๐๐}-5,\mathrm{๐๐๐}-8,\mathrm{๐๐๐}-5โช,5\right)$

$โธ$$\mathrm{๐๐๐๐๐๐๐}$$\left(\mathbf{4},โฉ\mathrm{๐๐๐}-5,\mathrm{๐๐๐}-8,\mathrm{๐๐๐}-5โช,5\right)$

• $\mathrm{๐๐๐}\left(c.a\right)$, $\mathrm{๐๐๐}\left(c.a\right)$ denotes the sum of the values assigned to the attribute $a$ of the collection denoted by $c$.

• $\mathrm{๐๐๐๐๐}\left(c.a\right)$, $\mathrm{๐๐๐๐๐}\left(c.a\right)$ denotes the difference between the maximum value and the minimum value plus one of the values assigned to the attribute $a$ of the collection denoted by $c$.

• $\mathrm{๐๐๐ก๐๐๐}\left(c.a\right)$, $\mathrm{๐๐๐ก๐๐๐}\left(c.a\right)$ denotes the maximum over the values assigned to the attribute $a$ of the collection denoted by $c$.

• $\mathrm{๐๐๐๐}\left(c.a\right)$, $\mathrm{๐๐๐๐}\left(c.a\right)$ denotes the number of distinct values over the values assigned to the attribute $a$ of the collection denoted by $c$.

• $\mathrm{๐๐๐๐}\left(c.a\right)$, $\mathrm{๐๐๐๐}\left(c.a\right)$ denotes the product of the values assigned to the attribute $a$ of the collection denoted by $c$.

• $t$, where $t$ is an argument of type $\mathrm{๐๐๐}$. The value of $t$ is the value of the corresponding argument.

EXAMPLE: This kind of expression is for instance used in the restrictions of the $\mathrm{๐๐๐๐๐๐๐}$$\left(\mathrm{๐ฝ},\mathrm{๐ ๐ฐ๐๐ธ๐ฐ๐ฑ๐ป๐ด๐},\mathrm{๐ ๐ฐ๐ป๐๐ด}\right)$ constraint: $\mathrm{๐ฝ}โฅ0$ forces the first argument of the $\mathrm{๐๐๐๐๐๐๐}$ constraint to be greater than or equal to 0.

$โณ$$\mathrm{๐๐๐๐๐๐๐}$$\left(2,โฉ\mathrm{๐๐๐}-5,\mathrm{๐๐๐}-8,\mathrm{๐๐๐}-5โช,5\right)$

$โธ$$\mathrm{๐๐๐๐๐๐๐}$$\left(-\mathbf{1},โฉ\mathrm{๐๐๐}-5,\mathrm{๐๐๐}-8,\mathrm{๐๐๐}-5โช,5\right)$

• $v$, where $v$ is an argument of type $\mathrm{๐๐๐๐}$. The value of $v$ will be the value assigned to variable $v$.This stems from the fact that restrictions are defined on the ground instance of a global constraint.

EXAMPLE: This kind of expression is for instance used in the restrictions of the $\mathrm{๐๐๐๐๐}$$\left(\mathrm{๐ฝ๐ ๐ฐ๐},\mathrm{๐ ๐ฐ๐๐ธ๐ฐ๐ฑ๐ป๐ด๐},\mathrm{๐ ๐ฐ๐ป๐๐ด๐}\right)$ constraint: $\mathrm{๐ฝ๐ ๐ฐ๐}โฅ0$ forces the first argument of the $\mathrm{๐๐๐๐๐}$ constraint to be greater than or equal to 0.

$โณ$$\mathrm{๐๐๐๐๐}$$\left(2,โฉ\mathrm{๐๐๐}-5,\mathrm{๐๐๐}-8,\mathrm{๐๐๐}-5โช,โฉ\mathrm{๐๐๐}-1,\mathrm{๐๐๐}-5โช\right)$

$โธ$$\mathrm{๐๐๐๐๐}$$\left(-\mathbf{9},โฉ\mathrm{๐๐๐}-5,\mathrm{๐๐๐}-8,\mathrm{๐๐๐}-5โช,โฉ\mathrm{๐๐๐}-1,\mathrm{๐๐๐}-5โช\right)$

• $s$, where $s$ is an argument of type $\mathrm{๐๐๐๐}$ or $\mathrm{๐๐๐๐}$. The values denoted by $s$ are all the values of the corresponding set.

EXAMPLE: This kind of expression is for instance used in the restrictions of the $\mathrm{๐๐๐๐}_\mathrm{๐๐๐๐๐๐๐๐๐๐๐๐}$$\left(\mathrm{๐},\mathrm{๐ ๐ฐ๐๐ธ๐ฐ๐ฑ๐ป๐ด๐}\right)$ constraint: $\mathrm{๐}โฅ1$ forces all elements of the set corresponding to the first argument of the $\mathrm{๐๐๐๐}_\mathrm{๐๐๐๐๐๐๐๐๐๐๐๐}$ constraint to be greater than or equal to 1.

$โณ$$\mathrm{๐๐๐๐}_\mathrm{๐๐๐๐๐๐๐๐๐๐๐๐}$$\left(\left\{1,2,3\right\},โฉ\mathrm{๐๐๐}-5,\mathrm{๐๐๐}-8,\mathrm{๐๐๐}-3,\mathrm{๐๐๐}-8,\mathrm{๐๐๐}-9โช\right)$

$โธ$$\mathrm{๐๐๐๐}_\mathrm{๐๐๐๐๐๐๐๐๐๐๐๐}$$\left(\left\{\mathbf{0},1,2,3\right\},โฉ\mathrm{๐๐๐}-5,\mathrm{๐๐๐}-8,\mathrm{๐๐๐}-3,\mathrm{๐๐๐}-8,\mathrm{๐๐๐}-9โช\right)$

• $c.a$, where $c$ is an argument of type $\mathrm{๐๐๐๐๐๐๐๐๐๐}$ and $a$ an attribute of $c$ of type $\mathrm{๐๐๐}$ or $\mathrm{๐๐๐๐}$. The values denoted by $c.a$ are all the values corresponding to attribute $a$ for the different items of $c$. When $c.a$ designates a domain variable we consider the value assigned to that variable.

EXAMPLE: This kind of expression is for instance used in the restrictions of the $\mathrm{๐๐๐๐๐๐๐๐๐๐}$$\left(\mathrm{๐๐ฐ๐๐บ๐},\mathrm{๐ป๐ธ๐ผ๐ธ๐}\right)$ constraint: $\mathrm{๐๐ฐ๐๐บ๐}.\mathrm{๐๐๐๐๐๐๐๐}โฅ0$ enforces for all items of the $\mathrm{๐๐ฐ๐๐บ๐}$ collection that the $\mathrm{๐๐๐๐๐๐๐๐}$ attribute be greater than or equal to 0.

$โณ$$\mathrm{๐๐๐๐๐๐๐๐๐๐}$$\left(โฉ$ $\mathrm{๐๐๐๐๐๐}-2\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-4\mathrm{๐๐๐๐๐๐}-2,$

$\mathrm{๐๐๐๐๐๐}-2\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-4\mathrm{๐๐๐๐๐๐}-2,$

$\mathrm{๐๐๐๐๐๐}-1\mathrm{๐๐๐๐๐๐๐๐}-4\mathrm{๐๐๐}-5\mathrm{๐๐๐๐๐๐}-5,$

$\mathrm{๐๐๐๐๐๐}-4\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-6\mathrm{๐๐๐๐๐๐}-1โช,12\right)$

$โธ$$\mathrm{๐๐๐๐๐๐๐๐๐๐}$$\left(โฉ$ $\mathrm{๐๐๐๐๐๐}-2\mathrm{๐๐๐๐๐๐๐๐}--\mathbf{2}\mathrm{๐๐๐}-4\mathrm{๐๐๐๐๐๐}-2,$

$\mathrm{๐๐๐๐๐๐}-2\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-4\mathrm{๐๐๐๐๐๐}-2,$

$\mathrm{๐๐๐๐๐๐}-1\mathrm{๐๐๐๐๐๐๐๐}-4\mathrm{๐๐๐}-5\mathrm{๐๐๐๐๐๐}-5,$

$\mathrm{๐๐๐๐๐๐}-4\mathrm{๐๐๐๐๐๐๐๐}-2\mathrm{๐๐๐}-6\mathrm{๐๐๐๐๐๐}-1โช,12\right)$

• $c.a$, where $c$ is an argument of type $\mathrm{๐๐๐๐๐๐๐๐๐๐}$ and $a$ an attribute of $c$ of type $\mathrm{๐๐๐๐}$ or $\mathrm{๐๐๐๐}$. The values denoted by $c.a$ are all the values belonging to the sets corresponding to attribute $a$ for the different items of $c$. When $c.a$ designates a set variable we consider the values that finally belong to that set.

EXAMPLE: This kind of expression is for instance used in the restrictions of the $\mathrm{๐๐๐๐๐๐๐}_\mathrm{๐๐๐}$$\left(\mathrm{๐},\mathrm{๐}\right)$ constraint: $\mathrm{๐}.\mathrm{๐ก}โฅ1$ enforces for all items of the $\mathrm{๐}$ collection that all the potential elements of the set variable associated with the $\mathrm{๐ก}$ attribute be greater than or equal to 1.

$โณ$$\mathrm{๐๐๐๐๐๐๐}_\mathrm{๐๐๐}$$\left(โฉ$ $\mathrm{๐๐๐๐๐ก}-1\mathrm{๐ก}-\left\{2,4\right\},$

$\mathrm{๐๐๐๐๐ก}-2\mathrm{๐ก}-\left\{4\right\},$

$\mathrm{๐๐๐๐๐ก}-3\mathrm{๐ก}-\left\{1\right\},$

$\mathrm{๐๐๐๐๐ก}-4\mathrm{๐ก}-\left\{4\right\}โช,$

$โฉ$ $\mathrm{๐๐๐๐๐ก}-1\mathrm{๐ข}-\left\{3\right\},$

$\mathrm{๐๐๐๐๐ก}-2\mathrm{๐ข}-\left\{1\right\},$

$\mathrm{๐๐๐๐๐ก}-3\mathrm{๐ข}-\left\{\right\},$

$\mathrm{๐๐๐๐๐ก}-4\mathrm{๐ข}-\left\{1,2,4\right\},$

$\mathrm{๐๐๐๐๐ก}-5\mathrm{๐ข}-\left\{\right\}โช\right)$

$โธ$$\mathrm{๐๐๐๐๐๐๐}_\mathrm{๐๐๐}$$\left(โฉ$ $\mathrm{๐๐๐๐๐ก}-1\mathrm{๐ก}-\left\{\mathbf{0},2,4\right\},$

$\mathrm{๐๐๐๐๐ก}-2\mathrm{๐ก}-\left\{4\right\},$

$\mathrm{๐๐๐๐๐ก}-3\mathrm{๐ก}-\left\{1\right\},$

$\mathrm{๐๐๐๐๐ก}-4\mathrm{๐ก}-\left\{4\right\}โช,$

$โฉ$ $\mathrm{๐๐๐๐๐ก}-1\mathrm{๐ข}-\left\{3\right\},$

$\mathrm{๐๐๐๐๐ก}-2\mathrm{๐ข}-\left\{1\right\},$

$\mathrm{๐๐๐๐๐ก}-3\mathrm{๐ข}-\left\{\right\},$

$\mathrm{๐๐๐๐๐ก}-4\mathrm{๐ข}-\left\{1,2,4\right\},$

$\mathrm{๐๐๐๐๐ก}-5\mathrm{๐ข}-\left\{\right\}โช\right)$

• $min\left({t}_{1},{t}_{2}\right)$ or $max\left({t}_{1},{t}_{2}\right)$, where ${t}_{1}$ and ${t}_{2}$ are terms. Let ${\mathrm{๐ฑ}}_{1}$ and ${\mathrm{๐ฑ}}_{2}$ denote the sets of values respectively associated with the terms ${t}_{1}$ and ${t}_{2}$. Let $min\left({\mathrm{๐ฑ}}_{1}\right)$, $max\left({\mathrm{๐ฑ}}_{1}\right)$ and $min\left({\mathrm{๐ฑ}}_{2}\right)$, $max\left({\mathrm{๐ฑ}}_{2}\right)$ denote the minimum and maximum values of ${\mathrm{๐ฑ}}_{1}$ and ${\mathrm{๐ฑ}}_{2}$. The value associated with $min\left({t}_{1},{t}_{2}\right)$ is $min\left(min\left({\mathrm{๐ฑ}}_{1}\right),min\left({\mathrm{๐ฑ}}_{2}\right)\right)$, while the value associated with $max\left({t}_{1},{t}_{2}\right)$ is $max\left(max\left({\mathrm{๐ฑ}}_{1}\right),max\left({\mathrm{๐ฑ}}_{2}\right)\right)$.

EXAMPLE: This kind of expression is for instance used in the restrictions of the $\mathrm{๐๐๐๐๐๐๐๐๐}$$\left(\mathrm{๐ฝ๐ ๐ฐ๐ป},\mathrm{๐ ๐ฐ๐๐ธ๐ฐ๐ฑ๐ป๐ด๐},\mathrm{๐๐ธ๐๐ด}_\mathrm{๐ธ๐ฝ๐๐ด๐๐ ๐ฐ๐ป}\right)$ constraint: $\mathrm{๐ฝ๐ ๐ฐ๐ป}โฅmin\left(1,|\mathrm{๐ ๐ฐ๐๐ธ๐ฐ๐ฑ๐ป๐ด๐}|\right)$ forces $\mathrm{๐ฝ๐ ๐ฐ๐ป}$ to be greater than or equal to the minimum of 1 and the number of items of the $\mathrm{๐ ๐ฐ๐๐ธ๐ฐ๐ฑ๐ป๐ด๐}$ collection.

$โณ$ $\mathrm{๐๐๐๐๐๐๐๐๐}$$\left(2,โฉ\mathrm{๐๐๐}-3,\mathrm{๐๐๐}-1,\mathrm{๐๐๐}-9,\mathrm{๐๐๐}-1,\mathrm{๐๐๐}-9โช,4\right)$

$โธ$ $\mathrm{๐๐๐๐๐๐๐๐๐}$$\left(\mathbf{0},โฉ\mathrm{๐๐๐}-3,\mathrm{๐๐๐}-1,\mathrm{๐๐๐}-9,\mathrm{๐๐๐}-1,\mathrm{๐๐๐}-9โช,4\right)$

• ${t}_{1}\mathrm{๐๐}{t}_{2}$, where ${t}_{1}$ and ${t}_{2}$ are terms and $\mathrm{๐๐}$ one of the operators $+$, $-$, $*$ or $/$.$/$ denotes an integer division, a division in which the fractional part is discarded. Let ${\mathrm{๐ฑ}}_{1}$ and ${\mathrm{๐ฑ}}_{2}$ denote the sets of values respectively associated with the terms ${t}_{1}$ and ${t}_{2}$. The set of values associated with ${t}_{1}\mathrm{๐๐}{t}_{2}$ is ${\mathrm{๐ฑ}}_{12}=\left\{v:v={v}_{1}\mathrm{๐๐}{v}_{2},{v}_{1}โ{\mathrm{๐ฑ}}_{1},{v}_{2}โ{\mathrm{๐ฑ}}_{2}\right\}$.

EXAMPLE: This kind of expression is for instance used in the restrictions of the $\mathrm{๐๐๐๐๐ก๐๐}_\mathrm{๐๐๐๐๐๐๐}_\mathrm{๐๐๐}$$\left(\mathrm{๐ฐ๐๐ป๐ด๐ฐ๐๐},\mathrm{๐ฐ๐๐ผ๐พ๐๐},\mathrm{๐ป๐พ๐},\mathrm{๐๐ฟ},\mathrm{๐๐ด๐},\mathrm{๐ ๐ฐ๐๐ธ๐ฐ๐ฑ๐ป๐ด๐}\right)$ constraint: $\mathrm{๐ฐ๐๐ผ๐พ๐๐}โค|\mathrm{๐ ๐ฐ๐๐ธ๐ฐ๐ฑ๐ป๐ด๐}|-\mathrm{๐๐ด๐}+1$ forces $\mathrm{๐ฐ๐๐ผ๐พ๐๐}$ to be less than or equal to an arithmetic expression that corresponds to the number of sequences of $\mathrm{๐๐ด๐}$ consecutive variables in a sequence of $|\mathrm{๐ ๐ฐ๐๐ธ๐ฐ๐ฑ๐ป๐ด๐}|$ variables.

$โณ$ $\mathrm{๐๐๐๐๐ก๐๐}_\mathrm{๐๐๐๐๐๐๐}_\mathrm{๐๐๐}$$\left(3,4,3,7,4,โฉ\mathrm{๐๐๐}-2,\mathrm{๐๐๐}-4,\mathrm{๐๐๐}-2,\mathrm{๐๐๐}-0,$

$\mathrm{๐๐๐}-0,\mathrm{๐๐๐}-3,\mathrm{๐๐๐}-4โช\right)$

$โธ$ $\mathrm{๐๐๐๐๐ก๐๐}_\mathrm{๐๐๐๐๐๐๐}_\mathrm{๐๐๐}$$\left(3,\mathbf{9},3,7,4,โฉ\mathrm{๐๐๐}-2,\mathrm{๐๐๐}-4,\mathrm{๐๐๐}-2,\mathrm{๐๐๐}-0,$

$\mathrm{๐๐๐}-0,\mathrm{๐๐๐}-3,\mathrm{๐๐๐}-4โช\right)$

• Finally, we can also use a constraint $C$ of the catalogue for expressing a restriction as long as that constraint is not defined according to the constraint under consideration. The constraint $C$ should have a graph -based or an automaton -based description so that its meaning is explicitly defined.

EXAMPLE: An example of use of such restriction can be found in the $\mathrm{๐๐๐๐}_\mathrm{๐๐๐๐๐๐๐๐๐๐๐}$$\left(\mathrm{๐ต๐๐พ๐ผ},\mathrm{๐ฟ๐ด๐๐ผ๐๐๐ฐ๐๐ธ๐พ๐ฝ},\mathrm{๐๐พ}\right)$ constraint: $\mathrm{๐๐๐๐๐๐๐๐๐๐๐๐}$$\left(\mathrm{๐ฟ๐ด๐๐ผ๐๐๐ฐ}$- $\mathrm{๐๐ธ๐พ๐ฝ}\right)$ is used to express the fact that the variables of the second argument of the $\mathrm{๐๐๐๐}_\mathrm{๐๐๐๐๐๐๐๐๐๐๐}$ constraint should take distinct values.