PROOFS WITH EVEN MORE RULES

In Which Theorems are Proved using Rules Derived as Well as Primitive

A theorem is simply a conclusion that can be proved from the empty set of premises. The most common technique for proving a theorem is to start with its denial as an assumption and construct a proof for it that discharges that assumption with RAA. If the theorem is a conditional, it may also be possible to prove it by assuming the antecedent, deducing the consequent, and using ->I. Here are some examples.

Exercise 1.6.1

T1 (Identity): |- P->P
1(1)P A
(2)P->P2 ->I (1)

This is about as short as a proof gets!

T2 (Excluded Middle): |- Pv~P
1(1)~(Pv~P) A
2(2)PA
2(3)Pv~P2 vI
1(4)~P1,3 RAA (2)
1(5) Pv~P4 vI
(6)Pv~P1,5 RAA (1)

T3 (Non-Contradiction): |- ~(P&~P)
1(1)P&~P A
1(2)P1 &E
1 (3)~P1 &E
(4)~(P&~P) 2,3 RAA (1)

T4 (Weakening): |- P->(Q->P)
1(1)P A
2(2)QA
3(3)~PA
1(4)P1,3 RAA (3)
1(5) Q->P4 ->I (2)
(6)P->(Q->P)5 ->I (1)

T5 (Paradox of Material Implication): |- (P->Q)v(Q->P)
1(1)~((P->Q)v(Q->P)) A
2(2)PA
3(3)QA
3(4)P->Q3 ->I (2)
3(5)(P->Q)v(Q->P)4 vI
1(6)~Q1,5 RAA (3)
7(7)QA
8(8)~PA
1,7(9)P6,7 RAA (8)
1(10)Q->P 9 ->I (7)
1(11)(P->Q)v(Q->P)10 vI
(12)(P->Q)v(Q->P)1,11 RAA(1)

T6 (Double Negation): |- P <-> ~~P
1(1)P A
2(2)~PA
1(3)~~P1,2 RAA (2)
(4)P->~~P 3 ->I (1)
(5)~~P->P4 Trans
(6)P<->~~P 4,5 <->I

T7: |- (P<->Q)<->(Q<->P)

With derived rules, this is very easy:
1(1)P<->Q A
1(2)Q<->P1 <-> Comm
(3)(P<->Q)->(Q<->P) 2 ->I (1)
4(4)Q<->PA
4(5)P<->Q 4 <-> Comm
(6)(Q<->P)->(P<->Q)5 ->I (4)
(7) (P<->Q)<->(Q<->P)3,6 <->I

T8: |- ~(P<->Q) <-> (~P<->Q)
1(1)~(P<->Q)A
2(2)PA
3(3)QA
3(4)P->Q3 ->I(2)
2(5)Q->P2 ->I(3)
2,3(6)P<->Q4,5 <->I
1,3(7)~P1,6 RAA(2)
1(8)Q->~P7 ->I(3)
9(9)~PA
10(10)~QA
3,10(11)P3,10 RAA(9)
10(12)Q->P11 ->I(3)
2,9(13)Q2,9 RAA(10)
9(14)P->Q13 ->I(2)
9,10(15)P<->Q12,14 <->I
1,9(16)Q1,15 RAA(10)
1(17)~P->Q16 ->I(9)
1(18)~P<->Q8,17 <->I
(19)~(P<->Q) -> (~P<->Q)18 ->I(1)
20(20)~P<->QA
21(21)P<->QA
20(22)~P->Q20 <->E
20(23)Q->~P20 <->E
21(24)P->Q21 <->E
21(25)Q->P21 <->E
26(26)PA
21,26(27)Q24,26 ->E
20,21,26(28)~P23,27 ->E
20,21(29)~P26,28 RAA(26)
20,21(30)Q22,29 ->E
20,21(31)P25,30 ->E
20(32)~(P<->Q)29,31 RAA(21)
(33)(~P<->Q) -> ~(P<->Q)32 ->I(20)
(34)(~P<->Q) <-> ~(P<->Q)19,33 <->I

T9 (Peirce's Law): |- ((P -> Q) -> P) ->P

Since this is a conditional, the straightforward approach is to assume the antecedent and try to deduce the consequent. We need RAA to finish the proof, however.
1(1)(P -> Q) -> PA
2(2)~PA
3(3)P -> QA
1,3(4)P1,3 ->E
1,2(5)~(P -> Q)2,4 RAA(3)
2(6)~P v Q2 vI
7(7)PA
2,7(8)Q6,7 vE
2(9)P->Q8 ->I(7)
1(10)P5,9 RAA(2)
(11)((P -> Q) -> P) ->P10 ->I(1)

T10: |- (P->Q)v(Q ->R)

We assume the denial of what we want and use RAA. With disjunctions, this is always harder than you expect. This can be shortened considerably with derived rules, obviously.
1(1)~((P->Q)v(Q ->R))A
2(2)P->QA
2(3)(P->Q)v(Q ->R)2 vI
1(4)~(P->Q)1,3 RAA(2)
5(5)~PA
6(6)PA
6(7)P v Q6 vI
5,6(8)Q5,7 VE
5(9)P->Q8 ->I(6)
1(10)P4,9 RAA(5)
11(11)QA
11(12)P ->Q11 ->I(6)
1(13)~Q4,12 RAA(11)
1(14)~Q v R13 vI
1,11(15)R11,14 vE
1(16)Q -> R15 ->I(11)
1(17)(P->Q)v(Q ->R)16 vI
(18)(P->Q)v(Q ->R)1,17 RAA(1)

T11: |- (P <-> Q) <-> (~P <-> ~Q)
1(1)P <-> QA
2(2)~PA
3(3)~QA
1(4)P->Q1 <->E
1(5)Q->P1 <->E
6(6)PA
1,6(7)Q4,6 ->E
1,3(8)~P3,7 RAA(6)
1(9)~Q ->~P8 ->I(3)
10(10)QA
1,10(11)P5,10 ->E
1,2(12)~Q2,11 RAA(10)
1(13)~P->~Q12 ->I(2)
1(14)~P<->~Q9,13 <->I
(15)(P <-> Q) -> (~P <-> ~Q)14 ->I(1)
...and that's halfway there. But the reverse direction is very similar: just interchange ~P and P, ~Q and Q in the first 15 lines. You need a final step of <->I, of course.

T12: |-
1(1)A
2(2)A
1(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)

T13 (& Idempotence): |- P <-> (P&P)

This is relatively simple.
1(1)PA
1(2)P&P1,1 &I
(3)P->(P&P)2 ->I(1)
4(4)P&PA
4(5)P4 &E
(6)(P&P)->P5 ->I(4)
(7)P <-> (P&P)3,6 <->I

T14 (v Idempotence): |- P <-> (P v P)
1(1)A
2(2)A
1(3)
(4)
(5)
(6)

T15: |- (P<->Q)&(R<->S) ->((P->R)<->(Q->S))

Assume the antecedent, then get the consequent by assuming each side in turn, deducing the other side, using ->I, and then combining with <->I. The final step is then discharging the original assumption with ->I.
1(1)(P<->Q)&(R<->S)A
2(2)P->RA
3(3)QA
1(4)P<->Q1 &E
1(5)R<->S1 &E
1(6)P->Q4 <->E
1(7)Q->P4 <->E
1(8)R->S5 <->E
1(9)S->R5 <->E
1,3(10)P3,7 ->E
1,2,3(11)R2,10 ->E
1,2,3(12)S8,11 ->E
1,2(13)Q->S12 ->I(3)
1(14)(P->R)->(Q->S)13 ->I(2)
15(15)Q->SA
16(16)PA
1,16(17)Q6,16 ->E
1,15,16(18)S15,17 ->E
1,15,16(19)R9,18 ->E
1,15(20)P->R19 ->I(16)
1(21)(Q->S)->(P->R)20 ->I(15)
1(22)(P->R)<->(Q->S)14,21 <->I
(23)(P<->Q)&(R<->S) -> ((P->R)<->(Q->S))2 ->I(1)

T20: |- (P<->Q)->(R&P <-> R&Q)
1(1)P<->QA
2(2)R&PA
1(3)P->Q1 <->E
1(4)Q->P1 <->E
2(5)R2 &E
2(6)P2 &E
1,2(7)Q3,6 ->E
1,2(8)R&Q5,7 &I
1(9)R&P -> R&Q8 ->I(2)
10(10)R&QA
10(11)R10 &E
10(12)Q10 &E
1,10(13)P4,12 ->E
1,10(14)R&P11,13 &I
1(15)R&Q -> R&P14 ->I(10)
(16)R&P <-> R&Q9,15 <->I
(17)(P<->Q)->(R&P <-> R&Q)16 ->I(1)

T23: |- P & (Q<->R) -> (P&Q <-> R)

1(1)P & (Q<->R)A
2(2)P&QA
1(3)P1 &E
1(4)Q<->R1 &E
1(5)Q->R4 <->E
2(6)Q2 &E
1,2(7)R5,6 ->E
1(8)P&Q -> R7 ->I(2)
9(9)RA
1(10)R->Q4 <->E
1,9(11)Q9,10 ->E
1,9(12)P&Q3,11 &I
1(13)R -> P&Q12 ->I(9)
1(14)P&Q <-> R8,13 <->I
(15)P & (Q<->R) -> (P&Q <-> R)14 ->I(1)

T25: |- P -> (Q ->R) <-> Q -> (P->R)

Standard strategy for a biconditional: assume each side in turn and deduce the other, use ->I twice, then use <->I. Notice that steps 9-16 are exactly like steps 1-8 with P and Q interchaged. See if you can shorten this proof by using some assumptions more than once.
1(1)P -> (Q ->R)A
2(2)QA
3(3)PA
1,3(4)Q->R1,3 ->E
1,2,3(5)R2,4 ->E
1,2(6)P->R5 ->I(3)
1(7)Q -> (P->R)6 ->I(2)
(8)(P -> (Q->R)) -> (Q -> (P->R))7 ->I(1)
9(9)Q -> (P->R)A
10(10)PA
11(11)QA
9,11(12)P->R9,11 ->E
9,10,11(13)R10,12 ->E
9,10(14)Q->R13 ->I(11)
9(15)P -> (Q->R)14 ->I(10)
(16)(Q -> (P->R)) -> (P -> (Q->R))15 ->I(9)
(17)P -> (Q ->R) <-> Q -> (P->R)8,16 <->I

Note that on lines 8 and 16 you can't drop the parentheses around the antecedent and consequent, even though you can drop the analogous parentheses in the conclusion.

T29: |- ~P -> P <-> P

Notice that this is (~P -> P) <-> P (<-> binds more weakly than .>). This is an interesting result: what might an actual sentence of the form ~P ->P be like? The proof might be considered excessively clever.
1(1)~P -> PA
2(2)~PA
1,2(3)P1,2 ->E
1(4)P2,3 RAA(2)
(5)(~P->P) ->P4 ->I(1)
6(6)PA
6(7)~P->P6 ->I(2)
(8)P->(~P->P)7 ->I(6)
(9)~P -> P <-> P5,8 <->I

T33: |- (Pv~P) & Q <-> Q

As it happens, Pv~P is a theorem (EM). We can use this in constructing a quick proof, if we jump ahead just a little (see pp. 37-38). Could you generalize this to cases involving theorems other than Pv~P?

Incidentally, the Logic Daemon doesn't know the names of theorems and will flag an error if you try to use this procedure.
1(1)(Pv~P) & QA
1(2)Q1 &E
(3)(Pv~P) & Q -> Q2 ->I(1)
4(4)QA
(5)Pv~PEM
4(6)(Pv~P) & Q4,5 &I
(7)Q-> (Pv~P) & Q6 ->I(4)
(8)(Pv~P) & Q <-> Q3,7 <->I

T: |-
1(1)A
2(2)A
1(3)
(4)
(5)
(6)

T8 : |-
1(1)A
2(2)A
1(3)
(4)
(5)
(6)

T39: |- (P->Q&R)->(P&Q<->P&R)

1(1)P->Q&RA
2(2)P&QA
2(3)P2 &E
1,2(4)Q&R1,3 ->E
1,2(5)R4 &E
1,2(6)P&R3,5 &I
1(7)P&Q->P&R6 ->I(2)
8(8)P&RA
8(9)P8 &E
1,8(10)Q&R1,9 ->E
1,8(11)Q10 &E
1,8(12)P&Q9,11 &I
1(13)P&R->P&Q12 ->I(8)
1(14)P&Q<->P&R7,13 <->I
(15)(P->Q&R)->(P&Q<->P&R)14 ->I(1)

To the Syllabus

Back to Exercise 1.5.2

On to Exercise 2.1