Я пытаюсь работать над этим правилом пролога, которому дана звезда, проверьте, связан ли он или она с тремя разными фильмами. Если true, верните название фильмов, иначе верните false.
база данных:
starsin(spiderman,tom_holland).
starsin(captain_america,tom_holland).
starsin(avengers,tom_holland).
starsin(parasite,kang_ho).
Я пытался использовать набор функций в моем правиле:
checkStarinMovie(Star,Movie):-setof(X,starsin(X,Star),Movie).
% to the the rule write this in the query: checkStarinMovie(tom_holland,Movie).
но он только вернул бы список фильмов, в которых находится звезда. Я хочу быть условным, чтобы звезда была в 3 фильмах или более. Так что в этом случае звезда «kang_ho» вернет false, если вы запустите в запросе.
Можно ли в любом случае использовать предикат длины, чтобы задать условие правила?