Найти силы 2 в списке Пролог

Я пытаюсь создать список в Прологе (SWI Prolog) и проверить, какие числа являются степенями 2, а второй найти, сколько раз конкретное число находится в списке (в этом примере я пытаюсь найти, сколько раз число 3 в списке). Например, если вы спросите

?- check([0,2,3,-5,-2,1,8,7,4], MULT2, THREE).

Тебе следует увидеть

MULT2=[2,8,4] 
THREE=1 

Моя первая попытка найти решение - это поиск по списку с помощью head и выполнение head mod 2 = 0, чтобы найти все числа, которые являются степенями 2, но что-то пошло не так, и в ответ я получаю только «false».

Ответы на вопрос(2)

Ваш ответ на вопрос