2 of 2

23.3 Predicates and Intended Interpretations

The identity predicate, =, plays a special role in FOL. It’s the only predicate that gets its own logical symbol.

Like the other logical symbols (the connectives and quantifiers), that means it will also get its own inference rules, once we start doing formal proofs in FOL.

Logical symbols are the fixed parts of the system.

Giving it its own symbol means = always means identity. The meaning is built into the system. Just like ~ always means negation. The logical symbols are fixed parts of the system.

All other predicates are different.

We try to use certain strings of letters in uniform and obvious ways: for example,

Guilty(x) always means “x is guilty”.

But there is a key difference between the way = always means identity and the way Guilty(x) always means “x is guilty”.

The meaning of = is built into the system, but the meaning of Guilty(x) isn’t.

The Intended Interpretation: Our convention for using parts of FOL in intuitively obvious ways, like Guilty(x) for “x is guilty”.

Guilty(x) always means “x is guilty” only because we are agreeing to always use it that way for our own conventions.

To put it another way: logic doesn’t know that Guilty(x) means “x is guilty”, because its meaning isn’t built into the system.

When we use names and predicates like this, where we know the intended meaning of Guilty(pia) or TallerThan(pia,quinn), it is called the Intended Interpretation.

The key point from this section is that the Intended Interpretation is not built into the logic: it is a convenient convention we decided to use.

Here’s a way to understand what is at stake. Consider translating this:

If Pia is not guilty, then Pia is innocent.

We could write:




Now, which of those are logical truths in FOL?

~Guilty(pia)->~Guilty(pia) is a tautology.

Think about it this way.

~Guilty(pia)->~Guilty(pia) is a tautology. You can prove with a truth table that it is necessarily true.

But FOL doesn’t know the meaning of Guilty(x) and Innocent(x), so it doesn’t know there’s a logical relation between them.

That is why we translate “Pia is innocent” as ~Guilty(pia): so that we capture as much logical structure as possible.

From the point of view of FOL, ~Guilty(pia)->Innocent(pia) is no different from P(a)->Q(a).