3

ターミナルを介して 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).
4

1 に答える 1