>>700
いろいろやりかたあるんだろうけど、原理としては、

likes(工藤真一,蘭).
likes(V,W) :- likes(U,W), identicalPerson(U,V).
likes(V,W) :- likes(U,W), identicalPerson(V,U).
identicalPerson(コナン,工藤真一).

という公理系(知識)をシステムに与えておくんだろうな。

で、?- likes(X,Y) とか ?- likes(コナン,Y) とかをシステムに訊けばいい。
?- likes(コナン, 蘭) とか訊けば、「コナンは蘭が好きだ」が証明できるか検証できる。

実際のプログラミングでは仕様次第でさらに洗練する余地あるけど、考え方はこんなかんじ。