likes(russel, wittgenstein).
likes(whitehead, wittgenstein).
likes(godel, wittgenstein).
likes(hardy, ramanujan).
likes(littlewood, ramanujan).
at_least_three_fans :-
setof(X, Z^(fact(X, idol), fact(Z, idol)), admirers).
Z : Z = wittgenstein、つまり、ファンが3 人以上いるアイドルのみを掲載したいのですが。上記の述語への出力:
?- at_least_three_fans.
idol = wittgenstein,
admirers = [godel, russell, whitehead].
idol = ramanujan,
admirers = [littlewood, hardy].
次のことが私に起こりました:
at_least_three([_,_|_]).
でもどうやって使うの?
ありがとうございました。