X in min(Y)+min(Z)..max(Y)+max(Z).This indexical is a primitive constraint that excludes no-good values from the domain of X that do not lie in the range of min(Y)+min(Z)..max(Y)+max(Z). This constraint is reconsidered whenever a bound of Y or Z is updated. The following procedure implements the indexical:
delay 'V in V+V'(X,Y,Z):-dvar(X) : {ins(Y),min(Y),max(Y),ins(Z),min(Z),max(Z)}, consistency_check_v_vv(X,Y,Z). 'V in V+V'(X,Y,Z):-true : consistency_check_v_vv(X,Y,Z). consistency_check_v_vv(X,Y,Z):- fd_min_max(Y,MinY,MaxY), fd_min_max(Z,MinZ,MaxZ), MinX is MinY+MinZ, MaxX is MaxY+MaxZ, X in MinX..MaxX.The predicate call 'V in V+V'(X,Y,Z) propagates changes from Y and/or Z to X, but not vice versa.