0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

コンビネータ論理の基礎

Last updated at Posted at 2025-05-06

数学の加法の交換法則により、全ての$x,y$に対して$$ x+y=y+x$$がなりたつ。加算を関数$A$で表すと、全ての$x,y$に対して$$A(x,y)=x+y$$と表記できる。作用素$\textbf{C}$で全ての$f,x,y$に対して$$(\textbf{C}(f))(x,y) = f(y,x)$$と定義すると、交換法則は、単純に$$\textbf{C}(A)=A$$と記述できる。$\textbf{C}$は関数を入力として関数を返す作用素(汎関数あるいは超関数)であり、コンビネータと呼ばれる。

他にもいろいろな種類のコンビネータがある。
$(\textbf{B}(f,g))(x) = f(g(x))$
$(\textbf{B}’(f,g))(x) = g(f(x))$
$\textbf{I}(f)=f$ 恒等作用素
$(\textbf{K}(a))(x)=a$ 定数関数を生成する
$(\textbf{S}(f,g))(x)=f(x,g(x))$ 強い合成作用素
$(\textbf{W}(f))(x)=f(x,x))$ 二重化あるいは対角化

以下のように変数(関数も含む)$X,Y,Z$に対して還元(reduction)が行われる:
$\textbf{B}XYZ = X(YZ)$
$\textbf{B}’XYZ=Y(XZ)$
$\textbf{I}X=X$
$\textbf{K}XY=X$
$\textbf{S}XYZ=XY(YZ)$
$\textbf{W}XY=XYY$

計算の適用は項$X,Y,Z,W$とすると、
$XYZW=((XY)Z)W$のように左から計算されていく。適応順序が自明であればカッコ()は省略される。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?