Prolog 没有兄弟的叔叔关系

Prolog 没有兄弟的叔叔关系,prolog,logic,Prolog,Logic,我刚刚开始学习PROLOG,我的任务是在家谱中创建一个叔叔/婶婶的关系。阿姨可以使用姐妹关系创建,但是,叔叔关系必须在没有姐妹关系的情况下创建 当前谓词为:男、女、父 &迄今为止制定的规则是:父亲、母亲、祖父、祖母、姐妹 以下是我目前掌握的情况: sister(Sister,Individual):- female(Sister), parent(X,Sister), parent(X,Individual), Sister \= Individual. aunt(Aunt, Indivi

我刚刚开始学习PROLOG,我的任务是在家谱中创建一个叔叔/婶婶的关系。阿姨可以使用姐妹关系创建,但是,叔叔关系必须在没有姐妹关系的情况下创建

当前谓词为:男、女、父 &迄今为止制定的规则是:父亲、母亲、祖父、祖母、姐妹

以下是我目前掌握的情况:

sister(Sister,Individual):- 
female(Sister),
parent(X,Sister),
parent(X,Individual), 
Sister \= Individual.

aunt(Aunt, Individual):- sister(Aunt, X), parent(X, Individual).
如果不使用兄弟,我将如何创建叔叔关系?我知道父母(父母(个人))==父母(叔叔),但考虑到我目前的关系,我该怎么说呢


提前感谢您的帮助 我们知道:

  • 个人的叔叔必须是男性
  • 叔叔将与个人的父母共用一个父母
因此,我们可以将规则定义如下:

uncle(Uncle, Individual) :- 
    male(Uncle),            % The uncle must be male.
    parent(X, Individual),  % Assume there's some parent of the individual, X.
    parent(Y, Uncle),       % Assume there's some parent of the uncle, Y.
    parent(Y, X).           % Y must be the parent of X.

谢谢你的回复!我有一个后续问题,我不确定它是否适用:你是否必须说明,如果你为个人得到了男性父母,为叔叔得到了女性父母?反之亦然?编辑:NVM,愚蠢的问题!我们正在检查叔叔的父母(无论是男性还是女性)是否也是X的父母,对吗?我不认为你必须对此做出解释,因为共享父母可以是母亲或父亲。是的,因为
X
是个人的父母