User blog comment:Vel!/Yudkowsky on googology/@comment-5982810-20140327230703

@65.26.80.144


 * 1) ^^#>># is a meaningless expression. It's just a syntax error. Caret top's can't be repeated in that way because of how they work. A caret top requires three arguments and a binary operator. It then iterates the binary function a  number of times based on it's third argument.

Although restricted to hyperion-ordinals, and ordinal hyper-operators in xE^, this concept can be extended fairly naturally to any binary operator. For example we could interpret...

3+4>5 = ((((3+4)+4)+4)+4)+4 = 23

however 3+4>>5 is just bad syntax, in the same way that ' 4++5 ' is bad syntax. Operators require certain conditions to function properly. In the above example the ' + ' operator is an infix operator that expects a numeric argument on either side. but instead we have (4+)+5 or 4+(+5). Neither 4+ or +5 is a proper numeric expression. In fact taken on their own 4+ and +5 are also syntactically incorrect because they are missing an argument. Likewise the caret top requires 3 arguments and another operator, and is meaningless if any of this information is missing or the arguments provided are not in it's domain. Instead we have either #^^(#>)># or #^^#>(>#). Neither #> or ># is a legal argument, so the expression is just broken.

The only way to fix that is to define a richer syntax or alternative syntax (read notation) in which such expressions are assigned a meaning. For example we can reiterpret ' ++ ' as a new binary operator equivalent to ' * ', thus 4++5 := 4+4+4+4+4 = 20. Note that there is no natural definition here, it has to be defined by the 'user'. Someone else could define ' a++b ' to mean (a++(b-1))+(a++(b-1)) if b>0 and a if b=0. Then we get...

4++5 = (4++4)+(4++4) = ((4++3)+(4++3))+((4++3)+(4++3)) =  (4++3)*4 = ((4++2)+(4++2))*4 =

(4++2)*8 = ((4++1)+(4++1))*8 = (4++1)*16 = ((4++0)+(4++0))*16 = (4++0)*32 = (4)*32 = 128

Not only is the result completely different but the meaning completely changes. I want to emphasize the following:

No mathematical notation is inherently meaningful. They are imbued with meaning only by the syntax defined for them.

This is why they make such a fuss about order of operations in math class. It's because without such careful syntax, expressions become ambiguous.

If you want a definition for #^^#>>#, go head and define it. I only use caret tops to carry out intermediary constructions to define the hyper-ordinal sequence within the 2nd argument of a hyper-operator. Caret tops let you go from ^^#, to ^^##, ^^### , etc. They are simply used to build up the second argument in the hyper-operator, which in turn is used to build the next hyper-operator which is then built up with a caret top ... and so on.

Your definition for double-caret tops doesn't work either, because a caret top is not a unary function, but a ternary one (requires 3 arguments not 1). You can iterate factorials because they only require a single argument.

ex. ((3!)!)! = (6!)! = 720!

An expression like ((#>)>)> is a syntax error.

(Sbiis.ExE)