在下面的代码中,我在**
中“非法字符”的姐妹函数中出错块引用
人\ = P1 **(\ =不等于)
块引用
DOMAINS Person = SYMBOL
PREDICATES 父(人,人) 女(人) 男(人) 母亲(人,人) 父亲(人,人) 祖父(人,人) 祖母(人,人) 姐姐(人,人)
CLAUSES 女(快乐)。 女(syndra)。 女(朱丽叶)。 雌性(丽萨)。
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 :(得分:0)
不确定,我不能尝试,因为我现在没有Turbo Prolog,但我依稀记得 Variables 不需要声明。
我怀疑Child应该是Person(毕竟,一个孩子是一个人)。尝试以这种方式简化
DOMAINS
Person = SYMBOL
PREDICATES
parent(Person,Person)
female(Person)
male(Person)
mother(Person,Person)
...