Here's a strange result that can help in computing the group completion of a commutative monoid. Let $M$ be a commutative monoid. Call an element $h \in M$ __high__ if for all $x \in M$, there exists $y \in M$ such that $h = x + y$. Write $H(M)$ for the set of high elements of $M$. Examples: * If $M$ is a group then $H(M) = M$ (and conversely). * Any join-semilattice (i.e. a poset in which every finite subset has a least upper bound) can be viewed as a commutative monoid $M$, with the least upper bound of two elements as $+$ and the least element as $0$. Then $H(M)$ has at most one element, which is the greatest element if such exists. * If $M = \mathbb{N}$, with the usual addition, then $H(M) = \emptyset$. __Proposition__ If $H(M) \neq \emptyset$ then $H(M)$ is a group, under the same binary operation $+$ as $M$, _but not necessarily the same zero_. For a rather trivial example of why the zero might not be the same, consider a nontrivial join-semilattice with a greatest element. For a proof and nontrivial examples, see [this paper](http://arxiv.org/abs/math.CT/0212377) by Marcelo Fiore and me. (The proof's in section 3.) Now: __Theorem__ $H(M)$ is, if not empty, the group completion of $M$. How does this work? Write $z$ for the zero element of $H(M)$. Then there is a monoid homomorphism $\pi = z + (\ ): M \to H(M)$. It's not too hard to show that every homomorphism from $M$ to a group factors uniquely through $\pi$. Indeed, given a map $\phi: M \to A$, with $A$ a group, the corresponding map $\bar{\phi}: H(M) \to A$ is simply the restriction of $\phi$. The theorem only helps when there's at least one high element, though. There are nontrivial situations when there are no high elements, as the example above of $\mathbb{N}$ illustrates.