I am confused of the justifications I hear for why proof by contradiction works, including the one on wikipedia. I am confused why people say we need the law of the excluded middle, and why Wikipedia says we need to show that $\lnot \lnot P \implies P$- I am confused by this latter thing because the same Wikipedia page I cited says we can replace an if-then with its contrapositive due to looking at the truth table of the contrapositive and seeing how the contrapositive is logically equivalent- so why can't we just replace $\lnot \lnot P$ with $P$ by seeing how the truth tables of each of these are equivalent?
I tried to write a proof justifying proof by contradiction which avoids the things which seemed to me superfluous, such as showing the statement $\lnot \lnot P \implies P$ and using the law of excluded middle, which tries to use the same general idea used by one of the proofs on Wikipedia. I would be very appreciative of any feedback on my proof as to why its wrong, and why we need to do things like explicitly show the statement $\lnot \lnot P \implies P$ which I didn't do. Here is my proof:
To clarify, what I will show is that $(\lnot P \implies R \land \lnot R) \implies P$ for any propositions $P$ and $R$. We will do a direct proof by first assuming that $\lnot P \implies R \land \lnot R$. We deduce that $R \land \lnot R$ is false using the law of non-contradiction. We then conclude the contrapositive $[\lnot (R \land \lnot R)] \implies \lnot \lnot P$ is true, due to looking at the truth table of the contrapositive statement and seeing that the contrapositive is equivalent for all assignments of $R$ and $P$ to boolean values. Then, we use modus ponens to conclude $\lnot \lnot P$ is true. Due to looking at the truth table of $\lnot \lnot P$ (that is, a table which shows the values this statement has when $P$ is false and $P$ is true) we see that $\lnot \lnot P$ is equivalent to $P$, so we replace the former with the latter to conclude $P$.