Context: Uni introductory predicate logic course question
I need to prove $(A \to (A \to B)) \to (A \to B)$ using only the primitive rules of natural deduction. I know that since I have no premises, any assumptions I make must be discharged by the end of the proof. The only way you can discharge assumptions is via arrow introduction or RAA (reductio ad absurdum). Since there's a bunch of arrows, my first guess was that I'd just be using a bunch of arrow introductions to discharge said assumptions, but having tried this a bunch of times (and either having assumptions not discharged or accidentally using formulas that aren't assumptions in my antecedent which is clearly a big no-no), I haven't been successful.
Does anyone have any hints/tips as to where I might be going wrong?
Correct.
Correct.
$A→(A→B)$ --- assumed [a]
$A$ --- assumed [b]
$A→B$ --- from 1) and 2) by $\to$-elim
$B$ --- from 2) and 3) by $\to$-elim