Cancellable Infinite Semigroup is not necessarily Group

Theorem
Let $\struct {S, \circ}$ be a semigroup whose underlying set is infinite.

Let $\struct {S, \circ}$ be such that all elements of $S$ are cancellable.

Then it is not necessarily the case that $\struct {S, \circ}$ is a group.

Proof
Consider the semigroup $\struct {\N, +}$.

From Natural Numbers under Addition form Commutative Semigroup, $\struct {\N, +}$ forms a semigroup.

From Natural Numbers are Infinite, the underlying set of $\struct {\N, +}$ is infinite.

From Natural Number Addition is Cancellable, all elements of $\struct {\N, +}$ are cancellable.

But from Natural Numbers under Addition do not form Group, $\struct {\N, +}$ is not a group.