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).
- If $M$ is aAny join-semilattice (i.e. a poset in which every finite subset has a least upper bound) then $M$ 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 (ifif 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 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.