I am trying to do the following exercise from the book Logic Programming for computer scientists by Michael Huth and Mark Ryan.
$$((\phi_1 \land \phi_2 \land \cdots \land \phi_n) \rightarrow \psi) \rightarrow (\phi_1 \rightarrow (\phi_2 \rightarrow (\cdots (\phi_n \rightarrow \psi) \cdots )))$$
I am trying it by induction on $n$.
Basis: When $n = 1$ we have $(\phi_1 \rightarrow \psi) \rightarrow (\phi_1 \rightarrow \psi)$, which is true.
Inductive hypothesis: Suppose $((\phi_1 \land \phi_2 \land \cdots \land \phi_n) \rightarrow \psi) \rightarrow (\phi_1 \rightarrow (\phi_2 \rightarrow (\cdots (\phi_n \rightarrow \psi) \cdots )))$ is true for some $n$.
Inductive step:
Suppose $((\phi_1 \land \phi_2 \land \cdots \land \phi_n \land \phi_{n + 1}) \rightarrow \gamma)$ is true.
Now I don't see how I can use the induction hypothesis to prove this implies $(\phi_1 \rightarrow (\phi_2 \rightarrow (\cdots (\phi_n \rightarrow ( \phi_{n + 1} \rightarrow \gamma)) \cdots )))$.
Does $((\phi_1 \land \phi_2 \land \cdots \land \phi_n \land \phi_{n + 1}) \rightarrow \gamma)$ imply that $((\psi \land \phi_{n + 1}) \rightarrow \gamma)$ because $((\phi_1 \land \phi_2 \land \cdots \land \phi_n) \rightarrow \psi)$ is true by the inductive hypothesis? (I know this is wrong, the inductive hypothesis does not say this must be true)
Then we have a conjunction of two formulas, for which we already know $((\psi \land \phi_{n + 1}) \rightarrow \gamma) \rightarrow (\psi \rightarrow (\phi_{n + 1} \rightarrow \gamma))$ by the induction hypothesis. It feels like I am really misunderstanding what is going on.