Chapter 36 Basic rules for FOL

The language of FOL makes use of all of the connectives of TFL. So proofs in FOL will use all of the basic and derived rules from part IV. We will also use the proof-theoretic notions (particularly, the symbol ‘’) introduced there. However, we will also need some new basic rules to govern the quantifiers, and to govern the identity sign.

36.1 Universal elimination

From the claim that everything is F, you can infer that any particular thing is F. You name it; it’s F. So the following should be fine:

Line number
Subproof level
Formula
Justification
1
0
xR(x,x,d)
PR
2
0
R(a,a,d)
E 1

We obtained line 2 by dropping the universal quantifier and replacing every instance of ‘x’ with ‘a’. Equally, the following should be allowed:

Line number
Subproof level
Formula
Justification
1
0
xR(x,x,d)
PR
2
0
R(d,d,d)
E 1

We obtained line 2 here by dropping the universal quantifier and replacing every instance of ‘x’ with ‘d’. We could have done the same with any other name we wanted.

This motivates the universal elimination rule (E):

Line number
Subproof level
Formula
Justification
m
0
𝓍𝒜(𝓍𝓍)
  
0
𝒜(𝒸𝒸)
E m

The notation here was introduced in chapter 31. The point is that you can obtain any substitution instance of a universally quantified formula: replace every free occurrence of the quantified variable with any name you like.

We should emphasize that (as with every elimination rule) you can only apply the E rule when the universal quantifier is the main logical operator. So the following is banned:

Line number
Subproof level
Formula
Justification
1
0
xB(x)B(k)
PR
2
0
B(b)B(k)
naughy attempt to invoke E 1

This is illegitimate, since ‘x’ is not the main logical operator in line 1. (If you need a reminder as to why this sort of inference should be banned, reread chapter 24.)

36.2 Existential introduction

From the claim that some particular thing is F, you can infer that something is F. So we ought to allow:

Line number
Subproof level
Formula
Justification
1
0
R(a,a,d)
PR
2
0
xR(a,a,x)
I 1

Here, we have replaced the name ‘d’ with a variable ‘x’, and then existentially quantified over it. Equally, we would have allowed:

Line number
Subproof level
Formula
Justification
1
0
R(a,a,d)
PR
2
0
xR(x,x,d)
I 1

Here we have replaced both instances of the name ‘a’ with a variable, and then existentially generalized. But we do not need to replace both instances of a name with a variable: if Narcissus loves himself, then there is someone who loves Narcissus. So we also allow:

Line number
Subproof level
Formula
Justification
1
0
R(a,a,d)
PR
2
0
xR(x,a,d)
I 1

Here we have replaced one instance of the name ‘a’ with a variable, and then existentially generalized. These observations motivate our introduction rule, although to explain it, we will need to introduce some new notation.

Where 𝒜 is a sentence containing the name 𝒸, we can emphasize this by writing ‘𝒜(𝒸𝒸)’. We will write ‘𝒜(𝓍𝒸)’ to indicate any formula obtained by replacing some or all of the instances of the name 𝒸 with the variable 𝓍 (provided 𝒸, wherever it is replaced, does not occur in the scope of a quantifier binding 𝓍). Armed with this, our introduction rule is:

Line number
Subproof level
Formula
Justification
m
0
𝒜(𝒸𝒸)
  
0
𝓍𝒜(𝓍𝒸)
I m

36.3 Empty domains

The following proof combines our two new rules for quantifiers:

Line number
Subproof level
Formula
Justification
1
0
xF(x)
PR
2
0
F(a)
E 1
3
0
xF(x)
I 2

Could this be a bad proof? If anything exists at all, then certainly we can infer that something is F, from the fact that everything is F. But what if nothing exists at all? Then it is surely vacuously true that everything is F; however, it does not following that something is F, for there is nothing to be F. So if we claim that, as a matter of logic alone, ‘xF(x)’ follows from ‘xF(x)’, then we are claiming that, as a matter of logic alone, there is something rather than nothing. This might strike us as a bit odd.

Actually, we are already committed to this oddity. In chapter 23, we stipulated that domains in FOL must have at least one member. We then defined a validity (of FOL) as a sentence which is true in every interpretation. Since ‘xx=x’ will be true in every interpretation, this also had the effect of stipulating that it is a matter of logic that there is something rather than nothing.

Since it is far from clear that logic should tell us that there must be something rather than nothing, we might well be cheating a bit here.

If we refuse to cheat, though, then we pay a high cost. Here are three things that we want to hold on to:

  1. 1.

    xF(x)F(a): after all, that was E.

  2. 2.

    F(a)xF(x): after all, that was I.

  3. 3.

    the ability to copy-and-paste proofs together: after all, reasoning works by putting lots of little steps together into rather big chains.

If we get what we want on all three counts, then we have to countenance that xF(x)xF(x). So, if we get what we want on all three counts, the proof system alone tells us that there is something rather than nothing. And if we refuse to accept that, then we have to surrender one of the three things that we want to hold on to!

Before we start thinking about which to surrender, we might want to ask how much of a cheat this is. Granted, it may make it harder to engage in theological debates about why there is something rather than nothing. But the rest of the time, we will get along just fine. So maybe we should just regard our proof system (and FOL, more generally) as having a very slightly limited purview. If we ever want to allow for the possibility of nothing, then we will have to cast around for a more complicated proof system. But for as long as we are content to ignore that possibility, our proof system is perfectly in order. (As, similarly, is the stipulation that every domain must contain at least one object.)

36.4 Universal introduction

Suppose you had shown of each particular thing that it is F (and that there are no other things to consider). Then you would be justified in claiming that everything is F. This would motivate the following proof rule. If you had established each and every single substitution instance of ‘xF(x)’, then you can infer ‘xF(x)’.

Unfortunately, that rule would be utterly unusable. To establish each and every single substitution instance would require proving ‘F(a)’, ‘F(b)’, …, ‘F(j2)’, …, ‘F(r79002)’, …, and so on. Indeed, since there are infinitely many names in FOL, this process would never come to an end. So we could never apply that rule. We need to be a bit more cunning in coming up with our rule for introducing universal quantification.

A solution will be inspired by considering:

xF(x)yF(y)

This argument should obviously be valid. After all, alphabetical variation ought to be a matter of taste, and of no logical consequence. But how might our proof system reflect this? Suppose we begin a proof thus:

Line number
Subproof level
Formula
Justification
1
0
xF(x)
PR
2
0
F(a)
E 1

We have proved ‘F(a)’. And, of course, nothing stops us from using the same justification to prove ‘F(b)’, ‘F(c)’, …, ‘F(j2)’, …, ‘F(r79002), …, and so on until we run out of space, time, or patience. But reflecting on this, we see that there is a way to prove F(𝒸), for any name 𝒸. And if we can do it for any thing, we should surely be able to say that ‘F’ is true of everything. This therefore justifies us in inferring ‘yF(y)’, thus:

Line number
Subproof level
Formula
Justification
1
0
xF(x)
PR
2
0
F(a)
E 1
3
0
yF(y)
I 2

The crucial thought here is that ‘a’ was just some arbitrary name. There was nothing special about it—we might have chosen any other name—and still the proof would be fine. And this crucial thought motivates the universal introduction rule (I):

Line number
Subproof level
Formula
Justification
m
0
𝒜(𝒸𝒸)
  
0
𝓍𝒜(𝓍𝓍)
I m

where the name 𝒸 must not occur in a premise or an undischarged assumption.

In section 31.3, we introduced a convention for indicating substitution instances: We said that if 𝒜(𝓍𝓍) is a formula, then 𝒜(𝒸𝒸) is the result of replacing every free occurrence of 𝓍 in 𝒜 by 𝒸. To state our I rule, we are using the same convention, except in the other direction: If 𝒜(𝒸𝒸) is a formula, then 𝒜(𝓍𝓍) is the result of replacing every occurrence of 𝒸 in it by 𝓍. (This is only allowed as long as 𝒸 does not occur in the scope of a quantifier binding 𝓍 in 𝒜.)

There are a two important things to watch out for in applying the I rule. If we are not careful with the choice of name 𝒸 and its replacement by 𝓍 we are at risk of making some incorrect inferences.

The constraint on the I rule requires that 𝒸 must not occur in a premise or an undischarged assumption. This constraint ensures that we are always reasoning at a sufficiently general level. To see the constraint in action, consider this terrible argument:

  • Everyone loves Kylie Minogue.

  • Everyone loves themselves.

We might symbolize this obviously invalid inference pattern as:

xL(x,k)xL(x,x)

Now, suppose we tried to offer a proof that vindicates this argument:

Line number
Subproof level
Formula
Justification
1
0
xL(x,k)
PR
2
0
L(k,k)
E 1
3
0
xL(x,x)
naughty attempt to invoke I 2

This is not allowed, because ‘k’ occurred already in a premise, namely, on line 1. The crucial point is that, if we have made any assumptions about the object we are working with, then we are not reasoning generally enough to license I.

Although the name may not occur in any undischarged assumption, it may occur in a discharged assumption. That is, it may occur in a subproof that we have already closed. For example, this is just fine:

Line number
Subproof level
Formula
Justification
1
open subproof, 1
G(d)
AS
2
1
G(d)
R 1
3
close subproof, 0
G(d)G(d)
I 12
4
0
z(G(z)G(z))
I 3

This tells us that ‘z(G(z)G(z))’ is a theorem. And that is as it should be.

If we only replace some names and not others, we end up ‘proving’ silly things. For example, consider the argument:

  • Everyone is as old as themselves.

  • Everyone is as old as Judi Dench.

We might symbolize this as follows:

xO(x,x)xO(x,d)

But now suppose we tried to vindicate this terrible argument with the following:

Line number
Subproof level
Formula
Justification
1
0
xO(x,x)
PR
2
0
O(d,d)
E 1
3
0
xO(x,d)
naughty attempt to invoke I 2

Fortunately, our rules do not allow us to do this: the attempted proof is banned, since it doesn’t replace every occurrence of ‘d’ in line 2 with an ‘x’.

36.5 Existential elimination

Suppose we know that something is F. The problem is that simply knowing this does not tell us which thing is F. So it would seem that from ‘xF(x)’ we cannot immediately conclude ‘F(a)’, ‘F(e23)’, or any other substitution instance of the sentence. What can we do?

Suppose we know that something is F, and that everything which is F is also G. In (almost) natural English, we might reason thus:

Since something is F, there is some particular thing which is an F. We do not know anything about it, other than that it’s an F, but for convenience, let’s call it ‘Becky’. So: Becky is F. Since everything which is F is G, it follows that Becky is G. But since Becky is G, it follows that something is G. And nothing depended on which object, exactly, Becky was. So, something is G.

We might try to capture this reasoning pattern in a proof as follows:

Line number
Subproof level
Formula
Justification
1
0
xF(x)
PR
2
0
x(F(x)G(x))
PR
3
open subproof, 1
F(b)
AS
4
1
F(b)G(b)
E 2
5
1
G(b)
E 4, 3
6
1
xG(x)
I 5
7
close subproof, 0
xG(x)
E 1, 36

Breaking this down: we started by writing down our assumptions. At line 3, we made an additional assumption: ‘F(b)’. This was just a substitution instance of ‘xF(x)’. On this assumption, we established ‘xG(x)’. Note that we had made no special assumptions about the object named by ‘b’; we had only assumed that it satisfies ‘F(x)’. So nothing depends upon which object it is. And line 1 told us that something satisfies ‘F(x)’, so our reasoning pattern was perfectly general. We can discharge the specific assumption ‘F(b)’, and simply infer ‘xG(x)’ on its own.

Putting this together, we obtain the existential elimination rule (E):

Line number
Subproof level
Formula
Justification
m
0
𝓍𝒜(𝓍𝓍)
i
open subproof, 1
𝒜(𝒸𝒸)
AS
j
1
  
close subproof, 0
E m, ij

𝒸 must not occur in any assumption undischarged before line i
𝒸 must not occur in 𝓍𝒜(𝓍𝓍)
𝒸 must not occur in

As with universal introduction, the constraints are extremely important. To see why, consider the following terrible argument:

  • Tim Button is a lecturer.

  • Someone is not a lecturer.

  • Tim Button is both a lecturer and not a lecturer.

We might symbolize this obviously invalid inference pattern as follows:

L(b),x¬L(x)L(b)¬L(b)

Now, suppose we tried to offer a proof that vindicates this argument:

Line number
Subproof level
Formula
Justification
1
0
L(b)
PR
2
0
x¬L(x)
PR
3
open subproof, 1
¬L(b)
AS
4
1
L(b)¬L(b)
I 1, 3
5
close subproof, 0
L(b)¬L(b)
naughty attempt to invoke E 2, 34

The last line of the proof is not allowed. The name that we used in our substitution instance for ‘x¬L(x)’ on line 3, namely ‘b’, occurs in line 4. This would be no better:

Line number
Subproof level
Formula
Justification
1
0
L(b)
PR
2
0
x¬L(x)
PR
3
open subproof, 1
¬L(b)
AS
4
1
L(b)¬L(b)
I 1, 3
5
1
x(L(x)¬L(x))
I 4
6
close subproof, 0
x(L(x)¬L(x))
naughty attempt to invoke E 2, 35

The last line is still not allowed. For the name that we used in our substitution instance for ‘x¬L(x)’, namely ‘b’, occurs in an undischarged assumption, namely line 1.

Finally, consider this ‘proof’:

Line number
Subproof level
Formula
Justification
1
0
xL(a,x)
PR
2
open subproof, 1
L(a,a)
AS
3
1
xL(x,x)
I 2
4
close subproof, 0
xL(x,x)
naughty attempt to invoke E 1, 23

Here the name ‘a’ violates the second condition of the E rule: it occurs in ‘xL(a,x)’ on line 1. And we have to prevent this from being a proof, since it is invalid: ‘Someone likes themselves’ does not follow from ‘Alex likes someone’.

The moral of the story is this. If you want to squeeze information out of an existential quantifier, choose a new name for your substitution instance. That way, you can guarantee that you meet all the constraints on the rule for E.

36.6 Quantifier rules and vacuous quantification

There is a subtle issue in our quantifier rules that has to do with an aspect of the way we have specified the rules of our syntax, namely the possibility of vacuous quantification (see the end of section 27.3). In sections 36.1 and 36.5 we made use of the substitution notation of chapter 31: 𝒜(𝒸𝒸) is the formula obtained by replacing every free occurrence of 𝓍 in 𝒜 with 𝒸. Here, we emphasize the ‘free’ for a reason. It means you cannot always replace every occurrence of 𝓍. For instance, this would be incorrect:

Line number
Subproof level
Formula
Justification
1
0
x(F(x)xG(x))
PR
2
0
F(a)xG(a)
naughty attempt to invoke E 1

On line 2, we have formed the substitution instance incorrectly: we replaced the ‘x’ in both ‘F(x)’ and in ‘G(x)’ by ‘a’, but only the first one is a free occurrence—the other one is bound by ‘x’. Not only would this violate a restriction on substitution, it would allow us to ‘prove’ an invalid argument. Since ‘xG(a)’ is a case of vacuous quantification, it is equivalent to just ‘G(a)’. Furthermore, line 1 is equivalent to ‘x(F(x)yG(y))’. It should be easy to see that this does not entail ‘F(a)G(a)’. You’re unlikely to encounter such a case (unless you have a devious instructor): your exercises will likely only involve sentences like ‘x(F(x)yG(y))’, with variables nicely kept separate.

In section 36.2, we said that we use ‘𝒜(𝓍𝒸)’ to indicate any formula obtained by replacing some or all of the instances of the name 𝒸 with the variable 𝓍 provided 𝒸, wherever it is replaced, does not occur in the scope of a quantifier binding 𝓍. The emphasized restriction prohibiting the replacement of 𝒸 in some cases is somewhat subtle. You probably will never find yourself in a situation where you run the risk of violating it. But it is needed to make the rule correct. Since we allow vacuous quantification, for instance, ‘xxL(x,x)’ is a legal sentence of FOL. It’s just that in it, the first ‘x’ doesn’t do any work, and the sentence is equivalent to just ‘xL(x,x)’. Now, ‘xL(x,x)could be obtained from ‘xL(a,x)’ by replacing the name ‘a’ by the variable ‘x’ if we weren’t careful and overlooked that here ‘adoes occur in the scope of ‘x’. Without the restriction, the following would then be allowed:

Line number
Subproof level
Formula
Justification
1
0
xL(a,x)
PR
2
0
xxL(x,x)
naughty attempt to invoke I 1

But since ‘xxL(x,x)’ is equivalent to just ‘xL(x,x)’, this would be an invalid inference. To see why, read ‘L’ as ‘likes’: From ‘Alex likes everyone’ it does not follow that everyone likes everyone.

Similarly, in section 36.4, we said that 𝒜(𝓍𝓍) is the result of replacing every occurrence of 𝒸 in 𝒜(𝒸𝒸) by 𝓍, but that this is only allowed as long as 𝒸 does not occur in the scope of a quantifier binding 𝓍 in 𝒜. Like the constraint involved in the statement of the I rule, it does not often happen that you’d risk violating it in practice. But here’s why it’s important. Again, since we allow vacuous quantification, ‘xxL(x,x)’ is a legal sentence of FOL. However, ‘xxL(x,x)’ can be obtained from ‘xL(a,x)’ by replacing the name ‘a’ by the variable ‘x’ everywhere. This violates the restriction we included, though: ‘a’ does occur in the scope of ‘x’ in this case. Without the restriction, the following would be allowed:

Line number
Subproof level
Formula
Justification
1
0
yxL(y,x)
PR
2
0
xL(a,x)
E 1
3
0
xxL(x,x)
naughty attempt to invoke I 2

But since ‘xxL(x,x)’ is equivalent to just ‘xL(x,x)’, this would be an invalid inference: ‘Someone likes themselves’ does not follow from ‘Everyone likes someone’.

Practice exercises

A. Explain why these two ‘proofs’ are incorrect. Also, provide interpretations which would invalidate the fallacious argument forms the ‘proofs’ enshrine:

Line number
Subproof level
Formula
Justification
1
0
xR(x,x)
PR
2
0
R(a,a)
E 1
3
0
yR(a,y)
I 2
4
0
xyR(x,y)
I 3
Line number
Subproof level
Formula
Justification
1
0
xyR(x,y)
PR
2
0
yR(a,y)
E 1
3
open subproof, 1
R(a,a)
AS
4
1
xR(x,x)
I 3
5
close subproof, 0
xR(x,x)
E 2, 34

B. The following three proofs are missing their citations (rule and line numbers). Add them, to turn them into bona fide proofs.

  1. 1.
    Line number
    Subproof level
    Formula
    Justification
    1
    0
    xy(R(x,y)R(y,x))
    2
    0
    x¬R(m,x)
    3
    0
    y(R(m,y)R(y,m))
    4
    open subproof, 1
    R(m,a)R(a,m)
    5
    1
    ¬R(m,a)
    6
    1
    R(a,m)
    7
    1
    xR(x,m)
    8
    close subproof, 0
    xR(x,m)
  2. 2.
    Line number
    Subproof level
    Formula
    Justification
    1
    0
    x(yL(x,y)zL(z,x))
    2
    0
    L(a,b)
    3
    0
    yL(a,y)zL(z,a)
    4
    0
    yL(a,y)
    5
    0
    zL(z,a)
    6
    0
    L(c,a)
    7
    0
    yL(c,y)zL(z,c)
    8
    0
    yL(c,y)
    9
    0
    zL(z,c)
    10
    0
    L(c,c)
    11
    0
    xL(x,x)
  3. 3.
    Line number
    Subproof level
    Formula
    Justification
    1
    0
    x(J(x)K(x))
    2
    0
    xyL(x,y)
    3
    0
    xJ(x)
    4
    open subproof, 1
    yL(a,y)
    5
    1
    L(a,a)
    6
    1
    J(a)
    7
    1
    J(a)K(a)
    8
    1
    K(a)
    9
    1
    K(a)L(a,a)
    10
    1
    x(K(x)L(x,x))
    11
    close subproof, 0
    x(K(x)L(x,x))

C. In exercise 24A, we considered fifteen syllogistic figures of Aristotelian logic. Provide proofs for each of the argument forms. NB: You will find it much easier if you symbolize (for example) ‘No F is G’ as ‘x(F(x)¬G(x))’.

D. Aristotle and his successors identified other syllogistic forms which depended upon ‘existential import’. Symbolize each of these argument forms in FOL and offer proofs.

  1. 1.

    Barbari. Something is H. All G are F. All H are G. So: Some H is F.

  2. 2.

    Celaront. Something is H. No G are F. All H are G. So: Some H is not F.

  3. 3.

    Cesaro. Something is H. No F are G. All H are G. So: Some H is not F.

  4. 4.

    Camestros. Something is H. All F are G. No H are G. So: Some H is not F.

  5. 5.

    Felapton. Something is G. No G are F. All G are H. So: Some H is not F.

  6. 6.

    Darapti. Something is G. All G are F. All G are H. So: Some H is F.

  7. 7.

    Calemos. Something is H. All F are G. No G are H. So: Some H is not F.

  8. 8.

    Fesapo. Something is G. No F is G. All G are H. So: Some H is not F.

  9. 9.

    Bamalip. Something is F. All F are G. All G are H. So: Some H are F.

E. For each of the following claims, provide an FOL proof that shows it is true.

  1. 1.

    xF(x)y(F(y)F(y))

  2. 2.

    x(A(x)B(x)),xA(x)xB(x)

  3. 3.

    x(M(x)N(x)),M(a)xR(x,a)xN(x)

  4. 4.

    xyG(x,y)xG(x,x)

  5. 5.

    xR(x,x)xyR(x,y)

  6. 6.

    yx(Q(y)Q(x))

  7. 7.

    N(a)x(M(x)M(a)),M(a),¬M(b)¬N(a)

  8. 8.

    xy(G(x,y)G(y,x))xy(G(x,y)G(y,x))

  9. 9.

    x(¬M(x)L(j,x)),x(B(x)L(j,x)),x(M(x)B(x))xL(j,x)

F. Write a symbolization key for the following argument, symbolize it, and prove it:

  • There is someone who likes everyone who likes everyone that she likes.

  • There is someone who likes herself.

G. Show that each pair of sentences is provably equivalent.

  1. 1.

    x(A(x)¬B(x)), ¬x(A(x)B(x))

  2. 2.

    x(¬A(x)B(d)), xA(x)B(d)

  3. 3.

    xP(x)Q(c), x(P(x)Q(c))

H. For each of the following pairs of sentences: If they are provably equivalent, give proofs to show this. If they are not, construct an interpretation to show that they are not logically equivalent.

  1. 1.

    xP(x)Q(c),x(P(x)Q(c))

  2. 2.

    xyzB(x,y,z),xB(x,x,x)

  3. 3.

    xyD(x,y),yxD(x,y)

  4. 4.

    xyD(x,y),yxD(x,y)

  5. 5.

    x(R(c,a)R(x,a)),R(c,a)xR(x,a)

I. For each of the following arguments: If it is valid in FOL, give a proof. If it is invalid, construct an interpretation to show that it is invalid.

  1. 1.

    yxR(x,y)xyR(x,y)

  2. 2.

    xyR(x,y)yxR(x,y)

  3. 3.

    x(P(x)¬Q(x))x(P(x)¬Q(x))

  4. 4.

    x(S(x)T(a)),S(d)T(a)

  5. 5.

    x(A(x)B(x)),x(B(x)C(x))x(A(x)C(x))

  6. 6.

    x(D(x)E(x)),x(D(x)F(x))x(D(x)F(x))

  7. 7.

    xy(R(x,y)R(y,x))R(j,j)

  8. 8.

    xy(R(x,y)R(y,x))R(j,j)

  9. 9.

    xP(x)xQ(x),x¬P(x)x¬Q(x)

  10. 10.

    xM(x)xN(x), ¬xN(x)x¬M(x)