Tuesday, March 11, 2014

Operator before addition

I'm sure this idea is not new but, well it's a new idea to me. The question is, what comes before the plus operator on numbers? i.e. if we have + then * then power, then tetration... what do we get when going in the other direction?
These can be defined by the three valued Ackermann function phi(m,n, x) so phi(m,n, 0) = m+n, phi(m,n, 1) = m*n etc. The question may then be what is phi(m, n, -1)?
I'm going to call this operator # (or 'with').
I say 'may' because the extension of these numerical operators is perhaps ambiguous and so it may be that there are different correct answers depending on your interpretation of the existing operators. In a previous post I thought that # is the equality operator, it returns m if m==n, otherwise it returns void.

Today's idea is to make:
 m # n = log_2(2^m + 2^n)
So we get a sequence
a#a = a+1
a+a = a*2
a*a = a^2

The identity value for all four:
a#-inf = a
a+0 = a
a*1 = a
a^1 = a.

The operators are different because they consider the arguments in a different context... for addition the values m and n are considered as points along a line, for multiplication they are considered to be magnitudes, and for the # operator they are considered to be entropies. This is important because entropy is a very fundamental concept so having # as an operator as fundamental as + and * is useful in learning to deal with entropy and information.
For example, the information needed to store either a 16 bit colour or a 16 bit alpha is 16#16 = 17bits. Anyway, # is a sum 'as though the arguments are entropies'. It also has an inverse:
m -# n which is just log_2(2^m - 2^n).