私は、プロローグは、一階述語論理を表現する方法を理解しようとしています。どのように私は動物の種類のリストには、例えば表すことができます。一階述語論理&プロローグ
犬(スポット)。
猫(nyny)。
フライ(ハリー)すべての動物は、哺乳動物または昆虫であることを
?
私は、プロローグは、一階述語論理を表現する方法を理解しようとしています。どのように私は動物の種類のリストには、例えば表すことができます。一階述語論理&プロローグ
犬(スポット)。
猫(nyny)。
フライ(ハリー)すべての動物は、哺乳動物または昆虫であることを
?
私はあなただけで、次を参照されているものだと思う:
mammal(X) :- dog(X).
mammal(X) :- cat(X).
insect(X) :- fly(X).
、哺乳動物であることのいずれかの犬や猫である何かです。あなたは、その哺乳動物カテゴリーに属するカテゴリーを明示的に指定しなければなりません。昆虫と同じです。
これをあなたの一次論理質問と関連付けると、mammal
の最初のエントリは次のようになります。Xがすべて犬であり、Xも哺乳類(catと同じ)などです。
私は動物が何であるかの元の質問を含めるようにディエゴ・セビリアの答え@拡張、および実行を追加しました。
% Your original facts
dog(spot).
cat(nyny).
fly(harry).
% @ Diego Sevilla's predicates
mammal(X) :- dog(X).
mammal(X) :- cat(X).
insect(X) :- fly(X).
% Defining what an animal is - either insect or (;) mammal
animal(X) :- insect(X) ; mammal(X).
% Running it, to get the names of all animals
?- animal(X).
X = harry ;
X = spot ;
X = nyny.