Solution (source code)

= Solution

Work in the <frame> $A$, writing $a\to x$ for <Heyting implication>. A <nucleus on a frame> is an inflationary, <idempotent> map preserving finite meets. The <open nucleus> and <closed nucleus> are
$$
o(a)(x)=a\to x,\qquad c(a)(x)=a\vee x.
$$
Their <meet> in the <frame> of <nuclei on a frame> is pointwise. The <distributivity of a Heyting algebra> and the defining adjunction for <Heyting implication> give
$$
(a\to x)\wedge(a\vee x)=x.
$$
If a <nucleus on a frame> $l$ bounds both, then $l(a)=1$ and $a\leq l(0)$. Consequently $1=l(a)\leq l(l(0))=l(0)$, so $l$ is the top nucleus. Thus \b[$o(a)$ and $c(a)$ are complements in $N(A)$].

For any <nucleus on a frame> $j$, put $t_a=o(a)\wedge c(j(a))$. At an arbitrary $x$,
$$
t_a(x)=x\vee\bigl(j(a)\wedge(a\to x)\bigr)\leq j(x),
$$
since $j(a)\wedge(a\to x)\leq j(a)\wedge j(a\to x)=j(a\wedge(a\to x))\leq j(x)$. Moreover $t_a(a)=j(a)$. Therefore
$$
\boxed{j=\bigvee_{a\in A}\bigl(o(a)\wedge c(j(a))\bigr).}
$$
Indeed the <join> is at most $j$, and its value at each $a$ is at least $j(a)$. This proves generation by the <open nuclei> and <closed nuclei>, without assuming that joins of <nuclei on a frame> are computed pointwise.

For the given <frame homomorphism> $h$, restrict the displayed <join> to $a=h(b)$ and denote the resulting <nucleus on a frame> by $r(j)$. The same inequalities show $r(j)\leq j$ and $r(j)(h(b))=j(h(b))$. If $k$ has the same values on $h(B)$, its restricted formula is identical, so $r(j)\leq k$. Hence \b[$r(j)$ is the least representative of the <equivalence class>]. We will also use the consequence
$$
\bigl(\forall b\in B,\ j(hb)\leq k(hb)\bigr)\quad\Longrightarrow\quad r(j)\leq r(k).
$$

The least representatives form a <subframe>. For a family $j_i=r(j_i)$, let $J=\bigvee_i j_i$ in $N(A)$. Restricted monotonicity gives $j_i\leq r(J)$ for every $i$, hence $J=r(J)$. For two least representatives, distribution in $N(A)$ expresses their <meet> as the <join>, over $b,d\in B$, of
$$
o(h(b\vee d))\wedge c\bigl(j(hb)\wedge k(hd)\bigr).
$$
Here $o(hb)\wedge o(hd)=o(h(b\vee d))$ and $c(u)\wedge c(v)=c(u\wedge v)$. Since
$$
j(hb)\wedge k(hd)\leq (j\wedge k)(h(b\vee d)),
$$
each summand is below $r(j\wedge k)$. The opposite inequality always holds, proving closure under binary meets. The top is $c(1)$ and is a least representative. Also $r(c(a))=c(a)$, because the summand at $b=0$ is $c(a)$; and $r(o(hd))=o(hd)$, because the summand at $b=d$ is $o(hd)$. It follows from the restricted normal form that \b[$N_B(A)$ is exactly the <subframe> generated by $c(A)$ and $o(h(B))$].

The map $c:A\to N_B(A)$ preserves finite meets by the formula above. A <nucleus on a frame> $l$ bounds every $c(a_i)$ exactly when $a_i\leq l(0)$ for every $i$, equivalently $\bigvee_i a_i\leq l(0)$. The least such nucleus is $c(\bigvee_i a_i)$, so $c$ preserves arbitrary joins too, including $0$. Evaluation at $0$ recovers $a$, so this <frame homomorphism> is injective.

For the <pushout>, we prove the <universal property> explicitly. Let $u:A\to C$ be a <frame homomorphism> for which every $u(hb)$ has a <complement> $d_b$ in $C$. Define, for $j\in N_B(A)$,
$$
F(j)=\bigvee_{b\in B}d_b\wedge u(j(hb)).
$$
To prove preservation of arbitrary joins, let $u_*$ be the <right adjoint> of $u$ and set $k_z(a)=u_*(z\vee u(a))$ for $z\in C$. This is a <nucleus on a frame>: inflationarity follows from the adjunction, finite-meet preservation follows from distribution and <meet> preservation by $u_*$, and $u u_*\leq1$ gives $k_z k_z\leq k_z$; inflationarity gives the reverse inequality. Complementation and the adjunction now give
$$
F(j)\leq z\ \Longleftrightarrow\ \forall b,\ u(j(hb))\leq z\vee u(hb)\ \Longleftrightarrow\ \forall b,\ j(hb)\leq k_z(hb)\ \Longleftrightarrow\ j\leq r(k_z).
$$
The last equivalence uses leastness of $j$. Thus $F$ is a <left adjoint>, so preserves arbitrary joins. For binary meets, expand $F(j)\wedge F(k)$. A term indexed by $b,d$ is
$$
d_{b\vee d}\wedge u\bigl(j(hb)\wedge k(hd)\bigr)\leq d_{b\vee d}\wedge u\bigl((j\wedge k)(h(b\vee d))\bigr).
$$
This proves $F(j)\wedge F(k)\leq F(j\wedge k)$; monotonicity proves the reverse inequality. The term at $b=0$ proves $F(1)=1$. Directly,
$$
F(c(a))=u(a),\qquad F(o(hd))=d_d.
$$
For the second identity the term at $b=d$ gives $d_d$, while every term is disjoint from $u(hd)$, because $hd\wedge(hd\to hb)\leq hb$.

Apply this construction first with $A=B$, $h=1_B$, target $N_B(A)$, $u=c_Ah$ and complements $d_b=o_A(hb)$. It gives a <frame homomorphism> $v_0:N(B)\to N_B(A)$ satisfying $v_0c_B=c_Ah$ and $v_0o_B=o_Ah$. Given any compatible pair $u:A\to C$, $v:N(B)\to C$, take $d_b=v(o_B(b))$; compatibility supplies the required complements. The constructed $F$ satisfies $Fc_A=u$ and $Fv_0=v$, since the latter equality holds on the open and closed generators of $N(B)$. Uniqueness follows because $c(A)$ and $o(h(B))$ generate $N_B(A)$. Hence \b[the square with edges $h,c_B,c_A,v_0$ is a <pushout> in $\mathbf{Frm}$].