我正在通过终端在 Mac 上运行 SWI-Prolog。在终端中打开 swipl 后,我试图通过编写通常的方式来访问 Atom 文件:
?- [hwk1-my_name].
而不是 swipl 有知识库可以玩,它给了我这个:
ERROR: Arguments are not sufficiently instantiated
我是 Prolog 的新手,我现在的程序只是我的教授提供的用于开始作业的复制和粘贴代码。这是否意味着该错误可能是由于下面的代码中的某些原因造成的,如果是这样,是什么导致了这种情况?这是提供给我的代码:
father(Dad, Child) :-
parent(Dad, Child),
male(Dad).
mother(Mom, Child) :-
parent(Mom, Child),
female(Mom).
had_a_child(Man, Woman) :-
father(Man, Child),
mother(Woman, Child).
sibling(Sibling1, Sibling2) :-
parent(Parent, Sibling1),
parent(Parent, Sibling2),
Sibling1 \= Sibling2.
brother(Brother, Sib) :-
sibling(Brother, Sib),
male(Brother).
sister(Sister, Sib) :-
sibling(Sister, Sib),
female(Sister).