For $\theta, \chi$ $\mathcal{L}$-formulas in predicate logic, I'm trying to prove: $\vdash (\lnot \chi \to \lnot \theta) \to (\theta \to \chi) $.
I've managed to prove $\vdash \lnot\lnot \theta \to \theta$, which was the hint for this problem. I have already proved $\vdash (\theta \to \chi) \to (\lnot \chi \to \lnot \theta) $. My attempt was to substitute $\lnot \chi$, $\lnot \theta$ into $\theta, \chi$ in $\vdash (\theta \to \chi) \to (\lnot \chi \to \lnot \theta) $. This gives $\vdash (\lnot \chi \to \lnot \theta) \to (\lnot \lnot \theta \to \lnot \lnot \chi) $. Finally, I was trying to show $\vdash (\lnot \lnot \theta \to \lnot \lnot \chi) \to (\theta \to \chi)$, but was not having much luck. Is there a nice way of doing this?
Furthermore, how does one go about doing things like this? I have seen natural deduction proofs that are very complicated, or are written in a way such that I suspect that there is some motivation that I am surely missing. But I can't figure out how to get the intuition/motivation for natural deduction proofs in general. My attempts purely seem to be brute-forcing, which is not so good.
The following proof is based on a form of natural deduction. Simpler than most, it may help. It uses direct proof (lines 8 and 9) and proof by contradiction (line 6).
Note: '=>' is left associative here, so I am proving the equivalent of [~A => ~B] => [B => A].
Screen shot from my proof checker: