次の問題を解決するのが難しいと感じたとき、いくつかのプロローグ演習を解決していました: オブジェクトに関するこの事実ベースがあると考えてください:
object(obj1).
object(obj2).
object(obj3).
object(obj4).
object(obj5).
material(obj1,wood).
material(obj2,wood).
material(obj3, glass).
material(obj4, glass).
material(obj5, iron).
type(obj1, able).
type(obj2, chair).
type(obj3, mesa).
type(obj4, jar).
type(obj5, rattle).
weight(obj1, 10.5).
weight(obj2, 1.5).
weight(obj3, 1.6).
weight(obj4, 0.5).
weight(obj5, 1.8).
ここでのアイデアは、述語 object_description(List) を作成することです。List は、各オブジェクトとその特性を結合したもので、次のようになります。
([obj1-wood-table-10.5, obj2-wood-chair-1.5, …, obj5-iron-rattle-1.8] )
bagof と findall を使用してみましたが、正しい答えが見つかりませんでした。
事前にThx