(, , ),
(, ),
(, , , ),
(, , , ),
(, , , ),
(, , ),
(, ),
(, , , ) when ,
(, , , ) when ,
(, ),
(, , ),
(, , ),
(, ),
(, ),
(, ),
(, , ),
(, ),
(, ),
(, ),
(, , ) when ,
(, ),
(, , ),
(, , ),
(, , ),
(, , ),
(, , ),
(, , ),
(, , ),
(, , ),
(, , ),
(, , ),
(, ),
(, , ),
(, , ),
(, , ),
(, ).
Denotes that, given two instances of a constraint, we can combine (i.e., aggregate) these two instances
in order to obtain a third constraint, which has the same name as the first two constraints. The first two constraints
are called the source constraints, while the implied constraint is called the target constraint.
The argument of the target constraint is obtained by combining the arguments
of the two source constraints. This is specified for each argument by one of the following options.
:
check that the corresponding arguments of the two source constraints are identical
and take it as the argument of the target constraint; this option if often used for specifying that
an argument corresponding to a parameter has to be the same in the two source constraints,
as well as in the target constraint (i.e., the source and the target constraints share the same parameter).
:
add the corresponding arguments of the two source constraints.
:
multiply the corresponding arguments of the two source constraints.
:
make an and between the corresponding 0-1 arguments of the two source constraints.
:
make an or between the corresponding 0-1 arguments of the two source constraints.
:
take the minimum of the corresponding arguments of the two source constraints.
:
take the maximum of the corresponding arguments of the two source constraints.
:
take the union, without removing duplicates, of the collections items of the corresponding arguments of the
two source constraints.
:
take the union, and remove duplicates, of the collections items of the corresponding arguments of the
two source constraints, where collections correspond to collection of ground values (i.e., parameters).
Finally, the aggregation may me be conditioned by a list of restrictions,
each restriction corresponding to one of the restrictions described in SectionΒ 2.2.3.
We call this conditional aggregation.
Most constraints for which aggregation applies correspond to constraints where one of the arguments
is functionally determined by the other arguments.
This is for instance the case for the
constraint
which forces to be equal to the maximum value assigned to the variables of
. However some constraints, like the
constraint, for which aggregation applies, do not have any argument that is functionally determined
by the other arguments.
We now present three examples of deductions that can be obtained by aggregating two source constraints.
, where:
The first argument of the target constraint, i.e.,Β 4, is equal to the sum of the first arguments
of the two source constraints, i.e.,Β .
The second argument of the target constraint, , is equal to the union
(without removing duplicates) of the second arguments and
of the two source constraints.
The third arguments of the two source constraints are identical, i.e., ,
and the third argument of the target constraint.
, where:
The first argument of the target constraint, i.e.,Β 9, is equal to the maximum value of the first arguments
of the two source constraints, i.e.,Β .
The second argument of the target constraint, , is equal to the union
(without removing duplicates) of the second arguments and
of the two source constraints.
, where:
The first argument of the target constraint, ,
is equal to the union (without removing duplicates) of the first arguments
and of the two source constraints.
The second argument of the target constraint, ,
is equal to the union (without removing duplicates) of the second arguments
and of the two source constraints.