# P=>q, q=>r, then p=>r (proof assumes p why?)

hi guys,

I'm struggling to learn logic and I'm stuck on what I'm sure is an easy answer. Here's the question:

whenever p is true, q is true. Whenever q is true, r is true. Prove that, whenever p is true, r is true.

p=>q Premise
q=>r Premise
(q=>r) => (p => (q=>r)) Implication Introduction

...etc

I can follow the proof just fine from this point. However, why can we assume p is true? The Implication Introduction step is allowing us to assume p is true..even when it's not a premise (or at least they don't state it as a premise explicitly).

Anyway, like I said, I'm sure this is easy, I'm just not wrapping my head around it.

Any help would be appreciated. Thanks guys!

Hurkyl
Staff Emeritus
Gold Member
The Implication Introduction step is allowing us to assume p is true..
No it's not. S is not a consequence of S => T.

Thanks for the reply Hurkyl. Ok - since S is not a consequence of S=>T, we can say it's true? I'm saying this because the implication introduction scheme is:
M => (N => M)

in this example, we've set M = (q=>r) and N = p, so we get:
(q=>r) => (p => (q=>r))

I guess I'm just not understanding why we can assign N=p when p isn't an explicit premise?