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.