0

在下面的代码中,我在 **中的“非法字符”的姊妹函数中遇到错误

块引用

Person \= P1** (\= 表示不等于)

块引用

域人 = 符号

谓词 parent(Person,Person) 女性(Person) 男性(Person) 母亲(Person,Person) 父亲(Person,Person) 祖父(Person,Person) 祖母(Person,Person) 妹妹(Person,Person)

从句女性(快乐)。女性(辛德拉)。女(朱丽叶)。女性(丽莎)。

male(parker).
male(peter).
male(herry).
male(bob).
male(paul).

parent(juliet,lisa).
parent(bob,lisa).
parent(bob,paul).
parent(bob,merry).

parent(juliet,paul).
parent(juliet,merry).
parent(peter,herry).
parent(lisa,herry).
parent(merry,parker).
parent(merry,syndra).

father(X,Person):-parent(X,Person) , male(X).
mother(X,Person):-parent(X,Person) , female(X).

grandfather(X,Person):-parent(Y,Person),father(X,Y).
grandmother(X,Person):-parent(Y,Person),mother(X,Y).

sister(X,Person):-parent(Z,X),parent(Z,Person),Person \= P1,female(Person).
4

1 回答 1

0

不确定,我不能尝试,因为我现在没有 Turbo Prolog,但我隐约记得不需要声明变量。

而且我怀疑孩子应该是人(毕竟,孩子人)。尝试以这种方式简化

DOMAINS

Person = SYMBOL

PREDICATES

parent(Person,Person)
female(Person)
male(Person)
mother(Person,Person)
...
于 2013-02-20T17:49:44.897 回答