which takes an integer N, an integer V and a list List containing integers or integer domain variables.atmost(+N, +List, +V)
which is declaratively likeoffset(?X,+Const,?Y)
but maintains domain-arc-consistency (i.e. propagates "holes", while the above definition only maintains bounds-consistency).offset(X,Const,Y) :- Y #= X+Const.