% Car has been on N races
car_with_n_races(Car, N) :-
length(Races, N),
findall(Race, car(Race, Car), Races).
Используйте setof
вместо findall
, если car/2
может возвращать повторяющиеся результаты.
(Вы можете поменять местами звонки на length
и findall
, но я думаю, что этот порядок может быть более эффективным.)