User blog comment:Josewong/Extensible-E Extension Challenge/@comment-37485018-20191215000800/@comment-37485018-20191215194113

A more formal definition

Define \(Simplify(H,b)\) where \(H\) is a separator and \(b\) is a natural number:

\(Simplify(\#,b)=b \\ Simplify(E[\#]H*\#,b)=\underbrace{(E[\#]H)*(E[\#]H)*\cdots*(E[\#]H)*(E[\#]H)}_b \\ Simplify(E[\#]H,b)=E[\#]Simplify(H,b)\)

(@ is the rest of the expression)

Extensible-E (base #):

\(E[\#]@1=E[\#]@\text{ (remove trailing 1s)} \\ E[\#]@y\#z=E[\#]@(E[\#]@y\#(z-1)) \\ E[\#]@yH*\#z=E[\#]@\underbrace{yHyHy\cdots yHyHy}_z \\ E[\#]@yHz=E[\#]@ySimplify(H)z\)

Extensible-E (base 10):

\(Ea=10^a \\ E@1=E@\text{ (remove trailing 1s)} \\ E@y\#z=E@(E@y\#(z-1)) \\ E@yH*\#z=E@\underbrace{yHyHy\cdots yHyHy}_z \\ E@yHz=E@ySimplify(H)z\)