Angle bracket notation (ConceptTopic, 3)

From Hi.gher. Space

[ System created by Keiji ]

This details Jonathan Bowers' notation on angle brackets. To summarize this, a <1> b = a+b, a <2> b = a*b, a <3> b = a^b, etc.

As an example, using only the numbers 1 to 9:

  • 51 = 6 <1> (5 <2> 9)

Now, the reason I've left it only using the numbers 1-9 is because this way it can be shortened even more. By removing all the angle brackets and spaces, leaving only numbers and brackets, we get the following:

  • (61(529))

Note that the outermost brackets are only there to denote which is compact angle bracket (CAB) notation and which is ordinary math.

This is very space-saving to store in a computer, as since there are only 11 different symbols it can be stored with two characters per byte. With very large numbers this would be useful. Consider one googolplex, 1010100. A computer currently would be unable to store this number. However, if we convert it to this notation:

  • 10 = (225)
  • 100 = ((225)32)
  • 10100 = ((225)3((225)32))
  • 1010100 = ((225)3((225)3((225)32)))

This, being only 23 characters long, can be stored in only 12 bytes of data.

The general rule for the string of characters is "In each group of numbers, where a group is everything between one "(" and its respective ")" exclusively, only 3 numbers or groups are allowed, no more and no less."

Given this rule I will now generate a completely random valid string of characters to prove that it can be expanded to angle-bracket notation: "23((628)7(5(187)(95(752))))" - 27 characters, occupying 14 bytes

First of all, if we take the (752) part, which expands to 7 <5> 2, we get 7 hyper5ed to 2, which is 7 hyper4ed to 7, which is: 7^(7^(7^(7^(7^(7^7)))))

Bearing in mind that 7^7 = 823543, 7^(7^7) would be a very large number let alone the whole thing.

A note to be said here is that if, in (a <b> c), a is 1 and b > 2, then that expression can simply be replaced by 1. This is because:

  • 1+n > 1
  • 1*n > 1
  • 1^n = 1
  • 1 hyperNed with n = 1

Thus we can replace the <(1 <8> 7)> in the previous expression with a simple 1.

Extension of the notation

Paul Wright posted this improvement to my notation. I will however change his suggestions to fit my notation style more appropriately:

  • a {2} 2 = (a {1} 2) <(a {1} 2)> (a {1} 2) = a <a> a
  • a {3} 2 = (a {2} 2) <(a {2} 2)> (a {2} 2) = a <a> a <a <a> a> a <a> a
  • a {4} 2 = (a {3} 2) <(a {3} 2)> (a {3} 2) = a <a> a <a <a> a> a <a> a <a <a> a <a <a> a> a <a> a> a <a> a <a <a> a> a <a> a

etc.

  • a {n} 3 = a {a {n} 2} 2
  • a {n} 4 = a {a {n} 3} 3 = a {a {a {a {n} 2} 2} 2} 2

etc.

And once more:

  • a [2] 2 = (a [1] 2) {(a [1] 2)} (a [1] 2) = a {a} a
  • a [3] 2 = (a [2] 2) {(a [2] 2)} (a [2] 2) = a {a} a {a {a} a} a {a} a
  • a [4] 2 = (a [3] 2) {(a [3] 2)} (a [3] 2) = a {a} a {a {a} a} a {a} a {a {a} a {a {a} a} a {a} a} a {a} a {a {a} a} a {a} a

etc.

This looks incredibly similar to the original a <b> c notation. So, we can further generalize such that:

  • a <b, 1> c = a <b> c
  • a <b, 2> c = a {b} c
  • a <b, 3> c = a [b] c

Again, we can compact the numbers, except this time there are four in a group:

  • (2222)

or a more complex example:

  • (2(4821)9(2532))

Worked examples

Anything represented in this "four-group" style is a very large number (with a few exceptions). A small number:

  • (2222)
  • = 2 {2} 2
  • = 2 <2> 2
  • = 2*2 = 4

A slightly larger number:

  • (3222)
  • = 3 {2} 2
  • = 3 <3> 3
  • = 3^3 = 27

And a much larger number:

  • (2322)
  • = 2 {3} 2
  • = 2 <2> 2 <2 <2> 2> 2 <2> 2
  • = 4 <4> 4
  • = 4^(4^(4^4))
  • = 4^(4^256)
  • = 4^1.3407807929942597099574024998206E+154

And an even larger number:

  • (2223)
  • = 2 {2} 3
  • = 2 {2 {2} 2} 2
  • = 2 {4} 2
  • = 2 <2> 2 <2 <2> 2> 2 <2> 2 <2 <2> 2 <2 <2> 2> 2 <2> 2> 2 <2> 2 <2 <2> 2> 2 <2> 2
  • = 4 <4> 4 <4 <4> 4> 4 <4> 4
  • = 4^(4^(4^4)) <4^(4^(4^4))> 4^(4^(4^4))
  • = 4^(4^256) <4^(4^256)> 4^(4^256)

At a guess, that number would have googols of digits or more. Finally, for the record:

  • (2233)
  • = 2 [2] 3
  • = 2 [2 [2] 2] 2
  • = 2 [2 {2} 2] 2
  • = 2 [4] 2
  • = 2 {2} 2 {2 {2} 2} 2 {2} 2 {2 {2} 2 {2 {2} 2} 2 {2} 2} 2 {2} 2 {2 {2} 2} 2 {2} 2
  • = 4 {4} 4 {4 {4} 4} 4 {4} 4
  • = 4 {4 {4 {4 {4} 2} 2} 2} 2 {4 {4 {4 {4 {4} 2} 2} 2} 2} 4 {4 {4 {4 {4} 2} 2} 2} 2
  • = 4 {4 {4 {4 <4> 4 <4 <4> 4> 4 <4> 4 <4 <4> 4 <4 <4> 4> 4 <4> 4> 4 <4> 4 <4 <4> 4> 4 <4> 4} 2} 2} 2 {4 {4 {4 {4 <4> 4 <4 <4> 4> 4 <4> 4 <4 <4> 4 <4 <4> 4> 4 <4> 4> 4 <4> 4 <4 <4> 4> 4 <4> 4} 2} 2} 2} 4 {4 {4 {4 <4> 4 <4 <4> 4> 4 <4> 4 <4 <4> 4 <4 <4> 4> 4 <4> 4> 4 <4> 4 <4 <4> 4> 4 <4> 4} 2} 2} 2
  • = 4 {4 {4 {4^(4^256) <4^(4^256)> 4^(4^256) <4^(4^256) <4^(4^256)> 4^(4^256)> 4^(4^256) <4^(4^256)> 4^(4^256)} 2} 2} 2 {4 {4 {4 {4^(4^256) <4^(4^256)> 4^(4^256) <4^(4^256) <4^(4^256)> 4^(4^256)> 4^(4^256) <4^(4^256)> 4^(4^256)} 2} 2} 2} 4 {4 {4 {4^(4^256) <4^(4^256)> 4^(4^256) <4^(4^256) <4^(4^256)> 4^(4^256)> 4^(4^256) <4^(4^256)> 4^(4^256)} 2} 2} 2

You get the point.