I will address the specific question of how to show $\lnot\lnot(a\land b) = \lnot\lnot a\land \lnot\lnot b$ in a Heyting algebra.
Since $\lnot$ is order-reversing, $\lnot\lnot$ is order preserving. So $\lnot\lnot (a\land b) \leq \lnot\lnot a$ and $\lnot\lnot(a\land b) \leq \lnot\lnot b$. Hence: $$\lnot\lnot (a\land b) \leq \lnot\lnot a \land \lnot\lnot b.$$
In the other direction, to show $\lnot\lnot a \land \lnot\lnot b \leq \lnot\lnot(a\land b)$, it suffices to show: $$\lnot \lnot a \land \lnot \lnot b \land \lnot(a\land b)\leq \bot.$$
Note first that $\lnot(a\land b) \land (a \land b) = \bot$, so $\lnot(a\land b) \land a \leq \lnot b$, so $\lnot(a\land b) \leq a \rightarrow \lnot b$.
Note also that $x \land (x\rightarrow y) \land (y\rightarrow z) = x\land y \land (y\rightarrow z) = x \land y \land z \leq z$, so $(x\rightarrow y)\land (y\rightarrow z) \leq x\rightarrow z$.
Now:
\begin{align*}
\lnot \lnot a \land \lnot \lnot b \land \lnot(a\land b) &\leq \lnot\lnot a \land \lnot \lnot b \land (a \rightarrow \lnot b)\\
& = \lnot\lnot a \land (a\rightarrow \lnot b) \land (\lnot b \rightarrow \bot)\\
&\leq ((a\rightarrow \bot) \rightarrow \bot) \land (a\rightarrow \bot)\\
&\leq \bot,
\end{align*}
as desired.
For the more general question of how to show that the regular elements of a Heyting algebra form a Boolean algebra: I first learned this fact from Johnstone's book Stone Spaces, where it appears (with a proof) as Proposition 1.13 on p. 10.