不動点コンビネータ
fixed point combinator
不動点演算子
とも言う
与えられた関数の
不動点
を求める関数(
コンビネータ
)
不動点コンビネータ
g
に対して以下が成り立つ
任意の関数
f
に対し、
p = g(f)
とすると、
f(p) = p
が成立する
これは以下のように言い換えられる
任意の関数
f
に対し、
f(g(f)) = g(f)
が成り立つ
上の説明における
p
が
不動点
である
要するに、任意の関数
f
を不動点コンビネータに適用することで、不動点が求められる
例
Yコンビネータ
無名関数で再帰を行っている
Zコンビネータ
チューリング不動点コンビネータ
fix関数
参考
不動点コンビネータ - Wikipedia
不動点コンビネータにより再帰を実現できることの証明
いくつかの不動点コンビネータの例
https://docs.google.com/presentation/d/1UJneVe12RZtoiCtmnzXgkpxPr-wDCoqxcNES29ZrxzE/edit#slide=id.p