- FINAL -
This is my dumbest notation created based on arrays. It is experimental and ill-defined.
This notation has 4 levels as follows:
Basic level
Linear level
Separator level
Death level
Uses ? (question mark) as the notation format.
?<> = 99
?<p> = 99*p
?<#,1> = ?<#>
?<p,q> = ?<p,q-1>*99 for q > 1
Where # is a part of said array (a string of entries and commas, it can also be empty). If there are two or more distinct rules to apply to a single expression, the uppermost-numbered rule which is applicable and whose result is a valid expression will be applied.
# is a part of said array (a string of entries and commas, it can also be empty).
?<> = 99
?<p> = 99*p
?<#,1> = ?<#>
?<p,q#> = ?<p,q-1#>*99 for q > 1
Otherwise, start the process below:
Scan the array:
?<p,1,q#> = ?<p,p,q-1#> for q > 1
?<p,1,1,...,1,1,q#> = ?<p,1,1,...,1,1,q-1#> for q > 1
If there are two or more distinct rules to apply to a single expression, the uppermost-numbered rule which is applicable and whose result is a valid expression will be applied.
# is a part of said array (a string of entries, commas, and separators, it can also be empty).
?<> = 99
?<p> = 99*p
?<#,1> = ?<#>
?<p,q#> = ?<p,q-1#>*99 for q > 1
Otherwise, start the process below:
Scan the array:
Commas are the {1} separators
?<p,1,q#> = ?<p,p,q-1#> for q > 1
?<p,1,1,...,1,1,q#> = ?<p,1,1,...,1,1,q-1#> for q > 1
?<p{2}q#> = ?<p,1,1,...,1,1,2{2}q-1#> where there are p entries at the left of {2}, and q > 1
?<p{r}q#> = ?<p{r-1}1{r-1}1{r-1}...,1{r-1}1{r-1}2{r}q-1#> where there are p entries at the left of {r}, and q > 1, and r > 1
If there are two or more distinct rules to apply to a single expression, the uppermost-numbered rule which is applicable and whose result is a valid expression will be applied.
Now, let's define another function.
f(n) = ?<99{n}99>
?<p*2> = f(p)
?<p*q> = f(?<p*q-1>) for q > 1
?<p**2> = ?<p*1*1*1*...*1*1*1*2> where there are p entries separated by *'s
?<p***2> = ?<p**1**1**1**...**1**1**1**2> where there are p entries separated by **'s
n! = ?<99****...****99> where there are n *'s
?<p@2> = n!
?<p@q> = (?<p@q-1>)! for q > 1
If we keep defining functions like this, and then combine them all into one enormous function, we can create much more enormous numbers.
?<p@@2> = ?<p@1@1@...@1@1@1@2> where there are p entries separated by @'s
We can even do ?<p@@@@@@@...@@@@@@@q> with 99 @'s, and that is the limit of the notation.