Coproducts of join-semilattices I am trying to describe what is the coproduct of two objects in the category of join-semilattices (with a top element). Does anyone have an idea or a reference to read ?
 A: The category of join-semilattices is a variety of algebras, i.e. the category of models of an equational theory, in the sense of universal algebra.
In such a category, we compute the coproduct of two algebras $A$ and $B$ by taking the free algebra generated by $A$ and $B$ - roughly speaking, its domain is the set of all terms formed from the elements of $A$ and $B$, modulo the equivalence relation generated by the equational axioms and the actual term evaluations in $A$ and $B$.
Let's start with the case of (unbounded) join semilattices. These have just one operation $\vee$, and equational axioms:

*

*$x \vee x = x$ (idempotence)

*$x \vee y = y \vee x$ (commutativity)

*$(x\vee y) \vee z = x \vee (y \vee z)$ (associativity)

Let $A$ and $B$ be join semilattices. Then a term formed from the elements of $A$ and $B$ is an element of $A$, an element of $B$, or a join of finitely many elements from $A$ and $B$. By associativity and commutativity, a term of the third type can be rewritten as the join of (1) finitely many elements of $A$ and (2) finitely many elements of $B$. But (1) and (2) can be evaluated in $A$ and $B$, respectively, so a general term is equivalent to one of the form $a\vee b$ with $a\in A$ and $b\in B$. So the coproduct is $$ A\sqcup B \sqcup \{a\vee b\mid a\in A,b\in B\}$$
(here $\sqcup$ denotes disjoint union) with the obvious join operation: If $a\in A$ and $b\in B$, their join is $a\vee b$. If $a,a'\in A$ and $b\in B$, then $(a\vee b) \vee a' = (a\vee a')\vee b$. If $a\in A$ and $b,b'\in B$, then $(a\vee b) \vee b' = a\vee(b\vee b')$. And if $a,a'\in A$ and $b,b'\in B$, then $(a\vee b)\vee (a' \vee b') = (a\vee a')\vee (b\vee b')$.

Things get a bit simpler if we consider bounded join semilattices. These have an additional constant $\bot$ and an additional equational axiom:

*

*$\bot \vee x = x$ (identity)

The above discussion applies, but additionally, for any $a\in A$, $a$ is equivalent to the term $a\vee \bot_B$, and for any $b\in B$, $b$ is equivalent to the term $\bot_A \vee b$. So the coproduct is
$$ \{a\vee b\mid a\in A,b\in B\}$$
with bottom element $\bot_A\vee \bot_B$ and the obvious component-wise join. Note that this is isomorphic to the product of $A$ and $B$! The category of bounded join semilattices  has biproducts (finite products and coproducts coincide), just like the categories of abelian groups or vector spaces.

But in the question, you asked about join semilattices with top elements. These have an additional constant $\top$ and an additional equational axiom:

*

*$\top \vee x = \top$
Now the above discussion applies, but we have $\top_A = \top_B = \top_A\vee b = a\vee \top_B$ for all $a\in A$ and $b\in B$. Let's write $A^*$ for $A\setminus \{\top_A\}$ and similarly for $B^*$. Then the coproduct is
$$ A^*\sqcup B^* \sqcup \{a\vee b\mid a\in A^*,b\in B^*\}\sqcup \{\top\}$$
with top element $\top$ and the obvious join operation.
