findThree([H|T],_,3).
findThree([H|T], M, Z):-
( member(H,M)
-> Z2 is Z + 1,
select(H,M,C),
findThree(T,C,Z2)
;select(H,M,C),
findThree(T,C,Z)
).
Итак, я пытаюсь увидеть, есть ли элемент в указанном списке.Если это так, я увеличиваю некоторую переменную и останавливаюсь, если нашел 3 из этих элементов.Тем не менее, это, кажется, не работает для меня - это проблема с моим синтаксисом?Я пытаюсь использовать конструкцию If-else в SWI-Prolog;может ли это быть проблемой?