Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Prolog中定义姐妹谓词_Prolog - Fatal编程技术网

如何在Prolog中定义姐妹谓词

如何在Prolog中定义姐妹谓词,prolog,Prolog,使用谓词parent(X,Y),male(X),和male(X),编写一个 定义姐妹(X,Y)的Prolog谓词 我试着教自己如何使用Prolog进行咯咯笑,而我正在使用的课程将此作为作业之一,我甚至不知道从何处开始 假设姐妹(X,Y)的意思是:X是Y的姐妹(因此只有X必须是女性)。 假设父(X,Y)意味着:X是Y的父 sister(X,Y) :- female(X), parent(Z,Y), parent(Z,X), X \= Y. 这里有一个很好的在线学习

使用谓词
parent(X,Y)
male(X)
,和
male(X)
,编写一个 定义
姐妹(X,Y)
的Prolog谓词

我试着教自己如何使用Prolog进行咯咯笑,而我正在使用的课程将此作为作业之一,我甚至不知道从何处开始

假设姐妹(X,Y)的意思是:X是Y的姐妹(因此只有X必须是女性)。 假设父(X,Y)意味着:X是Y的父

sister(X,Y) :-
    female(X),
    parent(Z,Y),
    parent(Z,X),
    X \= Y.

这里有一个很好的在线学习序言的资源:

从我们这里得到答案不会有多大帮助。答案应该是女性(X)?阅读“X是Y的姐妹”条款,该条款遵循相同形式的父(X,Y),意思是“X是Y的父”。我同意从问题上看不清楚,但一般的序言风格会建议如何阅读该命题。毕竟,这是您对父(X,Y)的解释方式。