(what the correct name for this? commutable?).
involves only one operation.
$a + $b = $b + $a
and at least two operands which get "permuted". thus, it is pointless to ask for commutativity of an unary operation.
the problem is, ++ is not surjective
or can you find a value for $z so that ++ $z is "Aa0"? no, you can't:
my ($z1, $z2) = qw/ z9 Z9 /;
print ++ $z1, ", ", ++ $z2, $/;
thus, ++ does not have any reverse mapping at all.
but if we only allow either lower case or upper case (not both mixed), the problem nearly disappears:
++: /\A[A-Z]*[0-9]*\z/ -> /\A[A-Z]*[0-9]*\z/
++: /\A[a-z]*[0-9]*\z/ -> /\A[a-z]*[0-9]*\z/
a problem is that "0" has no preimage
or can you find a value for $z so that ++ $z is "0"? no, you can't. ;D
HTH hehe, finally i was able to apply some knowledge of last years mathematics. hopefully, i am correct.