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.)