In the "Non-logical symbols" section of Wikipedia, it states:
A predicate symbol (or relation symbol) with some valence (or arity, number of arguments) greater than or equal to 0. These are often denoted by uppercase letters P, Q, R,...
I believe I understand why predicate symbols, in general, are "non-logical", but correct me if I'm wrong:
A predicate symbol with arity N is also known as a relation symbol and as such, it denotes a non-logical mathematical object -- a class of relationships each between N objects. This class is devoid of any "logical" interpretation, i.e. any notion of truth, prior to a model theoretic interpretation.
That being the case, it would seem that the most parsimonious denotation of a predicate with arity N=0 would also be a non-logical object -- that is it would denote a constant of the language, rather than denoting logical meaning, i.e. truth (again, as it is prior to a model).
However, continuing the quotation:
Relations of valence 0 can be identified with propositional variables. For example, P, which can stand for any statement.
While I understand that function symbols of 0-arity serve as constant symbols in FOL, function symbols seem superfluous, a mere convenience, since their purpose is to denote structured objects and structure obtains through relationships between objects and such relationships are denoted by predicates.
Moreover, Quine goes so far as to render superfluous even the necessity of named constants by appropriately quantifying 1-arity predicates standing in for such names, such as the object denoted by 'a' with the 1-arity predicate 'A':
(∃x)A(x) & ~ (∃x,y)(A(x) & A(y) & ~(x=y) )
...(This identity sign “=” here would either count as one of the simple predicates of the language or be paraphrased in terms of them.)]2
Indeed, Quine goes on to make the point:
The functors, again, are just convenient redundancy; they can all be dropped in favor of appropriate predicates, by an extension of the method by which we dropped names.