>>101
できません。

Pred(_,_)とPred(_,_,_)は共存できて、全く別物と扱われます。
Pred(_,_)とPred(_,_,_)の意味の橋渡しをする節を記述する
(通常の言語で言えば、変換のコードを書く)ことはできます。

その一般化として、いくつ引数がくるかは不明なPred(_,_,_,...)を
何かとマッチ(Unify)することができるかについてですが、
それは全然できません。

リストという可変長のデータ構造を利用することは、ごく普通に
行われます。