Prologでは述語の引数に複合項はあまり使われないのでしょうか?
述語の引数の数(アリティ)が多い場合に可読性が劇落ちするので、

display(person(name(NAME), age(AGE))) :-
 write(NAME), write('¥t'), write(AGE), nl.

のような述語が有れば、

display(person(name('Taro Yamamoto'), age(100))).

となってとっても読み易いと思うのですが。