RTP: ⊢ $(A \to (A \to B)) \to (A \to B)$ using only primitive rules of natural deduction

146 Views Asked by At

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?

1

There are 1 best solutions below

1
On BEST ANSWER

since I have no premises, any assumptions I make must be discharged by the end of the proof.

Correct.

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.

Correct.

  1. $A→(A→B)$ --- assumed [a]

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

  3. $A→B$ --- from 1) and 2) by $\to$-elim

  4. $B$ --- from 2) and 3) by $\to$-elim

  1. $A \to B$ --- from 2) and 4) by $\to$-intro, discharging [b].