SWI prolog返回true而不是变量

SWI prolog返回true而不是变量,prolog,Prolog,这是我的密码 /*facts*/ male(James). male(Charles). male(William). female(Megan). male(George). female(Catherine). female(Diana). female(Elizabith). parent(James,Charles). parent(James,Elizabeth). parent(Charles,Catherine). parent(Charles,William). parent(C

这是我的密码

/*facts*/
male(James).
male(Charles).
male(William).
female(Megan).
male(George).
female(Catherine).
female(Diana).
female(Elizabith).
parent(James,Charles).
parent(James,Elizabeth).
parent(Charles,Catherine).
parent(Charles,William).
parent(Charles,Megan).
parent(Elizabeth,Diana).
parent(Diana,George).
/*rules*/
different(X,Y):- X\=Y.
father(X, Y) :-  parent(X,Y), male(X).
mother(X, Y) :- parent(X,Y), female(X).
grandparent(X,Y):- parent(X,F), parent(F,Y).
grandma(X,Y):- parent(X,F), parent(F,Y),female(X).
sister(X,Y):-female(X), parent(F,X), parent(F,Y),different(X,Y) .
brother(X,Y):-male(X), parent(F,X), parent(F,Y),different(X,Y).
aunt(X,Y):-parent(F,Y), sister(X,F), female(X).
uncle(X,Y):-parent(F,Y), brother(X,F), male(X).
我给母亲写信(X,Y)。要求返回的名称不为true或false。 与所有语句相同,事实使用变量而不是常量。常量和函子以小写开头,所以
james
charles
megan
diana
,而不是
james
charles
megan
diana

男性(詹姆斯)。
男(查尔斯)。
男(威廉)。
女(梅根)。
男(乔治)。
女(凯瑟琳)。
女(戴安娜)。
女(伊丽莎白)。
父母(詹姆斯、查尔斯)。
父母(詹姆斯、伊丽莎白)。
父母(查尔斯,凯瑟琳)。
父母(查尔斯,威廉)。
父母(查尔斯,梅根)。
父母(伊丽莎白,戴安娜)。
父母(戴安娜,乔治)。
male(james).
male(charles).
male(william).
female(megan).
male(george).
female(catherine).
female(diana).
female(elizabith).
parent(james, charles).
parent(james, elizabeth).
parent(charles, catherine).
parent(charles, william).
parent(charles, megan).
parent(elizabeth, diana).
parent(diana, george).