我正在尝试创建一个能够从一组男人和女人中列出所有可能的情侣的谓词。但是,即使男人或女人不属于我的知识基础,我的审判也会让我真实。
man(al).
man(john).
woman(elsa).
woman(julia).
couple(man(_),woman(_)).
查询:
?- couple(X,Y).
答案:
X: al
Y: elsa
X: al
Y: julia
X: john
Y: elsa
...
注意:我正在使用SWI-Prolog。
答案 0 :(得分:2)
我不是专家,但这个定义似乎可以胜任:
couple(M, W) :- man(M), woman(W).
couple(W, M) :- man(M), woman(W).
如果您只对唯一的情侣感兴趣,那么您可以丢弃其中任何一条。