has_duplicates(List) :- member(X, List), select(X, List, Rest), member(X, Rest), !. collect_todos(Ys) :- findall(Y, todo(_, Y), Ys). todos_have_duplicates :- collect_todos(Ys), has_duplicates(Ys). todo(24, 'koko'). todo(25, 'xasda'). todo(26, 'dsadsa').