Proving 'Law of Excluded Middle' in Fitch system

1) $\lnot (A \lor \lnot A)$ --- assumed [a]

2) $A$ --- assumed [b]

3) $A \lor \lnot A$ --- from 1) by $\lor$-intro

4) $\lnot A$ --- from the contradiction : 2) and 3) by $\lnot$-intro, discharging [b]

5) $A \lor \lnot A$ --- $\lor$-intro

6) $\lnot \lnot (A \lor \lnot A)$ --- from the contradiction : 1) and 5) by $\lnot$-intro, discharging [a]

7) $A \lor \lnot A$ --- from 6) by $\lnot \lnot$-elim.


For the different "flavours" of the negation rules in Natural Deduction you can see :

  • Dag Prawitz, Natural Deduction : A Proof-Theoretical Study (1965), page 35 (for the two $\lnot$-rules replacing the $\bot$-rules in classical logic); or :

  • Neil Tennant, Natural logic (1978), page 57.


Your idea regarding the proof : $P \to Q \vdash \lnot P \lor Q$ is correct: you can use the "derived" rule :

$$\dfrac { } {\lnot P \lor P}$$

Alternatively :

0) $A \to B$ --- premise

1) $\lnot A$ --- assumed [a]

2) $\lnot A \lor B$ --- by $\lor$-intro

3) $\lnot (\lnot A \lor B)$ --- assumed [b]

4) $\lnot \lnot A$ --- from 1) with contradiction : 2) and 3) by $\lnot$-intro, discharging [a]

5) $A$ --- from 4) by $\lnot \lnot$-elim

6) $B$ --- from 0) and 5) by $\to$-elim

7) $\lnot A \lor B$ --- $\lor$-intro

8) $\lnot \lnot (\lnot A \lor B)$ --- from 3) with contradiction : 7) and 3) by $\lnot$-intro, discharging [b]

9) $\lnot A \lor B$ --- from 8) by $\lnot \lnot$-elim

Thus, from 0) and 9) :

$A \to B \vdash \lnot A \lor B$.


After @GitGud's comment about the answer to my initial question being available here after clicking Show answer, I had a look at the proof and I got inspired on how to do this for p | ~p:

 0.                               (no premises)
 1. *    ~(p | ~p)                (assumption)
 2. **     p                      (assumption)
 3. **     p | ~p                 (or introduction 2.)
 4. *    p => p | ~p              (implication introduction 2., 3.)
 5. **     p                      (assumption)
 6. **     ~(p | ~p)              (reiteration 1.)
 7. *    p => ~(p | ~p)           (implication introduction 5., 6.)
 8. *    ~p                       (negation introduction 4., 7.)
 9.    ~(p | ~p) => ~p            (implication introduction 1., 8.)
10. *    ~(p | ~p)                (assumption)
11. **     ~p                     (assumption)
12. **     p | ~p                 (or introduction 11.)
13. *    ~p => p | ~p             (implication introduction 11., 12.)
14. **     ~p                     (assumption)
15. **     ~(p | ~p)              (reiteration 10.)
16. *    ~p => ~(p | ~p)          (implication introduction 14., 15.)
17. *    ~~p                      (negation introduction 13., 16.)
18.    ~(p | ~p) => ~~p           (implication introduction 10., 17.)
19.    ~~(p | ~p)                 (negation introduction 9., 18.)
20.    p | ~p                     (negation elimination 19.)