?- X::[]..[1,2,3], insetdomain(X,_,_,_), writeln(X), fail. [1, 2, 3] [1, 2] [1, 3] [1] [2, 3] [2] [3] []