Constructing a truth table is completely mechanical, but
constructing a derivation is not. It is quite possible that you will get
stumped while trying to write a derivation. Therefore, it is important to
have some kind of strategy. A strategy that I recommend and use is to go
backwards. Take the conclusion that you want to show, and see whether it is
contained in any of your premises. Then see what you need to get it from
that premise. (I've recently changed how I spell premise. I used to spell
it premiss like Copi does.) Then repeat the process with what you need to
get your conclusion, and so on until you see how to directly get something
you can use. This may all sound too abstract, so let me now illustrate with
an example. Consider the following problem:

        Derive P from

               1.   P v Q           Premise
               2.   Q -> R          Premise
               3.   S & ~R          Premise

        Since we want to derive P, let's see where it is in the premises. P
is in line 1. How can we get P from line 1? Since in line 1 P occurs as a
disjunct in a disjunction, we can get it, through disjunctive syllogism, by
denying the other disjunct. The other disjunct is Q. Therefore, we want to
derive ~Q. So we now treat ~Q the way we treated P. We first check whether
~Q appears in any of the premises. It does not. So we then look for the
next best thing, namely Q. Q is in line 1, but that doesn't count, since we
want to get ~Q for the purpose of using it with line 1. Q also appears in
line 2. It is the antecedent of a conditional. Is it possible to get ~Q
from this premise? Yes, it is. Since Q appears as the antecedent of a
conditional, we can get ~Q through Modus Tollens if we have the denial of
the consequent. The consequent is R, and its denial is ~R. So, we now have
to find out how we can derive ~R. ~R appears in line 3. We can derive it
from line 3 by simplification.



converted with guide2html by Kochtopf