Any n-arity function can be simulated with an an (n+1)-arity predicate. Let a and b be constants. With a function, we can write the FOL sentence a+b>1, where + is the default addition function. We can write the same as ∀x,(+P(a,b,x)→x>1) where +P is now a predicate that returns true iff a added to b is x.
The reverse is also possible: an n-ary relation can be represented as an n-ary function which maps instances of the relation to the object “true” and non-instances to the object “false”.
Though Frege was interested primarily in reducing mathematics to logic, he succeeded in reducing an important part of logic to mathematics by defining relations in terms of functions. By contrast, Whitehead & Russell reduced an important part of mathematics to logic by defining functions in terms of relations (using the definite description operator). We argue that there is a reason to prefer Whitehead & Russell’s reduction of functions to relations over Frege’s reduction of relations to functions. There is an interesting system having a logic that can be properly characterized in relational but not in functional type theory. This shows that relational type theory is more general than functional type theory. The simplification offered by Church in his functional type theory is an over-simplification: one can’t assimilate predication to functional application.
Any n-arity function can be simulated with an an (n+1)-arity predicate. Let a and b be constants. With a function, we can write the FOL sentence a+b>1, where + is the default addition function. We can write the same as ∀x,(+P(a,b,x)→x>1) where +P is now a predicate that returns true iff a added to b is x.
The reverse is also possible: an n-ary relation can be represented as an n-ary function which maps instances of the relation to the object “true” and non-instances to the object “false”.
So which is better?
Enter Oppenheimer & Zalta: Relations vs functions at the foundations of logic: type-theoretic considerations: