東方巨大数3のエントリー用の記事です。ユーザーブログ:Hexirp/ハイパー演算子の拡張で示した超限弱ハイパー演算子を木の操作として再定義しました。
定義[]
式を以下のように三分木構造として定義する。式を書き下した時に括弧が含まれる場合もあるが、それは文字列で木構造を表すための便宜的なものである。
- 1 または ω は式である。
- a, b, c を式とする。a[b]c は式である。
展開変換 S を以下のようにして定義する。複数の規則が適用できる場合は番号が若い規則を優先する。
- S(1) -> 1
- S(ω) -> ω
- S(a[1](b[1]c)) -> S((a[1]b)[1]c)
- S(a[1]b) -> S(a)[1]S(b)
- S(a[b]1) -> S(a)
- S(a[b[1]1](c[1]1)) -> S((a[b[1]1]c)[b]a)
- S(a[b]c) -> S(a)[S(b)]S(c)
- S(a) -> a
式 a の標準形とは S(a) である[1]。
標準形である式に対する述語 One, Succ, Limit を以下のように定義する。
- One(a) := a = 1
- Succ(a) := exists a', a = a'[1]1
- Limit(a) := ¬ (One(a) \/ Succ(a))
後者変換 P を以下のようにして定義する。
- P(a[1]1) -> a
- P(a) -> a
基本列変換 T を以下のようにして定義する。複数の規則が適用できる場合は番号が若い規則を優先する。
- T(ω)(1) -> 1
- T(ω)(n) -> T(ω)(n-1)[1]1
- T(a[b]c)(n) -> ...
- Limit(b) -> a[T(b)(n)]c
- Limit(c) -> a[b]T(c)(n)
- T(a)(n) -> 1
関数 f を以下のようにして定義する。ただし、iter(f)(m)(n) は n に f を m 回適用することを表す。
- f(a)(n) = let a' = S(a) in ...
- One(a') -> 2 * n
- Succ(a') -> iter(f(P(a')))(n)(n)
- Limit(a') -> f(T(a')(n))(n)
関数 O を以下のようにして定義する。
- O(1) = ω
- O(n+1) = ω[O(n)]ω
関数 TransWeakHyper を以下のようにして定義する。
- TransWeakHyper(n) = f(O(n))(n)
巨大数"数符「トランスウィークハイパー」"を以下のようにして定義する。
- TransWeakHyper(10000)
脚注[]
- ↑ 今更だが a = S(a) となる a は標準形であるとしたほうが正しい