>>25
先ほどの述語定義で渡されたPですが、これは

P =.. [_述語名,_引数1,_引数_2, ・・・ ,_引数n]

でどれとも部分的に単一化可能です。この組込述語 =.. はLISPから
ヒントを得たちょっとインチキ臭さがありますが、本格的には
functor(P,_述語,_引数の数) と arg(_引数位置,P,_引数の値) の二つを
使って再帰的に部分項を取り出します。