User blog:Cookiefonster/Analysis of Graham Array Notation - is it well-defined?

I'm sure you all remember Antares I.G. Harrison's Graham Array Notation, a sloppy notation he slapped together and shoved onto the wiki. I've proposed to delete the article due to how little of it is well-defined. Here I'll back up my claims by analyzing the ruleset.

Rules 1-3 are alright:


 * Rule 1 : [a] = a


 * Rule 2 : [a,b] = ab


 * Rule 3 : a^^^.....^^^b with c ^'s using arrow notation. This is a→b→c in chained arrow notation or {a,b,c} in BEAF or BAN.

Rule 4 is a bit ambiguous:


 * Rule 4: [a,b,c,d] = a{a{.....{a{a{c}b}b}.....}b}b using BEAF's Bracketed Operator

It uses the thing of a.....b with c a's or similar, which is generally bad practice. Here he doesn't specify the number of pairs of brackets to put in, so we can only assume it's d pairs of brackets. That does seem to be his intent given how he expresses Graham's number.

Rule 5 is alright but superfluous:


 * Rule 5 : [[a],b,c] = [a,a,b,c]

Well-defined, but no need to have a way to truncate an array where the first entry is different.

Rules 6-8 are kind of well-defined but very bad practice:

Rule 6 : [a,b,c,d,e] = [[a,b,c,d],[a,b,c,d],e]


 * 6-1 : [a,b,c,d,e,f,g,h] = [[a,b,c,d,e,f],[a,b,c,d,e,f],g,h]


 * 6-2 : [a,b,c,d,e,f,g,h,i] = [[a,b,c,d,e,f,g,h],[a,b,c,d,e,f,g,h],i]


 * 6-3 : [a,b,c,d,e,f,g,h,i,j] = [[a,b,c,d,e,f,g,h],[a,b,c,d,e,f,g,h],i,j]

Rule 7 : [a,b,c,d,e,f] = [[a,b,c,d],[a,b,c,d],e,f]
 * 6-4 : [a,b,c,d,e,f,g,h,i,j,k] = [[a,b,c,d,e,f,g,h,i,j],[a,b,c,d,e,f,g,h,i,j],k]

Rule 8 : [a,b,c,d,e,f,g] = [[a,b,c,d,e,f],[a,b,c,d,e,f],g]

At first it just had rules 6, 7, and 8. Here he provides cases for 5, 6, and 7 entry arrays, but not for higher arrays; though it's easy to deduce what to do for 8+ entry arrays, it's better to make a general case, like:


 * [#,z] = [[#],[#],z]

which isn't so hard. I suggested that Antares make a rule for arrays with any number of entries, so how did he respond? By adding cases for 8 to 11 entries instead of actually making a general case. He missed the point.

Rule 9 doesn't terminate and is superfluous:


 * Rule 9 : [a,(b)] = [a,[a,(b-1)]]
 * If Harrison is right, Rule 9 is about a^^b+2

This is another weird rule. Why not make a compact expression for an array with b a's and expand upon that? This is just a weaker addition to the notation. It's almost like you're going sideways when you should be going forward. Plus, it doesn't terminate. Let's evaluate [3,(3)]:

[3,(3)] = [3,[3,(2)]] = [3,[3,[3,(1)]]] = [3,[3,[3,[3,(0)]]]] = [3,[3,[3,[3,[3,(-1)]]]]]

and so on. It just goes on forever. We can only assume it was intended that either [a,(1)] or [a,(0)] evaluates to a.

Rule 10 is an expansion on rule 9:


 * Rule 10 : [a,b,(c)] = [a,b,[a,b,(c-1)]]
 * If Harrison is right, Rule 10 is about [a,b,b,c+1]

Once again, it's both superfluous and doesn't temrinate.

Rule 11 is actally doing a general case right but is still ill-defined:


 * Rule 11 : [#,(a)] = [#,[#,(a-1)]]

Rule 12 is weird:


 * Rule 12 : A 2-dimensional array of a,b (if you can imagine it) like would be [a,b]^[a,b]. We will get to the ^ later on.

What does "a 2-dimensional array of a,b" mean?! A axb array of a's? A axb array of b's? An array alternating a and b or something? I think we can safely say that's ill-defined.

Rule 13 is alright:


 * Rule 13 : [a^b] = [a,a,a,......a,a] (b times)

Rule 14 might count as well-defined:


 * Rule 14 : [a^^b] = [a^a^a^a......^a^a] (b times)

What would [a^b^c] even evaluate to? It's definitely not specified. Maybe it would evaluate to [a^[b^c]]? That seems likely, but it's still ambiguous.

Rules 15 and 16 might count as well-defined if you fill in the gaps:


 * Rule 15 : [a{^}b] = [a^^^......^^^b] (b ^'s)


 * Rule 16 : [a{[^}}b] = [a{^}a{^}a{^}a......{^}a{^}a] (b times)

Rule 15 just jumps straight to what is clearly extending the [a^^b] system to up-arrow notation and beyond.

Rules 17 and 18 are not well-defined by any stretch of the imagination:


 * Rule 17 : [ab] = A c-dimensional array of [a,b] (BEAF's ab & c)


 * Rule 18 : [ab] = A c-dimensional array of [a,b] with the side lenght d, counting the array as a lenght of 1.

This is super ambiguous. Even 2-dimensional arrays don't actually have a clear definition, and how would you extrapolate from there? Would a "3-dimensional array of a,b" be [a,b]^[a,b]^[a,b]?? This is really ambiguous, and kind of meaningless because it doesn't actually represent fully evaluating a cube filled with 3's, rather just a mirage visualization.

Rule 19 deserves a flat "what":


 * Rule 19 : Any array can be (c)-ed, be multidimensional, and so on

I have nothing to say about this other than that I have no idea what that means—especiialy the (c)-ed part. What.

Rules 20-22 extrapolate further on something pretty flimsy:


 * Rule 20 : [a,b]c = [ab] with c {}'s.


 * Rule 21 : [a,b/c] = [a,b]c


 * Rule 22 : [a,b/c,d] = [....[a,b,[a,b,[a,b]]c]c]....] with d []'s

I suppose this could be well-defined? But rule 22 is kind of a case of a salad function. It's applying a weak function to a value (probably) well beyond that function.

More coming soon.