Chapter 23 Building blocks of FOL

23.1 The need to decompose sentences

Consider the following argument, which is obviously valid in English:

  • Willard is a logician.

  • All logicians wear funny hats.

  • Willard wears a funny hat.

To symbolize it in TFL, we might offer a symbolization key:


Willard is a logician.


All logicians wear funny hats.


Willard wears a funny hat.

And the argument itself becomes:


But the truth-table test will now indicate that this is invalid. What has gone wrong?

The problem is not that we have made a mistake while symbolizing the argument. This is the best symbolization we can give in TFL. The problem lies with TFL itself. ‘All logicians wear funny hats’ is about both logicians and hat-wearing. By not retaining this structure in our symbolization, we lose the connection between Willard’s being a logician and Willard’s wearing a hat.

The basic units of TFL are sentence letters, and TFL cannot decompose these. To symbolize arguments like the preceding one, we will have to develop a new logical language which will allow us to split the atom. We will call this language first-order logic, or FOL.

The details of FOL will be explained throughout this chapter, but here is the basic idea for splitting the atom.

First, we have names. In FOL, we indicate these with lowercase italic letters. For instance, we might let ‘b’ stand for Bertie, or let ‘i’ stand for Willard.

Second, we have predicates. English predicates are expressions like ‘blank is a dog’ or ‘blank is a logician’. These are not complete sentences by themselves. In order to make a complete sentence, we need to fill in the gap. We need to say something like ‘Bertie is a dog’ or ‘Willard is a logician’. In FOL, we indicate predicates with uppercase italic letters. For instance, we might let the FOL predicate ‘D’ symbolize the English predicate ‘blank is a dog’. Then the expression ‘D(b)’ will be a sentence in FOL, which symbolizes the English sentence ‘Bertie is a dog’. Equally, we might let the FOL predicate ‘L’ symbolize the English predicate ‘blank is a logician’. Then the expression ‘L(i)’ will symbolize the English sentence ‘Willard is a logician’.

Third, we have quantifiers. For instance, ‘’ will roughly convey ‘There is at least one …’. So we might symbolize the English sentence ‘there is a dog’ with the FOL sentence ‘xD(x)’, which we might read aloud as ‘there is at least one thing, x, such that x is a dog’.

That is the general idea, but FOL is significantly more subtle than TFL, so we will come at it slowly.

23.2 Names

In English, a singular term is a word or phrase that refers to a specific person, place, or thing. The word ‘dog’ is not a singular term, because there are a great many dogs. The phrase ‘Bertie’ is a singular term, because it refers to a specific terrier. Likewise, the phrase ‘Philip’s dog Bertie’ is a singular term, because it refers to a specific little terrier.

Proper names are a particularly important kind of singular term. These are expressions that pick out individuals without describing them. The name ‘Emerson’ is a proper name, and the name alone does not tell you anything about Emerson. Of course, some names are traditionally given to boys and others are traditionally given to girls. If ‘Hilary’ is used as a singular term, you might guess that it refers to a woman. You might, though, be guessing wrongly. Indeed, the name does not necessarily mean that the person referred to is even a person: Hilary might be a giraffe, for all you could tell just from the name.

In FOL, our names are lower-case letters ‘a’ through to ‘r’. We can add subscripts if we want to use some letter more than once. So here are some singular terms in FOL:


These should be thought of along the lines of proper names in English, but with one difference. ‘Tim Button’ is a proper name, but there are several people with this name. We live with this kind of ambiguity in English, allowing context to individuate the fact that ‘Tim Button’ refers to an author of this book, and not some other Tim. In FOL, we do not tolerate any such ambiguity. Each name must pick out exactly one thing. (However, two different names may pick out the same thing.)

As with TFL, we can provide symbolization keys. These indicate, temporarily, what a name will pick out. So we might offer:







23.3 Predicates

The simplest predicates are properties of individuals. They are things you can say about an object. Here are some examples of English predicates:

  • blank is a dog

  • blank is a member of Monty Python

  • A piano fell on blank

In general, you can think about predicates as things which combine with singular terms to make sentences. Conversely, you can start with sentences and make predicates out of them by removing terms. Consider the sentence, ‘Vinnie borrowed the family car from Nunzio.’ By removing a singular term, we can obtain any of three different predicates:

  • blank borrowed the family car from Nunzio

  • Vinnie borrowed blank from Nunzio

  • Vinnie borrowed the family car from blank

In FOL, predicates are capital letters ‘A’ through ‘Z’, with or without subscripts. We might write a symbolization key for predicates thus:


blankx is angry


blankx is happy

(Why the subscripts on the gaps? We will return to this in chapter 25.)

If we combine our two symbolization keys, we can start to symbolize some English sentences that use these names and predicates in combination. For example, consider the English sentences:

  1. 1.

    Elsa is angry.

  2. 2.

    Gregor and Marybeth are angry.

  3. 3.

    If Elsa is angry, then so are Gregor and Marybeth.

Sentence 1 is straightforward: we symbolize it by ‘A(e)’.

Sentence 2 is a conjunction of two simpler sentences. The simple sentences can be symbolized just by ‘A(g)’ and ‘A(m)’. Then we help ourselves to our resources from TFL, and symbolize the entire sentence by ‘A(g)A(m)’. This illustrates an important point: FOL has all of the truth-functional connectives of TFL.

Sentence 3 is a conditional, whose antecedent is sentence 1 and whose consequent is sentence 2, so we can symbolize this with ‘A(e)(A(g)A(m))’.

23.4 Quantifiers

We are now ready to introduce quantifiers. Consider these sentences:

  1. 4.

    Everyone is happy.

  2. 5.

    Someone is angry.

It might be tempting to symbolize sentence 4 as ‘H(e)H(g)H(m)’. Yet this would only say that Elsa, Gregor, and Marybeth are happy. We want to say that everyone is happy, even those with no names. In order to do this, we introduce the ‘’ symbol. This is called the universal quantifier .

A quantifier must always be followed by a variable . In FOL, variables are italic lowercase letters ‘s’ through ‘z’, with or without subscripts. So we might symbolize sentence 4 as ‘xH(x)’. The variable ‘x’ is serving as a kind of placeholder. The expression ‘x’ intuitively means that you can pick anyone and put them in as ‘x’. The subsequent ‘H(x)’ indicates, of that thing you picked out, that it is happy.

It should be pointed out that there is no special reason to use ‘x’ rather than some other variable. The sentences ‘xH(x)’, ‘yH(y)’, ‘zH(z)’, and ‘x5H(x5)’ use different variables, but they will all be logically equivalent.

To symbolize sentence 5, we introduce another new symbol: the existential quantifier , ‘’. Like the universal quantifier, the existential quantifier requires a variable. Sentence 5 can be symbolized by ‘xA(x)’. Whereas ‘xA(x)’ is read naturally as ‘for all x, x is angry’, ‘xA(x)’ is read naturally as ‘there is something, x, such that x is angry’. Once again, the variable is a kind of placeholder; we could just as easily have symbolized sentence 5 by ‘zA(z)’, ‘w256A(w256)’, or whatever.

Some more examples will help. Consider these further sentences:

  1. 6.

    No one is angry.

  2. 7.

    There is someone who is not happy.

  3. 8.

    Not everyone is happy.

Sentence 6 can be paraphrased as, ‘It is not the case that someone is angry’. We can then symbolize it using negation and an existential quantifier: ‘¬xA(x)’. Yet sentence 6 could also be paraphrased as, ‘Everyone is not angry’. With this in mind, it can be symbolized using negation and a universal quantifier: ‘x¬A(x)’. Both of these are acceptable symbolizations. Indeed, it will transpire that, in general, x¬𝒜 is logically equivalent to ¬x𝒜. (Notice that we have here returned to the practice of using ‘𝒜’ as a metavariable, from chapter 8.) Symbolizing a sentence one way, rather than the other, might seem more ‘natural’ in some contexts, but it is not much more than a matter of taste.

Sentence 7 is most naturally paraphrased as, ‘There is some x, such that x is not happy’. This then becomes ‘x¬H(x)’. Of course, we could equally have written ‘¬xH(x)’, which we would naturally read as ‘it is not the case that everyone is happy’. That too would be a perfectly adequate symbolization of sentence 8.

23.5 Domains

Given the symbolization key we have been using, ‘xH(x)’ symbolizes ‘Everyone is happy’. Who is included in this everyone? When we use sentences like this in English, we usually do not mean everyone now alive on the Earth. We certainly do not mean everyone who was ever alive or who will ever live. We usually mean something more modest: everyone now in the building, everyone enrolled in the ballet class, or whatever.

In order to eliminate this ambiguity, we will need to specify a domain . The domain is the collection of things that we are talking about. So if we want to talk about people in Chicago, we define the domain to be people in Chicago. We write this at the beginning of the symbolization key, like this:


people in Chicago

The quantifiers range over the domain. Given this domain, ‘x’ is to be read roughly as ‘Every person in Chicago is such that…’ and ‘x’ is to be read roughly as ‘Some person in Chicago is such that…’.

In FOL, the domain must always include at least one thing. Moreover, in English we can legitimately infer ‘something is angry’ from ‘Gregor is angry’. In FOL, then, we will want to be able to infer ‘xA(x)’ from ‘A(g)’. So we will insist that each name must pick out exactly one thing in the domain. If we want to name people in places beside Chicago, then we need to include those people in the domain.

A domain must have at least one member. Every name must pick out exactly one member of the domain, but a member of the domain may be picked out by one name, many names, or none at all.

Even allowing for a domain with just one member can produce some strange results. Suppose we have this as a symbolization key:


the Eiffel Tower


blankx is in Paris.

The sentence xP(x) might be paraphrased in English as ‘Everything is in Paris.’ Yet that would be misleading. It means that everything in the domain is in Paris. This domain contains only the Eiffel Tower, so with this symbolization key xP(x) just means that the Eiffel Tower is in Paris.

23.6 Non-referring terms

In FOL, each name must pick out exactly one member of the domain. A name cannot refer to more than one thing—it is a singular term. Each name must still pick out something. This is connected to a classic philosophical problem: the so-called problem of non-referring terms.

Medieval philosophers typically used sentences about the chimera to exemplify this problem. Chimera is a mythological creature; it does not really exist. Consider these two sentences:

  1. 9.

    Chimera is angry.

  2. 10.

    Chimera is not angry.

It is tempting just to define a name to mean ‘chimera.’ The symbolization key would look like this:


creatures on Earth


blankx is angry.



We could then symbolize sentence 9 as A(c) and sentence 10 as ¬A(c).

Problems will arise when we ask whether these sentences are true or false.

One option is to say that sentence 9 is not true, because there is no chimera. If sentence 9 is false because it talks about a non-existent thing, then sentence 10 is false for the same reason. Yet this would mean that A(c) and ¬A(c) would both be false. Given the truth conditions for negation, this cannot be the case.

Since we cannot say that they are both false, what should we do? Another option is to say that sentence 9 is meaningless because it talks about a non-existent thing. So A(c) would be a meaningful expression in FOL for some interpretations but not for others. Yet this would make our formal language hostage to particular interpretations. Since we are interested in logical form, we want to consider the logical force of a sentence like A(c) apart from any particular interpretation. If A(c) were sometimes meaningful and sometimes meaningless, we could not do that.

This is the problem of non-referring terms, and we will return to it later (see chapter 28). The important point for now is that each name of FOL must refer to something in the domain, although the domain can contain any things we like. If we want to symbolize arguments about mythological creatures, then we must define a domain that includes them. This option is important if we want to consider the logic of stories. We can symbolize a sentence like ‘Sherlock Holmes lived at 221B Baker Street’ by including fictional characters like Sherlock Holmes in our domain.