Coproducts and pushouts of Boolean algebras and Heyting algebras I am having trouble of find a reference explaining how to compute coproduts and pushouts in the category of Boolean algebras and in the category of Heyting algebras. 
To be precise I am looking for as a concrete description of these colimits as possible. In particular I hope to do better than just describing them in terms of limits in the dual categories, viz. Stone and Esakia spaces.  
It might be that it is all very straightforward, at least in the case of Boolean algebras, but I am afraid that I do not see how to proceed. 
Any help is much appreciated.  
 A: I know this question is four years old so I'm a bit late, but I'm keen to share my intuition. I find the following description of coproducts of Boolean algebras useful. It is based on a characterisation of coproducts of frames in [1]. I'm guessing a similar description can be found for Heyting algebras.
Claim. Let $A$ and $B$ be Boolean algebras. Then $A + B$ is the free Boolean algebra generated by the symbols $[a, b]$, where $a \in A$ and $b \in B$, subject to the relations:

*

*$[\top_A, \top_B] = \top_+$

*$[a, b] \wedge [a', b'] = [a \wedge a', b \wedge b']$

*$[a \vee a', b] = [a, b] \vee [a', b]$

*$[a, b \vee b'] = [a, b] \vee [a, b']$

*$[a, \bot_B] = [\bot_A, b] = \bot_+$
Here $\top_+$ and $\bot_+$ are the top and bottom element of the coproduct. We can think of $[a, b]$ as open rectangles, they represent the element $a \wedge b$ in $A + B$. The inclusion homomorphisms of $A$ and $B$ into $A + B$ are given by $i : A \to A + B : a \mapsto [a, \top_B]$ and $j : B \to A + B : b \mapsto [\top_A, b]$.
Lemma. It follows from these relations that
$$
\neg[a, b] = [\neg a, \top_B] \vee [\top_A, \neg b].
$$
Proof.
It suffices to check that $[a, b] \wedge \neg[a, b] = \bot_+$ and $[a, b] \vee \neg[a, b] = \top_+$. For the first, compute
\begin{align*}
  [a, b] \wedge (&[\neg a, \top_B] \vee [\top_A, \neg b]) \\
    &= ([a, b] \wedge [\neg a, \top_B]) \vee ([a, b] \wedge [\top_A, \neg b]) 
        &\text{(Distributivity)} \\
    &= [\bot_A, b] \vee [a, \bot_B]
        &\text{(By relation 2.)} \\
    &= \bot_+
        &\text{(By relation 5.)}
\end{align*}
For the second, we have
\begin{align*}
  [a, b] \vee (&[\neg a, \top_B] \vee [\top_A, \neg b]) \\
    &= ([a, b] \vee [\neg a, \top_B]) \vee [\top_A, \neg b])
        &\text{(Associativity)} \\
    &\geq ([a, b] \vee [\neg a, b]) \vee [\top_A, \neg b] \\
    &= [a \vee \neg a, b] \vee [\top_A, \neg b]
        &\text{(By relation 3.)} \\
    &= [\top_A, b] \vee [\top_A, \neg b] \\
    &= [\top_A, b \vee \neg b]
        &\text{(By relation 3.)} \\
    &= [\top_A, \top_B] \\
    &= \top_+
        &\text{(By relation 1.)}
\end{align*}
This proves the Lemma.
Fact. Recall that in a variety of algebras the coproduct is given by the free algebra generated by the elements of $A$ and $B$ (as formal symbols), quotiented with the smallest congruence that merges the operations in $A$ with that of $A + B$ (e.g.~$a \vee _+ a' = a \vee_A a'$ in $A + B$, if $a, a' \in A$, and analogous for $\wedge$ and $\neg$), and similar for $B$.
Proof sketch of Claim. With this information, it is straightforward to see that the Boolean algebra described by generators and relations above is indeed the coproduct.
Remark.
One can also directly prove that the construction in the Claim does indeed give to coproduct. To this end, suppose we have a cocone $D$ with maps $f : A \to D$ and $g : B \to D$ as in the following diagram
$$
\begin{array}{ccccc}
  A & \rightarrow & A + B & \leftarrow & B \\
    & \searrow & & \swarrow & \\
    && D &&
\end{array}
$$
where $A + B$ is defined as in the Claim.
Then we have a mediating arrow $h : A + B \to D$ given by $[a, b] \mapsto f(a) \wedge g(b)$. It is straightforward to verify that this is a homomorphism by checking that the images of the generators satisfy the relations. For example, for negations we have
\begin{align*}
  \neg h([a, b])
    &= \neg(f(a) \wedge g(b)) \\
    &= \neg f(a) \vee \neg g(b) \\
    &= f(\neg a) \vee g(\neg b) \\
    &= (f(\neg a) \wedge \top_+) \vee (\top_+ \wedge g(\neg b)) \\
    &= (f(\neg a) \wedge g(\top_B)) \vee (f(\top_A) \wedge g(\neg b)) \\
    &= h([\neg a, \top_B]) \vee h([\top_A, \neg b]).
\end{align*}
Furthermore, the triangles that arise in the diagram commute. Indeed, for $a \in A$ we have
$$
h(i(a)) = h([a, \top_B]) = f(a) \wedge g(\top_B) = f(a) \wedge \top_+ = f(a).
$$
Similarly $h \circ j = g$.
Thus again we prove the Claim to be correct.
References
[1] P.T. Johnstone. Vietoris locales and localic semilattices. In R.-E. Hoffmann and K.H. Hofmann, editors, Continuous lattices and their applications, Lecture Notes in Pure and Applied Mathematics, pages 155–180. Dekker, New York, 1985. Proceedings of a conference held at the University of Bremen, July 2-3, 1982.
