>>169
質問は 型 = 構造体の形式 と解釈しているようですが、

1) Prologの引数にはリスト以外の複合項(構造体)がこないというのは「作法」であって、
 Prologの規則ではない。プログラマによっては、あるいはアプリケーションの要請で
 引数として複合項を渡すことはないわけではありません。
2) リスト以外の複合項が引数として現れず、すべてアトムまたは変数だとしても、
 a) foo(四季:X)
 b) foo(X) :- member(X,[春,夏,秋,冬]), ...
  a)は、Xがアトミックなデータしか取ることがなくても、型付することが可能なことを示しています。
  Prologはb)を採用している訳で、このことが動的で型付けなしの意味です。
ただし、Prologの単一化を安全で強い型付けと解釈する向きもあります。これは上の「作法」には
反しますが、呼び出され側の引数に構造体を置いた場合、呼び出し側の引数の構造体の細部まで
形式検査を完全に行うことになるからです。