, CLP (FD). .
CLP (FD) . . , , , "" , CLP (FD). "" .
, CLP (FD). CLP (FD) , - . , GNU Prolog , SWI Prolog . , , , :
SWI-:
?- X
Z
X
Y
GNU Prolog:
?- X
(7842 ms) no
, , , . , . :
SWI-:
?- X #< 4 #==> X #< 7.
X+1#=_G1330,
X+1#=_G1342,
7#>=_G1330#<==>_G1354,
_G1354 in 0..1,
_G1377#==>_G1354,
_G1377 in 0..1,
4#>=_G1342#<==>_G1377.
GNU Prolog:
?- X
X = _
. . , :
SWI-:
?- X in 0..9, X
X = 0 ;
X = 1 ;
X = 2 ;
X = 3 ;
X = 4 ;
X = 5 ;
X = 6 ;
X = 7 ;
X = 8 ;
X = 9.
GNU Prolog:
?- fd_domain(X,0,9), X
X = 0 ? ;
X = 1 ? ;
X = 2 ? ;
X = 3 ? ;
X = 4 ? ;
X = 5 ? ;
X = 6 ? ;
X = 7 ? ;
X = 8 ? ;
X = 9
SICStus Prolog B-Prolog. , - SWI-Prolog GNU Prolog.
CLP (Q) , FD, "" , CLP (FD) . , CLP (FD), CLP (Q):
X = Y + 1, Y < Z, Z < X.
Bye