CLP, , . CLP(FD) SICStus Prolog. , .
. in/2, : in Set
Set .
(lntegerl, Integer2,,,. }, .
Terml,.Term2. Terml 2.
Setl \/ Set2. Set 1 Set2.
Setl A Set2. Setl Set2.
\Setl. Setl.
:
Expl Relation ExP2
Expl 2 - , a Relation .
#=. .
#\=. .
#<. .
#>. .
#=<, .
#>=. .
:
?- X in 1..5, Y in 0. ,
X #< Y, Z #= X+Y+1.
X in l..3
Y in 2.. 4
Z in 3. .1
?- X in 1..5, X in \{4}.
X in (1..3) \/ {5}
indomair. (X) X, , :
?- X in 1..3, indomainK). X - 1; X = 2; 5 = 3
, .
domain! L, Min, Max]. ,
L Min..Max,
14.
alldiff etent { L). ,
.
labeling(Options, L).
:_. Options
, ,
("labelling"; ) L. '
Options = [ ], ; '
,
. '
, -J
. .
?- domain ([X, Y], 1, 2), labeling{ [], [X,Y])
-1, -1;
-1, Y-2;
-2, Y=l;
=2, Y=2
1, 2), all_different t L), labeling; [], L). |
?- L - IX,Y], domain! L,
L- [1,2], X - 1, Y = 2;
L = [2, 1], X = 2, Y = 1
. ' :
DONALD + GERALD
ROBERT
, . 14.4 CLP(FD) . .
?- solve [ N1, N2, ). N1 = [5,2,6,4,8,5] N2 = [1,9,7,4,3,5] N3 = [1, 2, 3,9, 4,0]