1
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([_,_|_]).

でもどうやって使うの?

ありがとうございました。

4

0 に答える 0