2013-02-20 63 views
0

在下面的代码,我得到错误姐姐功能,在**错误Prolog程序

块引用

“非法字符” \ = P1 * *(\ =为不等于)

块引用

畴 人= SYMBOL

PREDICATES 父(人,人) 女(人) 男(人) 母亲(人,人) 父亲(人,人) 祖父(人,人) 祖母(人,人) 姐(人,人)

CLAUSES 女(快活)。 女(syndra)。 女(朱丽叶)。 女(lisa)。

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). 
+0

它在Turbo PROLOG – user2092338 2013-02-20 17:35:36

+0

我解决了!!!!! – user2092338 2013-02-20 18:21:53

回答

0

不知道,我不能尝试,因为我没有涡轮增压的Prolog的权利,但我依稀记得不需要变量声明。

而且我怀疑孩子应该是Person(毕竟,一个孩子个人)。尝试用这种方法简化

DOMAINS 

Person = SYMBOL 

PREDICATES 

parent(Person,Person) 
female(Person) 
male(Person) 
mother(Person,Person) 
... 
+0

感谢兄弟。你的提示为我工作... – user2092338 2013-02-20 18:01:37