I need to to understand the difference between predicates and functions in the context of Clasual Form Logic in order to define the Herbrand universe.
If I have p(x) :- q(f(x)) would I be right in saying that p and q are predicates while f is a function because it is "nested"? By this thinking then if I have p(x) :- q(x) both p and q are predicates and I have no functions?
If this is incorrect then how can I tell the difference between a predicate and function?