User:Moosey/Googology
ah
Part one: Starter notations
define $_n as any entries (including no entries) in an array. It’s my symbol for we-don’t-care entries. In any one use of any one rule, if n is the same, $_n is the same
a#b = concatenation of a and b
n@m = n, m = 1 {n}#(n@(m-1)), m > 1, m not a lim ord n@(m[n]) if m is a lim ord
g(a,n,B) = ah_g(a-1,n,B) {B}, a > 1; n, a = 0
Basic ah rules
Rule 1.
ah^a_n {$_0} = g(a,n,$_0)
Rule 2.
ah_n ({$_1}#{z}) = ah_n {$_1}, z = 0
Rule 3.
ah_n{} = n+1
Rule 4.
ah_n{a+1,$_2} = ah^n_n{a,$_2}
Rule 5.
ah_n{a,$_3} = ah_n{a[n],$_3}, a a lim ord
Rule 6.
ah_n ((0@b)#{a+1,$_4}) = ah_(n+1) (((a+1)@b)#{a,$_4}), b > 0
Rule 7.
ah_n ((0@b)#{a,$_5}) = ah_n ((a@b)#{a[n],$_5}), a a lim ord & b > 0
Notating enormous arrays
ah_n{$_0//(b+1),$_1} = ah_n((($_0)(@^_n)ah_n{$_0//b})#{//b,$_1})
ah_n{$_0//0} = ah_n{$_0}
ah_n{$_0//b,$_1} = ah_n{$_0//(b[n]),$_1} for lim ord b
Else: apply ah's 7 rules, starting after legion bar. (e.g. ah_{$_0//,0,0,w+1} =
ah_{$_0//,w+1,w+1,w})
($_1)(@^_n)a =
($_1)@(ah_n(($_1)(@^_n)(a-1))), a > 1,
ah_n{$_1}, a=1
ah_n{$_0@@0} = ah_n{$_0}
ah_n{$_0@@a,$_1} = ah_n{$_0@@a[n],$_1},a a lim ord
ah_n{$_0@@(a+1),$_1} = ah_n({$_0//}#{$_0@@(a),$_1}
Apply basic ah rules otherwise to everything after the @@
ah_n{$_0(@@b,$_2)0} = ah_n{$_0}
ah_n{$_0((@@b,$_2)a,$_1} = ah_n{$_0(@@b)a[n],$_1},a a lim ord
ah_n{$_0(@@0)(a+1),$_1} = ah_n({$_0//}#{$_0(@@0)(a),$_1}
ah_n{$_0(@@b+1,$_2)(a+1),$_1} = ah_n({$_0(@@b,$_2)}#{$_0@@(a),$_1}
ah_n{$_0(@@b,$_2)$_3} = ah_n{$_0(@@b[n],$_2)$_3}, if b is a lim ord
Apply basic ah rules otherwise to everything after the (@@$) or everything inside the (@@$)
depending on what is necessary
These array rules can be applied without the ah_n of the array, but any n refers to the n in the ah
subscript.
Enormous array update
if unspecified, n is the subscript in the first (closest) ah that is in front of the array.
{$_0//(b+1),$_1} = ((($_0)(@^_n)ah_n{$_0//b})#{//b,$_1})
{$_0//0} = {$_0}
{$_0//b,$_1} = {$_0//(b[n]),$_1} for lim ord b
Else: apply ah’s 7 rules, starting after legion bar. This includes nesting and incrementing the subscript (e.g. ah_n{$_0//,0,0,w+1} = ah_(n+1){$_0//,w+1,w+1,w})
($_1)(@^_n)a =
($_1)@(ah_n(($_1)(@^_n)(a-1))), a > 1,
ah_n{$_1}, a=1
{$_0@@0} = {$_0}
{$_0@@a,$_1} = {$_0@@a[n],$_1},a a lim ord
{$_0@@(a+1),$_1} = ({$_0//}#{$_0@@(a),$_1}
Apply basic ah rules otherwise to everything after the @@. See legion bar notes for more details
{$_0(@@b,$_2)0} = {$_0}
{$_0((@@b,$_2)a,$_1} = {$_0(@@b)a[n],$_1},a a lim ord
{$_0(@@0)(a+1),$_1} = ({$_0//}#{$_0(@@0)(a),$_1}
{$_0(@@b+1,$_2)(a+1),$_1} = ({$_0(@@b,$_2)}#{$_0@@(a),$_1}
{$_0(@@b,$_2)$_3} = {$_0(@@b[n],$_2)$_3}, if b is a lim ord
Apply basic ah rules otherwise to everything after the (@@$) or everything inside the (@@$) depending on what is necessary. See legion bar notes for more details.
(Now things such as ah_n{a(@@(a(@@a)a))a} are well defined.)
{$_0@@@(a+1),$_1} = {$_0(@@($_0@@@a,$_1))$_0,$_1}
{$_0@@@0} = {$_0}
{$_0@@@a,$_1} = {$_0@@@a[n],$_1}, a a lim ord.
Apply ah rules otherwise
Dimensional arrays: 2D
{$_0[[1]]0} = {$_0} {$_0[[1]]a+1,$_1} = {$_0@@@$_0[[1]]a,$_1} {$_0[[1]]a,$_1} = {$_0,a[[1]]a[n],$_1}, a a lim ord {$_0[[1]]0@m,a+1,$_1} = {$_0[[1]](ah_n{$_0[[1]](a+1)@m,a,$_1})@m,a,$_1} {$_0[[1]]0@m,a,$_1} = {$_0[[1]]a@m,a[n],$_1}, a a lim ord