I've been playing around with prolog and realised something. You can do everything without predicate names.
e.g. Just change all predicates
$$a(b,c,d,e,..)$$
into
$$prop(a,b,c,d,e,..)$$
Where $prop$ is some character that you can use for all function names.
So $isRed(X)$ becomes $prop(isRed,X)$.
Which makes me wonder if there is any point to prolog having function heads? Couldn't everthing be done using lists? e.g. $loves(romeo,juliet)$ could just as easily be written $[loves,romeo,juliet]$ without loss of information.
Have I missed something or is there anything special about predicate function heads?