generated at
ハイパー演算子
hyper operator
加算、乗算、冪乗を一般化した演算のための演算子
クヌースの矢印表記を使って表記されることが多い


定義
hs
hyper 0 a b = succ b hyper 1 a 0 = a hyper 2 a 0 = 0 hyper n a 0 = 1 hyper n a b = hyper (n-1) a $ hyper n a (b-1)

使い方
hs
inc = hyper 0 -- inc _ 1 == 2 add = hyper 1 -- add 1 2 == 1+2 mul = hyper 2 -- mul 1 2 == 1*2 pow = hyper 3 -- pow 1 2 == 1^2 tet = hyper 4 -- pen = hyper 5 --


元となる考え
複数回の加算→乗算
ex. 3回、2を足す → 2+2+2 → 2*3 → 6
複数回の乗算→冪算
ex. 3回、2をかける → 2*2*2 → 2^3 → 8
複数回の冪乗→テトレーション
ex. 3回、2の冪乗をする → 2^{2^{2}} → → 16
複数回のテトレーション→ペンテーション
複数回のペンテーション→ヘキセーション
複数回のヘキセーション→ヘプテーション
...
以降無限に続く