2 of 2

22.2 Variables, Free and Bound

Back in Chapter 21 we said there are two kinds of terms, constants and variables.

Constants, or names, always refer to the same object. Once we start using p for Pia, we can’t later use it for Peter.

Variables: x, y, z, u, v, w

Variables aren’t like that. They aren’t assigned a specific interpretation. Instead, they are like pronouns.

For example, think “it” when you see x, y or z.

Cat(x) means “it is a cat”.

When we want different instances of “it” to pick out the same object, we need to use the same variable.

There’s an important difference between variables in FOL and “it” in English, though.

In English we can use context to indicate what we are talking about, like pointing to an animal when saying “it is a dog”.

“It is a dog” is true, then, if I’m pointing at a dog.

Dog(x) alone is neither true nor false. It doesn’t have a truth value.

FOL is not like that. Dog(x) alone is neither true nor false. It doesn’t have a truth value.

What the variable x is like, then, is the word “it” when it isn’t used to refer to a specific thing. x is an abstract “it” that doesn’t yet have anything it refers to.

If I say “it is a dog”, but I don’t give or even intend to give “it” a specific meaning, then I haven’t yet even made a claim about the world that could be true or false.

That is what variables are like.

And that is why variables need quantifiers: once we connect a variable to a quantifier, then we can make specific claims that are true or false.

When a quantifier connects with a variable, like Ex or Ax, we say it binds the variable.

“Ex” binds every occurrence of x inside the scope of the quantifier.

But quantifiers are like negation: they always have narrow scope, unless parentheses make it wider.

So in the formula


The E binds the x in Cat(x), but it does not bind the x in Dog(x).

When a variable is not bound, it is free.

Instead of parentheses, we also could have used a second quantifier to bind the x in Dog(x).

We can use the variable x for both the cat and the dog because the scope of the quantifiers is distinct.

The reason we have different variables, like x, y and z, is because often we will have quantifiers with overlapping scope, like this:


Let’s unpack that sentence: the wide scope quantifier, Ex, binds all the xs in the sentence. Those xs say that x is a cat and that x likes y. Since those xs are bound by the same quantifier, that means that they refer to the same thing: the cat likes y.

The other quantifier, Ey, binds all of the ys in the sentence (because of the parentheses it has wide scope over all the predicates). They say that y is a dog and is liked by the cat.

Notice that we need to different variables, x and y, here, because we don’t want to say that one object is the cat and the dog.

So in themselves, each different variable, x, y, z, does not have any meaning.

ExCat(x) and EyCat(y) both say the same thing: something is a cat, or there is a cat.

We will have you always use x just for simplicity, and we will use y, z, etc., only if we need them.