Prolog初学者,成员/ 2内置谓词

时间:2014-12-16 11:33:17

标签: prolog

我有这个:

someuserdef(a,[b,c,d]).

当我尝试

?- someuserdef(a,L),member(b,L).

我没有得到真实或错误的答案,但列表

L=[b,c,d] ;
false.

我如何得到真实或错误的答案?

1 个答案:

答案 0 :(得分:0)

您要求Prolog为您提供符合这两条规则的L值。如果它可以告诉我只有一个答案,它将返回yes - 否则它会给你第一个答案,返回no,并在检查更多答案之前提示你。

当你向Prolog查询提供变量(大写字母)时,它会返回匹配 - 当你要求它检查规则时(没有变量),例如someuserdef(b, [b, c, d])它会返回yesno来表明您的断言是真还是假。