Say we have a
function f:X→Y and know already that
f(x1×x2)=f(x1)×′f(x2)
What actually does this mean?
It means this: the value of
f on some element
x∈X is decided exactly by the value of
f on any
factorization of
x by
×. In other words,
f respects
×-destructuring.
An example is in
order... Consider the case of
X=Z⋆ the
set of sequences of integers with
× being concatenation. And say we want to know what value
f gives to the element
[1,2,3,4]∈Z⋆.
Well, I don’t know what that value is exactly, but I
do know this:
f([1,2,3,4])=f([1]×[2]×[3]×[4])=f([1])×′f([2])×′f([3])×′f([4])
Hence, the result of
f([1,2,3,4]) is decided exactly by what
f takes on each ‘factor’
[1] and
[2] and
[3] and
[4].
For another example, we can consider
X=(N,×) with
× as multiplication. In this case, “factorization” becomes actual factorization. If
f is a monoid-
isomorphism, then we know e.g.
f(60)=f(2×2×3×5)=f(2)×′f(2)×′f(3)×′f(5)
Here the value of
f(60) depends only on what
f evaluates to on each
prime factor of
60.
In a sense, if
f:(X,×,e)→(Y,×′,e′) is a monoid-
isomorphism, then it’s not really a
function of elements but rather of factorizations. The monoid-
isomorphism law prevents
f from treating any element different from its factorization!
Remark. It is not guaranteed by the monoid structure that elements have unique minimal factorizations. Consider (Q,×), for example.