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.