Rule modus ponens: $ p, p \to q \vdash q $
Axioms
A1 $ p \to (q \to p) $
A2 $ (p \to (q \to r)) \to ((p \to q) \to (p \to r)) $
A3 $ (p \land q) \to p $
A4 $ (p \land q) \to q $
A5 $ p \to (q \to (p \land q)) $
A6 $ p \to (p \lor q) $
A7 $ q \to (p \lor q) $
A8 $ (p \to r) \to ((q \to r) \to ((p \lor q) \to r)) $
A9 $ (p \to q) \to ((p \to \sim q) \to \sim p) $
A10 $ \sim p \to (p \to q) $
Rule I have derived: $ p \to q, q \to r \vdash p \to r $
Derived meta-rule (deduction theorem): $ \Gamma,p \vdash q $ implies $ \Gamma \vdash p \to q $
Theorems I have proven
T1 $ p \to \sim \sim p $
T2 $ (p \to q) \to (\sim q \to \sim p) $
T3 $ p \to (\sim p \to q) $
T4 $ \sim \sim (\sim \sim p \to p) $
T5 $ \sim \sim \sim p \to \sim p $
I am guessing axioms 3,4,5,6,7 and 8 are not needed for the proof. On the other hand I believe A10 and T3 are critical.
Thanks for any help on this.
Since we have the deduction theorem, the Curry-Howard isomorphism comes to the rescue.
Intuitionistic negation $\neg \phi$ is morally equivalent to $\phi\to\bot$, where $\bot$ is a contradiction. And double-negation corresponds via Curry-Howard to programming in continuation-passing style. So if we have the assumptions $$ F: \neg\neg(p\to q) \qquad X:\neg\neg p $$ and want to generate $\neg\neg q$, it is natural to try to write down a CPS transform of the application $f\;x$, which gives $$ \lambda c. F\;(\lambda f. X\;(\lambda x. c(f\; x))) : \neg\neg q$$ The typing tree for this expression can be unfolded to a proof using the deduction theorem several times:
Discharge assumption 3 to get $p\to q$. We also have $p\to \neg q$ (via A1 and assumption 1). Then apply A9 to conclude $\neg p$.
(This corresponds to $\lambda x.c(f\; x)$ of type $p\to\bot\equiv \neg p$. Because your proof system doesn't have an explicit $\bot$ it was necessary to get the contradiction $q$, $\neg q$ out of the deduction theorem in two pieces, and the application of $c$ to $f\;x$ gets hoisted out to happen "outside the lambdas". A more C-H-friendly but less minimal proof strategy would have been to prove $(x\to(y\land \neg y))\to\neg x$ as a general theorem first).
Discharge assumption 2 to get $(p\to q)\to \neg p$. We also have $(p\to q)\to\neg\neg p$ since $\neg\neg p$ is generally assumed. Therefore A9 concludes $\neg(p\to q)$.
(This corresponds to $\lambda f.x\;(\lambda x.c(f\; x))$ of type $(p\to q)\to \bot\equiv \neg(p\to q)$, just as the previous step).
After a bit of squinting at this construction it should now be clear how we can systematically lift any proof of $\phi_1,\ldots,\phi_k\vdash \psi$ to a proof of $\neg\neg\phi_1,\ldots,\neg\neg\phi_k\vdash\neg\neg\psi$. There will be $k+1$ nested invocations of the deduction theorem, and the original proof is inserted in place of step (4) in the above sketch.