User blog comment:MachineGunSuper/What does this mean/@comment-30754445-20171228170334

It's basically a way to count levels of recursions:

Ex#y - 1

Ex#y#z - 2

Ex#y#z#t - 3

and so on.

This can even be used to count ordinals, so:

Ex##y is a level ω function. It actually expands to Ex#x#x#x#...#x with y x's.

Then we have

Ex##y#z for ω+1

Ex##y#z#t for ω+2

and so on.

Basically, every combination of hash-tags and similar symbols represents an ordinal, and we add them all up:

Ex##a#b#c#d#e: that's one "##" and five "#", so this corresponds to ω+5

Ex##y##z: that's two "##" so we have ω+ω = ω*2

and so on.

Similarly, ### means ω2 and #### means ω3 and so on.

So:

Ex#####y#####z##a#b#c#d = two #####'s + one ## + four #'s → ω4x2+ω+4

This gets you up to ωω (Psi Level 30)

Larger ordinals require more symbols, and a this stage the notation mimics ordinals even more closely:

Ex#^#y → ω^ω

Ex#^#*#y → (ω^ω)*ω = ωω+1

Ex#^#*##y → (ω^ω)*ω2 = ωω+2

Ex#^#*#^#y → (ω^ω)*(ω^ω) = ωωx2

Ex#^#*#^#*#^#y → (ω^ω)*(ω^ω)*(ω^ω) = ωωx3

Ex#^#^#y → ω^ω^ω

Ex#^#^#^#y → ω^ω^ω^ω

and so on.

After that... well, things get complicated. But the general correspondence between #,^,* combinations and ordinals remain.

Now, it is important to notice that what I've just written isn't the actual definition of these symbols. For a formal definition, you can go to the Hyper-E article in the mainspace. The cryptic definitions you see there are the actual mechanisms that generates the required growth rate.

Personally, if you want to study a fast-growing notation, I recommend you start with Bower arrays and BEAF. They are easier on the eye, I think.