Cohen Book
Cohen Book
P(c)
Q(c)
!x (P(x) # Q(x))
There is an important bit of new notation here c
P(c)
!x P(x)
Remember, any time you set up a subproof for ! !! ! Intro, you must choose a boxed constant
on the assumption line of the subproof, even if there is no sentence on the assumption line.
For practice, do the You try it on p. 344.
Where c does not occur outside
the subproof where it is
introduced.
Where c does not occur outside
the subproof where it is
introduced.
Copyright 2004, S. Marc Cohen Revised 11/26/04
13-2
Default and generous uses of the ! !! ! rules
Default
! !! ! Elim: If you cite a universal generalization and apply the rule ! !! ! Elim, Fitch will
enter an instance of the generalization containing its best guess of the constant you want
to replace the variable. If you are within a subproof containing a boxed constant, Fitch
will use that constant. Otherwise, Fitch will use the alphabetically first constant not
already in use in the sentence.
If you want to use a different constant, there are three ways to do it.
(1) The slow way: type the entire sentence in manually.
(2) A faster way: let Fitch guess, and then correct the sentence manually.
(3) The fastest way: suppose the quantifier is !x and you want to replace x with
c. Cite the universal generalization, apply ! !! ! Elim, and type in :x > c. What
this says to Fitch is replace x with c. Fitch will then enter an instance of the
universal generalization with c plugged in for x.
! !! ! Intro: If you apply ! !! ! Intro to a subproof containing a boxed constant (but no
sentence) on the assumption line, Fitch will enter the universal generalization of the last
line in the subproof. If there is a sentence on the assumption line, Fitch will enter the
universal generalization of the conditional whose antecedent is the assumption sentence
and whose consequent is the last line of the subproof.
Do the You try it on p. 345.
Generous
Fitch lets you remove (or introduce) more than one quantifier at a time.
! !! ! Elim: You can remove several quantifiers simultaneously. To go from !x !y
SameCol(x, y) to SameCol(b, c), you may type in the new sentence manually, cite the
universal generalization, and apply the rule. Or, cite the supporting sentence, apply the
rule, and tell Fitch:
:x > b :y > c
This tells Fitch to replace x with b and y with c.
! !! ! Intro: You may also introduce more than one quantifier at a time. The trick here is to
box more than one constant at the start of the subproof. Then, at the end of the
subproof, Fitch will enter the appropriate universal generalization (of a conditional, if
there is a sentence in the assumption line, otherwise of the last line in the subproof).
You can use the colon notation as above to tell Fitch which variables to use. For
example, if your boxed constants are b and c, then you tell Fitch to replace b with x and
c with y by writing:
:b > x :c > y
The order in which you write these replacement instructions makes a difference.
The instruction we wrote above tells Fitch not only to replace b with x and c with y, it
also tells Fitch to put the quantifiers in the order !x!y. If we wanted to make the same
replacements (x for b and y for c), but have the quantifiers in the opposite order, !y!x,
wed give the instruction this way:
Copyright 2004, S. Marc Cohen Revised 11/26/04
13-3
:c > y :b > x
To see how this works, go to the Supplementary Exercises page and open the file
Ch13Ex1. Open a new subproof with boxed constants b and c. (Choose them in this
order.) Then add a new step after the assumption, cite the premise, and choose rule ! !! !
Elim. If you click Check Step at this point, Fitch will enter an instance of the premise,
but with only the outer quantifier removedit will replace x with b. (If you had chosen
the boxed constants in the other order, c b , Fitch would have replaced x with c.)
If you want to use ! !! ! Elim to get SameCol(b, c) from the premise
!x!y SameCol(x, y) in just one step, you must specify the replacements using the
colon notation, :x > b :y > c. Then cite the premise and apply ! !! ! Elim; Fitch will
enter SameCol(b, c).
Next, end the subproof, cite it, and choose rule ! !! ! Intro. This time, be sure you specify
not only the replacements but also the order in which the quantifiers are to appear.
Since the conclusion is !y!x SameCol(x, y), the instruction is
:c > y :b > x
Fitch will enter the desired conclusion, !y!x SameCol(x, y). (Notice what happens to
the conclusion if you write :b > x :c > y.) What we proved here, by the way, is
that in a string of universal quantifiers, the order of the quantifiers is semantically
irrelevant.
13.2 Existential quantifier rules
Existential Introduction (" "" " Intro)
S(c)
"x S(x)
Here x stands for any variable, c stands for any individual constant, and S(c) stands for the
result of replacing all free occurrences of x in S(x) with c. Note that there may be other
occurrences of c in S(x).
Example 1
1. !y (Adjoins(b, y) # SameSize(y, b))
2. "x!y (Adjoins(x, y) # SameSize(y, x)) " "" " Intro: 1
In example 1, there are no occurrences of b in the existential generalization we derived
by using " "" " Intro. But now look at the next example:
Example 2
1. !y (Adjoins(b, y) # SameSize(y, b))
2. "x!y (Adjoins(b, y) # SameSize(y, x)) " "" " Intro: 1
In example 2, there is an occurrence of b in the existential generalization we derived by
using " "" " Intro. But that is perfectly all right. We require that the instance (line 1, in this
case) have b wherever the generalization (line 2) has x, but not conversely.
Note carefully the wording of the rule. It talks about S(c) being the result of replacing
free occurrences of x in S(x) with c, even though when we apply the rule, we tend to
think of it differentlywe start out with S(c) and then replace c with x, and attach "x.
Copyright 2004, S. Marc Cohen Revised 11/26/04
13-4
So a good way to think about ! !! ! Intro is as follows: you start out with an instance of a
general sentence, containing (perhaps) one or more occurrences of the constant, c. You
then get to replace one or more of the occurrences of c (you dont have to replace all of
the occurrences of c, although you may if you wish) with a variable x, and then attach
the quantifier !x.
The reason for the perhaps above is because of the possibility of null
quantification (recall 10.4, pp. 280-82)that is, a sentence in which an x
quantifier contains no other occurrence of x within its scope. Strictly speaking,
this peculiar inference, whose conclusion is a null quantification, is valid:
Cube(b)
!x Cube(b)
Therefore, the ! !! ! Intro rule had better allow us to draw it. And notice that its
careful wording insures that it does just this. In this case, S(x) is Cube(b),
which contains no occurrences of x at all. So S(c), which is the result of
replacing all free occurrences of x in S(x) with c, is also just our original
sentence Cube(b). Then when we attach the quantifier !x, it becomes null, since
there is no free occurrence of x in Cube(b) for the quantifier to bind. So the
! !! ! Intro rule permits this inference. If youre in doubt, try out this use of ! !! ! Intro
in Fitch!
For a good illustration of the versatility of ! !! ! Intro, look at the file EI Varieties (on the
Supplementary Exercises page). Youll see that there are four different conclusions that can
be obtained by ! !! ! Intro from Likes(max, max), including the null quantification case
described above.
Existential Elimination (! !! ! Elim)
!x S(x)
c
S(c)
Q
Q
Here, again, the boxed constant indicates that we are choosing c as a name for some
arbitrary object satisfying S(x). Note that the restriction that c may not occur outside the
subproof means, in effect, that c cannot occur in the last line of the subproof, either. (! !! ! Elim
instructs us to end the subproof and enter its last line, Q, as a new line, outside the subproof).
It is this restriction on ! !! ! Elim that blocks the fallacious inference we discussed in Chapter 12
[the pseudo-proof deducing !y "x Admires(x, y) from "x !y Admires(x, y)]. To see how
this works, look at Exercise 13.17 on page 351 (which is a homework problem). There you
will see that the mistake in this pseudo proof is an incorrect application of ! !! ! Elim.
Where c does not occur outside
the subproof where it is
introduced.
Copyright 2004, S. Marc Cohen Revised 11/26/04
13-5
Default and generous uses of the ! !! ! rules
Default
! !! ! Intro: If you cite a sentence and apply ! !! ! Intro, Fitch will replace the alphabetically
first name in the sentence with the first variable in the list (x, y, z, u, v, w) not already
in the sentence.
! !! ! Elim: If you end a subproof, cite it, and apply ! !! ! Elim, Fitch will enter the last line of
the subproof on a new line (provided it does not contain any occurrences of the boxed
constant).
Generous
! !! ! Intro: You can attach several existential quantifiers simultaneously. (Of course, they
will have to be attached to the front of the sentence.) To go from SameCol(b, c) to !x
!y SameCol(x, y), you may cite the supporting sentence, apply the rule, and tell Fitch:
:b > x :c > y
This tells Fitch to replace b with x and c with y. The instruction
:b > y :c > x
will produce the sentence !y !x SameCol(y, x). On the other hand, the instruction
:c > x :b > y
will produce the sentence !x !y SameCol(y, x).
! !! ! Elim: The trick here is to start a subproof with more than one boxed constant. If your
subproof ends with a sentence, Q, that does not contain either of these constants, you
may use ! !! ! Elim to enter Q on the next line. (Q is typically, although not always, an
existential generalization, i.e., an !-sentence.)
13.3 Strategy and tactics
Working out strategy and tactics for a given proof is best accomplished in the following way:
1. Try to understand what the FOL sentences mean.
2. Try to come up with an informal proof.
3. Convert your informal proof into a Fitch proof.
The example on p. 352 gives you a good idea of how this works. For some hands-on experience, do
the You try it on p. 356.
Now lets try working through one of the exercises. Open Exercise 13.23. First, figure out what the
sentences mean. Youll come up with something like this:
Everything is either a cube or a dodecahedron.
Every cube is large.
Something is not large.
Therefore, there is a dodecahedron.
Next, try to develop an informal proof. It might run as follows:
Copyright 2004, S. Marc Cohen Revised 11/26/04
13-6
We know that at least one thing is not large. Lets pick a thing that isnt large and call it
b. Now since every cube is large and b isnt large, we know that b is not a cube. But
everything is either a cube or a dodecahedron, and b is not a cube. Therefore, b is a
dodecahedron. So we have proved that there is a dodecahedron.
Now convert this into a Fitch proof. We have obviously used existential instantiation strategy,
based on premise 3. So our proof will begin with a subproof containing the assumption Large(b),
with b as a boxed constant (see the file Proof 13.23a.prf). We will aim for Dodec(b), from which
we can obtain !x Dodec(x) by ! !! ! Intro. Then we can use ! !! ! Elim to end the subproof and infer our
conclusion !x Dodec(x).
Premise 2 tells us that all the cubes are large, so we need to infer the relevant instance concerning
b. This means using " "" " Elim, replacing x with b. We now have Cube(b) # Large(b) on one line
and Large(b) on another. Since we are allowed to use Taut Con with this problem, we may
immediately infer Cube(b). This leaves us in the position shown in Proof 13.23b.prf.
We now go back to premise 1 and apply " "" " Elim again, with b replacing y, obtaining
Cube(b) Dodec(b). And this, together with Cube(b), gives us Dodec(b)once again we use
Taut Con. And that gives us our completed proof (see the file Proof 13.23.prf).
In Chapter 11 we translated some arguments into FOL and promised to return to them later. The one
about Doris Day provides good practice in proof strategy.
The Doris Day principle (again)
Everybody loves a lover.
Doris is a lover.
Everybody loves Doris.
Doris loves everybody.
In FOL:
"x "y (!z Loves(y, z) # Loves(x, y))
!z Loves(doris, z)
"x Loves(x, doris)
"x Loves(doris, x)
Informal proof
The first premise tells us that everybody loves a lover, so it follows that everybody
loves Doris if shes a lover. But the second premise tells us that Doris is a loverso it
follows that everybody loves her. That is our first conclusion. But if everybody loves
Doris, then any randomly chosen person, a, loves Doris. Since a loves Doris, it follows
that a loves someone (i.e., a is a lover). But it follows from the first premise that if a is
a lover, everybody loves a. Now we have proved that a is a lover, so it follows that
everybody loves a. From this it follows that Doris loves a. Since a was chosen at
random, it follows that Doris loves everyone.
Copyright 2004, S. Marc Cohen Revised 11/26/04
13-7
Formal proof
Now convert this into a Fitch proof (see Ch13Ex3.prf). Start a new subproof with
boxed constant a. We will prove, first, that a loves Doris, and, second, that Doris loves
a. We apply ! !! ! Elim to the first premise twice, replacing x with a and y with Doris. The
resulting sentence says that if Doris is a lover, then a loves Doris. We then use " "" " Elim
on that sentence together with the second premise to obtain Loves(a, doris). We then
reapply ! !! ! Elim to the first premise, this time replacing x with Doris and y with a. The
resulting sentence says that if a is a lover, then Doris loves a. We then end the subproof
and apply ! !! ! Intro twice, once to get !x Loves(x, doris) and a second time to get !x
Loves(doris, x). Notice that the sentence (containing the boxed constant a) on which
we are generalizing does not have to occur in the last line of the subproof. For the
complete proof, see ProofCh13Ex3.prf.
13.4 Soundness and completeness
We saw earlier (Chapter 8) that the restricted system F
T
for propositional logic is both sound and
complete. We now note that the full system F for FOL is also both sound and complete. Let us
briefly review what soundness and completeness amount to.
Soundness
To say that a deductive system is sound is to say that all of the inferences it permits are
(semantically) correct. That is, it never permits you to infer a falsehood from a truth. In the
case of system F
T
, this meant that every conclusion that can be proved by the rules of F
T
is a
tautological consequence of its premises.
Completeness
To say that a deductive system is complete is to say that there is no (semantically) correct
inference that it cannot prove. In the case of system F
T
, this meant that any tautological
consequence of any set of premises can be proved (i.e., derived from those premises) by the
rules of F
T
.
Obviously, the notions of soundness and completeness of the full system F are exactly analogous
to those for the restricted system F
T
. There are only two differences:
1. In place of tautological consequence (for system F
T
) we now have first-order
consequence (for system F). If you are unclear on the notion of first-order consequence,
review 10.2.
2. In place of the notion of provability in system F
T
, we now have provability in system F.
Just as we used the turnstile notation,
T
, to express the former notion, we now write
simply to express the latter. Here is what the difference amounts to:
P
1
,, P
n
T
S means that S can be proved, from premises P
1
,, P
n
, using only the
truth-functional rules (i.e., the rules of F
T
).
P
1
,, P
n
S means that S can be proved, from premises P
1
,, P
n
, using any of the
rules of F.
We can now state the soundness and completeness theorems for F:
Copyright 2004, S. Marc Cohen Revised 11/26/04
13-8
The Soundness Theorem for F: If P
1
,, P
n
S, then S is a first-order
consequence of P
1
,, P
n
.
The Completeness Theorem for F: If a sentence S is a first-order
consequence of P
1
,, P
n
, then P
1
,, P
n
S.
Recall that in propositional logic, there are soundness and completeness corollaries that relate the
notions of tautology and provability in F
T
. There are analogous corollaries for the full system F.
These concern the relation between proofs without premises, on the one hand, and first-order
validities, on the other. (Remember that S means that there is a proof without premises of S in
system F.)
Soundness Corollary: If S, then S is a first-order validity.
The soundness corollary tells us that every sentence of FOL that can be proved without premises in
system F is a first-order validity, that is, a logical truth of FOL.
Completeness Corollary: If S is a first-order validity, then S.
The completeness corollary tells us that every sentence of FOL that is a first-order validity, that is, a
logical truth of FOL, can be proved without premises in system F.
13.5 Some review exercises
This section contains 19 problems (of which 8 are assigned on problem set H
19
). One of these is to
prove the famous Drinking Theorem (13.51