I am working upon exercises from "Introduction to Mathematical Logic" by Mendelson chapter 1.6.
Given a formal system L1 : $\vee$ and $\neg$ are the primitive connectives. We use $B\rightarrow C$ as an abbreviation for $\neg B\vee C$. We have four axiom schemas:
(1) $B\vee B\rightarrow B$
(2) $B\rightarrow B\vee C$
(3) $B\vee C\rightarrow C\vee B$
(4) $(C\rightarrow D)\rightarrow (B\vee C\rightarrow B\vee D)$
The only rule of inference is modus ponens. Here and below we use the usual rules for eliminating parentheses. This system is developed in Hilbert and Ackermann (1950).
From the exercises I solved the following:
$B\rightarrow C\vdash D ∨ B\rightarrow D ∨ C$
$\vdash (B \rightarrow C)\rightarrow ((A\rightarrow B)\rightarrow (A\rightarrow C))$
$A\rightarrow B, B\rightarrow C\vdash A\rightarrow C$
$\vdash A\rightarrow A$
$\vdash A ∨ ¬A$
$\vdash A \rightarrow ¬¬A$
For all $\Gamma, \Gamma\vdash B\implies\Gamma\vdash A\rightarrow B$ - this one is meta theorem, not an exercise.
The ultimate goal is to prove the deduction theorem. With deduction theorem other exercises are easy. But I can't prove it because I don't have this formula as an axiom:
$\vdash (A\rightarrow (B\rightarrow C))\rightarrow ((A\rightarrow B)\rightarrow (A\rightarrow C))$
It is given as a theorem by Mendelson:
n. $B\rightarrow (C\rightarrow D), B\rightarrow C\vdash B\rightarrow D$
I think, the flip theorem could be helpful to prove it:
k. $\vdash(B\rightarrow (C\rightarrow D))\rightarrow (C\rightarrow (B\rightarrow D))$
But I can't prove both of them. Is there any method, how I should work? Or I should use trial and error approach or write a computer program to try all the possible combinations?