CLP(FD)和dif/2中的重复约束

Fat*_*ize 5 prolog clpfd

在SWI-Prolog中,以下查询给出了以下结果:

?- X mod 2 #= 0, X mod 2 #= 0.
X mod 2#=0,
X mod 2#=0.
Run Code Online (Sandbox Code Playgroud)

虽然正确,但显然不需要第二个约束

同理:

?- dif(X,0), dif(X,0).
dif(X, 0),
dif(X, 0).
Run Code Online (Sandbox Code Playgroud)

有没有办法避免这种重复约束?(显然,最正确的方法是不编写导致这种情况的代码,但并不总是那么容易).