An element a in a magma (M, ∗) has the left cancellation property (or is left-cancellative) if for all b and c in M, a ∗ b = a ∗ c always implies that b = c.
An element a in a magma (M, ∗) has the right cancellation property (or is right-cancellative) if for all b and c in M, b ∗ a = c ∗ a always implies that b = c.
An element a in a magma (M, ∗) has the two-sided cancellation property (or is cancellative) if it is both left- and right-cancellative.
A magma (M, ∗) has the left cancellation property (or is left-cancellative) if all a in the magma are left cancellative, and similar definitions apply for the right cancellative or two-sided cancellative properties.
A left-invertible element is left-cancellative, and analogously for right and two-sided.
To say that an element a in a magma (M, ∗) is left-cancellative, is to say that the function g : x ↦ a ∗ x is injective, so a set monomorphism but as it is a set endomorphism it is a set section, i.e. there is a set epimorphism f such f(g(x)) = f(a ∗ x) = x for all x, so f is a retraction. Moreover, we can be "constructive" with f taking the inverse in the range of g and sending the rest precisely to a.
Examples of cancellative monoids and semigroups
In fact any free semigroup or monoid obeys the cancellative law, and in general any semigroup or monoid embedding into a group (as the above examples clearly do) will obey the cancellative law.
In a different vein, (a subsemigroup of) the multiplicative semigroup of elements of a ring that are not zero divisors (which is just the set of all nonzero elements if the ring in question is a domain, like the integers) has the cancellation property. Note that this remains valid even if the ring in question is noncommutative and/or nonunital.
Non-cancellative algebraic structures
Although the cancellation law holds for addition, subtraction, multiplication and division of real and complex numbers (with the single exception of multiplication by zero and division of zero by another number), there are a number of algebraic structures where the cancellation law is not valid.
The cross product of two vectors does not obey the cancellation law. If a × b = a × c, then it does not follow that b = c even if a ≠ 0.
Matrix multiplication also does not necessarily obey the cancellation law. If AB = AC and A ≠ 0, then one must show that matrix A is invertible (i.e. has det(A) ≠ 0) before one can conclude that B = C. If det(A) = 0, then B might not equal C, because the matrix equation AX = B will not have a unique solution for a non-invertible matrix A.
Also note that if AB = CA and A ≠ 0 and the matrix A is invertible (i.e. has det(A) ≠ 0), it is not necessarily true that B = C. Cancellation works only for AB = AC and BA = CA (obviously provided that matrix A is invertible) and not for AB = CA and BA = AC.