"Predicate" vs. "Relation"
What's the difference between a predicate and a relation? I read the definition that an $n$-ary predicate on a set $X$ is a function $X^n\to \{\text{true}, \text{false}\}$ where $\{\text{true}, \text{false}\}$ is the set of truth values. Also, it is well-known that an $n$-ary relation is simply a subset of $X^n$. Trivially there is a canonical bijection between the set of predicates on a particular fixed set and the set of all relations on that set. So why do these two terms "predicate" and "relation" exist? Because of historical reasons? Is there a crucial difference between them?
Solution 1:
Informally, 'relations' are often understood as involving multiple objects: these multiple objects stand (or do not stand) in some relation to each other. So you can see relations as n-place predicates with n greater or equal to 2. A 1-place predicate denoted by something like $P(x)$ we would typically call a 'property'; informally it is a bit awkward to call that a relation ... though many textbooks do allow 1-place relations to keep things mathematically efficient. In fact, you could even consider an atomic sentence like $P$ as denoting a 0-place predicate, but again, few would really call that a relation.
So: 'predicate' is typically a little more general than 'relation'. But I don't think there is really any clear or commonly accepted difference. There is a clear difference between predicates and predicate symbols though!
Solution 2:
The terminology varies.
You can see :
- Herbert Enderton, A Mathematical Introduction to Logic (2nd ed - 2001), page 70 and page 81.
In the "syntax" world we have $n$-place predicate symbols : $P^n_i$ (with arity $n$). Thus, $\le$ is a binary predicate : $\le(x,y)$.
In the "semantical" world we usually speak of "relations", using he set-theortic jargon.
Thus, an $n$-ary relation on the domain (i.e. a set of $n$-tuples of members of the domain) is the interpretation of a $n$-ary predicate symbol.
Of course, both terms have a long logico-philosophical tradition; see at least : Predication in Aristotle's Logic, Medieval Theories of Relations and Properties.
Solution 3:
A predicate is a type of relation.
- A relation is a particular type of set.
- A function is a particular type of relation.
- A predicate is a particular type of function.
The bijection between relations and predicates you have described means they are conceptually interchangeable in most applications. But definitionally, relation is prior to predicate.
Solution 4:
I like the definition from Wikipedia. It says that a relation is a concept, and a predicate is simply the indicator function of a relation. It’s like "the concept of prime numbers" and "the isPrime
function".
Even in your question you say that a predicate is defined on the whole set, but a relation is a subset.