Show that the following is a tautology, without using truth tables: $[(p\to q)\wedge(q\to r)]\to(p\to r)$ 
I'm trying to show that the following is a tautology, without using truth tables.
$$[(p\to q)\wedge(q\to r)]\to(p\to r)$$

original problem image (item (b))

I've tried this:
$$ \neg [(\neg p \vee q) \wedge (\neg q \vee r)] \vee (\neg p \vee r)$$
$$\neg (\neg p \vee q) \vee \neg(\neg q \vee r) \vee (\neg p \vee r)$$
But I'm not sure what to do after this. I've tried distributing the negation operator using DeMorgan's law, and I've also tried FOILing the results, but no luck.
 A: Here's a proof of the statement I created with openlogicproject.org.

A good general practice when you want to prove things with implication like $A\to B$ is to assume $A$ as a hypothesis and see if you can prove $B$ from it.  If so, then you can infer the implication.
A: There are many methods besides truth-tables, but let's use equivalences, since that seems to be what you tried as well:
DeMorgan gives you:
$$(p \land \neg q) \lor (q \land \neg r) \lor (\neg p \lor r)$$
Now notice that you can drop the last set of parentheses, because they are all $\lor$'s:
$$(p \land \neg q) \lor (q \land \neg r) \lor \neg p \lor r$$
Distribute the $\neg p$ over the $p \land \neg q$, and the $r$ over the $q \land \neg r$:
$$[(p \lor \neg p) \land (\neg q \lor \neg p)] \lor [(q \lor r) \land (\neg r \lor r)]$$
Simplify with tautologies:
$$[\top \land (\neg q \lor \neg p)] \lor [(q \lor r) \land \top]$$
$$(\neg q \lor \neg p) \lor (q \lor r)$$
Again, we can drop parentheses:
$$\neg q \lor \neg p \lor q \lor r$$
And deal with tautologies:
$$\top\lor \neg p \lor r$$
$$\top$$
A: Would it make sense to reformulate the logical implications as sets? I'd think that $p \to q$ is equivalent to $q \subset p$, though, as I'm not a mathematician equivalent might be inadequate in this context. You'd have 
$$\left[ \left( q \subset p \right) \land \left( r \subset q \right) \right] \to r \subset p$$
which is easily shown.
A: Starting with your step:
$\neg [(\neg p \vee q) \wedge (\neg q \vee r)] \vee (\neg p \vee r)$
$\equiv (p \wedge \neg q) ~ \vee (q \wedge \neg r) ~ \vee (\neg p) \vee (r)$
Now write 
$\neg p$ as $\neg p \wedge (q \vee \neg q) \equiv (\neg p \wedge q) \vee (\neg p \wedge \neg q)$
and
$r$ as $r \wedge (q \vee \neg q) \equiv (q \wedge r) \vee (\neg q \wedge r)$
Finally 


*

*combine the terms 
$p \wedge \neg q$ and $\neg p \wedge \neg q$ to get $\neg q$

*combine the terms
$q \wedge \neg r$ and $q \wedge r$ to get $q$
We are left with
$(q) \vee (\neg q) \vee (\neg p \wedge q) \vee (\neg q \wedge r)$
and you are done!
A: Under the Curry-Howard correspondence, it's enough to exhibit a term of type $$[(p \to q) \wedge (q \to r)] \to p \to r$$
This is very easy:
answer (f , g) p = g (f p)

