User blog:Planetn9ne/Using prime numbers to create a Linear BEAF level notation

This notation heavily depends on prime numbers and how any composite number can be factored into prime numbers.

Let P(n) = the nth prime number, and P^-1(n) be the number such that P(x) = n. P^-1(n) for any number that is not prime is undefined.

Let p(n) = the smallest prime number that is a factor of n.

The function f(n,m) is defined for all positive integers n and m.

1. f(n,1) = 1

2. f(1,n) = P(n)

3. f(n*2,m) = f(n,f(n*2,m-1))

4. f(n,m) = f(n/(p(n))*P(P^-1(p(n))-1)^m,p(n))

The last rule is complex, so I will explain it more. Basically, it takes the smallest prime that is a factor of n, divides it out, and multiplies it by the previous prime to the power of m.

How this works: Each prime number can be thought of a dimension. The exponent of the prime number shows how far it is on the dimension. This can encode any number into an infinite dimensional space with each number getting unique coordinates. For example, 18 can be thought of as (1,2,0,0...), 45 as (0,2,1,0,0....), and 100 as (2,0,2,0,0...). First you find the coordinates of the number, and then if the first coordinate is greater than zero, you divide the number by two and iterate the function. Otherwise, you find the leftmost coordinate, and subtract that number by one, increase the previous coordinate by m, and find the number that corresponds to that coordinate.

This should reach linear arrays, and if it doesn't, please tell me in the comments.