# Determine whether p→(q→r) is equivalent to (p→q)→r. Please show all work.

*print*Print*list*Cite

### 1 Answer

We can do this by truth tables. If the two truth tables match, then the statements are equivalent.

first statement.

Start with:

`[[p,q,r],[T,T,T],[T,T,F],[T,F,T],[T,F,F],[F,T,T],[F,T,F],[F,F,T],[F,F,F]]`

`q -> r` is true if q is false or if r is true. It is false if q is true and r is false. So:

`[[p,q,r,q->r],[T,T,T,T],[T,T,F,F],[T,F,T,T],[T,F,F,T],[F,T,T,T],[F,T,F,F],[F,F,T,T],[F,F,F,T]]`

`p -> (q->r)` is true if p is false or if `(q->r)` is true. It is false if p is true and `(q->r)` is false. So:

`[[p,q,r,q->r, p->(q->r)],[T,T,T,T,T],[T,T,F,F,F],[T,F,T,T,T],[T,F,F,T,T],[F,T,T,T,T],[F,T,F,F,T],[F,F,T,T,T],[F,F,F,T,T]]`

second statement:

`[[p,q,r],[T,T,T],[T,T,F],[T,F,T],[T,F,F],[F,T,T],[F,T,F],[F,F,T],[F,F,F]]`

`p-> q` is true if p is false or if q is true. It is false if p is true and q is false:

`[[p,q,r,p->q],[T,T,T,T],[T,T,F,T],[T,F,T,F],[T,F,F,F],[F,T,T,T],[F,T,F,T],[F,F,T,T],[F,F,F,T]]`

`(p->q)->r` is true if `p->q` is false or if r is true. It is false if `p->q` is true and r is false

`[[p,q,r,p->q,(p->q)->r],[T,T,T,T,T],[T,T,F,T,F],[T,F,T,F,T],[T,F,F,F,T],[F,T,T,T,T],[F,T,F,T,F],[F,F,T,T,T],[F,F,F,T,F]]`

The final columns of the truth tables do not match. Therefore the statements are not equivalent