So I am currently working on a problem that asks me to prove

[(p -> q) ^ (q -> r)] -> (p -> r) is a tautology by using logical equivalences.

I just enrolled in the course, so I don't know if this is by any means correct, but here is what I have come up with. Any assistance would be great.

[(~p v q) ^ (~q v r)] -> (p -> r) by implication

[(~p v q) ^ (~r v q)] -> (p -> r) contrapositive

(~p v q) -> (p -> r) transitivity (idk if there is another term?)

(p -> q) -> (p -> r) implication

(q -> r) transitivity