
10 CHAPTER 1. The TOY(FD) System
In the following, we describe one by one all the FD constraints supported by
TOY(FD). Table 1.2 shows the whole set of FD constraints currently supported by
the system.
Table 1.2: The Predefined Set of FD Constraints
RELATIONAL CONSTRAINTS
(#>), (#<), (#>=), (#<=), (# =), (#\=) :: int → int → bool
ARITHMETICAL CONSTRAINTS
(#∗), (#/), (#+), (#−) :: int → int → int
sum :: [int] → (int → int → bool) → int → bool
scalar product :: [int] → [int] → (int → int → bool) → int → bool
COMBINATORIAL CONSTRAINTS
assignment, circuit’, serialized :: [int] → [int] → bool
all different, all distinct, circuit :: [int] → bool
all different’, all distinct’ :: [int] → [options] → bool
serialized’ :: [int] → [int] → [newOptions] → bool
count :: int → [int] → (int → int → bool) → int → bool
element, exactly :: int → [int] → int → bool
cumulative :: [int] → [int] → [int] → int → bool
cumulative’ :: [int] → [int] → [int]→ int → [newOptions] → bool
STATISTICS CONSTRAINTS
fd statistics :: statistics → int → bool
fd statistics’ :: bool
ENUMERATION CONSTRAINTS
indomain :: int → bool
labeling :: [labelType] → [int] → bool
MEMBERSHIP CONSTRAINTS
domain :: [int] → int → int → bool
PROPOSITIONAL CONSTRAINTS
#<=> :: bool → bool → bool
1.4.2 Membership Constraint
It restricts a list of FD variables to have values in an integer interval.
domain/3
• Type declaration:
domain :: [int] → int → int → bool
• Definition: ’domain L A B’ returns true if each element in the list L (with inte-
gers and/or FD variables) belongs to the closed interval [A,B] and also constrains
each FD variable in L to have values in the integer interval [A,B].
Kommentare zu diesen Handbüchern