2009/6/18 Peter Szeredi <szeredi(a)cs.bme.hu>hu>:
Ez is mukodik, csak sosem lep ki a korlat. Ez tehat
egy memoria-luk
(memory-leak) lenne, amit fontos elkerulni.
Ha mindegyik változó ground lesz, akkor amúgy is begyűjtődik a korlát,
mert nincs mire felébrednie. Azt pedig az ébredési feltételek miatt
nem éri el az eredeti program, hogy mindig kilépjen, ha már nincs rá
szükség, mivel min(Y) vagy max(X) változására nem ébred fel:
| ?- assert(clpfd:full_answer).
yes
| ?- X in 1..10, Y in 1..10, lseq(X, Y), X #< 5, 5 #< Y.
user:lseq(X,Y),
X in 1..4,
Y in 6..10 ? ;
no
| ?- X in 1..10, Y in 1..10, lseq(X, Y), X = 5, 5 = Y.
X = 5,
Y = 5 ? ;
no
| ?-
E miatt nem látom, miért lenne ez a részleges vizsgálat jobb kompromisszum.
Ambrus