## 5.327. product_ctr

Origin

Arithmetic constraint.

Constraint

$\mathrm{𝚙𝚛𝚘𝚍𝚞𝚌𝚝}_\mathrm{𝚌𝚝𝚛}\left(\mathrm{𝚅𝙰𝚁𝙸𝙰𝙱𝙻𝙴𝚂},\mathrm{𝙲𝚃𝚁},\mathrm{𝚅𝙰𝚁}\right)$

Arguments
 $\mathrm{𝚅𝙰𝚁𝙸𝙰𝙱𝙻𝙴𝚂}$ $\mathrm{𝚌𝚘𝚕𝚕𝚎𝚌𝚝𝚒𝚘𝚗}\left(\mathrm{𝚟𝚊𝚛}-\mathrm{𝚍𝚟𝚊𝚛}\right)$ $\mathrm{𝙲𝚃𝚁}$ $\mathrm{𝚊𝚝𝚘𝚖}$ $\mathrm{𝚅𝙰𝚁}$ $\mathrm{𝚍𝚟𝚊𝚛}$
Restrictions
 $\mathrm{𝚛𝚎𝚚𝚞𝚒𝚛𝚎𝚍}$$\left(\mathrm{𝚅𝙰𝚁𝙸𝙰𝙱𝙻𝙴𝚂},\mathrm{𝚟𝚊𝚛}\right)$ $\mathrm{𝙲𝚃𝚁}\in \left[=,\ne ,<,\ge ,>,\le \right]$
Purpose

Constraint the product of a set of domain variables. More precisely, let $𝙿$ denote the product of the variables of the $\mathrm{𝚅𝙰𝚁𝙸𝙰𝙱𝙻𝙴𝚂}$ collection. Enforce the following constraint to hold: $𝙿\mathrm{𝙲𝚃𝚁}\mathrm{𝚅𝙰𝚁}$.

Example
$\left(〈2,1,4〉,=,8\right)$

The $\mathrm{𝚙𝚛𝚘𝚍𝚞𝚌𝚝}_\mathrm{𝚌𝚝𝚛}$ constraint holds since its last argument $\mathrm{𝚅𝙰𝚁}=8$ is equal (i.e., $\mathrm{𝙲𝚃𝚁}$ is set to $=$) to $2·1·4$.

Typical
 $|\mathrm{𝚅𝙰𝚁𝙸𝙰𝙱𝙻𝙴𝚂}|>1$ $|\mathrm{𝚅𝙰𝚁𝙸𝙰𝙱𝙻𝙴𝚂}|<10$ $\mathrm{𝚛𝚊𝚗𝚐𝚎}$$\left(\mathrm{𝚅𝙰𝚁𝙸𝙰𝙱𝙻𝙴𝚂}.\mathrm{𝚟𝚊𝚛}\right)>1$ $\mathrm{𝚅𝙰𝚁𝙸𝙰𝙱𝙻𝙴𝚂}.\mathrm{𝚟𝚊𝚛}\ne 0$ $\mathrm{𝙲𝚃𝚁}\in \left[=,<,\ge ,>,\le \right]$ $\mathrm{𝚅𝙰𝚁}\ne 0$
Symmetry

Items of $\mathrm{𝚅𝙰𝚁𝙸𝙰𝙱𝙻𝙴𝚂}$ are permutable.

Arg. properties
• Contractible wrt. $\mathrm{𝚅𝙰𝚁𝙸𝙰𝙱𝙻𝙴𝚂}$ when $\mathrm{𝙲𝚃𝚁}\in \left[<,\le \right]$ and $\mathrm{𝚖𝚒𝚗𝚟𝚊𝚕}\left(\mathrm{𝚅𝙰𝚁𝙸𝙰𝙱𝙻𝙴𝚂}.\mathrm{𝚟𝚊𝚛}\right)>0$.

• Aggregate: $\mathrm{𝚅𝙰𝚁𝙸𝙰𝙱𝙻𝙴𝚂}\left(\mathrm{𝚞𝚗𝚒𝚘𝚗}\right)$, $\mathrm{𝙲𝚃𝚁}\left(\mathrm{𝚒𝚍}\right)$, $\mathrm{𝚅𝙰𝚁}\left(*\right)$ when $\mathrm{𝙲𝚃𝚁}\in \left[=\right]$.

Used in
Keywords
Arc input(s)

$\mathrm{𝚅𝙰𝚁𝙸𝙰𝙱𝙻𝙴𝚂}$

Arc generator
$\mathrm{𝑆𝐸𝐿𝐹}$$↦\mathrm{𝚌𝚘𝚕𝚕𝚎𝚌𝚝𝚒𝚘𝚗}\left(\mathrm{𝚟𝚊𝚛𝚒𝚊𝚋𝚕𝚎𝚜}\right)$

Arc arity
Arc constraint(s)
$\mathrm{𝚃𝚁𝚄𝙴}$
Graph property(ies)
$\mathrm{𝐏𝐑𝐎𝐃}$$\left(\mathrm{𝚅𝙰𝚁𝙸𝙰𝙱𝙻𝙴𝚂},\mathrm{𝚟𝚊𝚛}\right)\mathrm{𝙲𝚃𝚁}\mathrm{𝚅𝙰𝚁}$

Graph model

Since we want to keep all the vertices of the initial graph we use the $\mathrm{𝑆𝐸𝐿𝐹}$ arc generator together with the $\mathrm{𝚃𝚁𝚄𝙴}$ arc constraint. This predefined arc constraint always holds.

Parts (A) and (B) of Figure 5.327.1 respectively show the initial and final graph associated with the Example slot. Since we use the $\mathrm{𝚃𝚁𝚄𝙴}$ arc constraint both graphs are identical.

##### Figure 5.327.1. Initial and final graph of the $\mathrm{𝚙𝚛𝚘𝚍𝚞𝚌𝚝}_\mathrm{𝚌𝚝𝚛}$ constraint  (a) (b)