Smn定理
[Wikipedia|▼Menu]

smn定理 (: smn theorem) もしくはパラメータ定理 (: parameterization theorem) とは、再帰理論における定理であり、プログラミング言語(より一般化すれば、計算可能関数ゲーデル数)の基盤となっている[1][2]。これを最初に証明したのはスティーブン・コール・クリーネである[3]。s-m-n定理と表記されることもある。

この定理を実用的に解説すると、あるプログラミング言語と正の整数 m と n があるとき、m+n 個の自由変数を持つプログラムのソースコードを操作する特定のアルゴリズムがあることを示している。そのアルゴリズムは、与えられた m 個の値を最初の m 個の自由変数に束縛し、残りの変数を自由変数のままにしておく。
詳細

本定理の基本形は、2引数の関数に適用される。再帰関数のゲーデル数 φ {\displaystyle \varphi } が与えられたとき、次のような性質の2引数の原始再帰関数 s が存在する。すなわち、あらゆる2引数の関数 f のゲーデル数 p について、同じ x と y の組合せでの φ s ( p , x ) ( y ) {\displaystyle \varphi _{s(p,x)}(y)} と f ( x , y ) {\displaystyle f(x,y)} が定義され、その組合せにおいて等しい。言い換えれば、次のような外延的等価性が成り立つ。 φ s ( p , x ) = λ y . φ p ( x , y ) {\displaystyle \varphi _{s(p,x)}=\lambda y.\varphi _{p}(x,y)\,}

これを一般化するため、元の数を原始再帰関数で引き出せるように、n 個の数を1つの数に符号化する方法を採用する。例えば、それらの数のビットをインターリーブするといった符号化が考えられる。すると任意の正の数 m と n について、m+1 個の引数をとる原始再帰関数 s n m {\displaystyle s_{n}^{m}} が存在し、次のように振舞う。すなわち、あらゆる m+n 引数の関数のゲーデル数 p について、 φ s n m ( p , x 1 , … , x m ) = λ y 1 , … , y n . φ p ( x 1 , … , x m , y 1 , … , y n ) {\displaystyle \varphi _{s_{n}^{m}(p,x_{1},\dots ,x_{m})}=\lambda y_{1},\dots ,y_{n}.\varphi _{p}(x_{1},\dots ,x_{m},y_{1},\dots ,y_{n})\,}

となる。 s 1 1 {\displaystyle s_{1}^{1}} は、関数 s そのものである。

以下のLISPのコードは、s11 を実装したものである。(defun s11 (f x) (list 'lambda '(y) (list f x 'y))

例えば、(s11 '(lambda (x y) (+ x y)) 3) を評価すると (lambda (y) ((lambda (x y) (+ x y)) 3 y)) になる。
関連項目

カリー化

クリーネの再帰定理

部分評価

脚注^ Soare, R. (1987年). Recursively enumerable sets and degrees. Perspectives in Mathematical Logic. Springer-Verlag. ISBN 3-540-15299-7 
^ Rogers, H. (1987年) [1967年]. The Theory of Recursive Functions and Effective Computability. First MIT press paperback edition. ISBN 0-262-68052-1 
^ Kleene, S. C. (1943年). “General recursive functions of natural numbers”. Mathematische Annalen 53: 727?742. 

参考文献

Odifreddi, P. (1999年). Classical Recursion Theory. North-Holland.
ISBN 0-444-87295-7 

外部リンク

.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation.cs-ja1 q,.mw-parser-output .citation.cs-ja2 q{quotes:"「""」""『""』"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free a,.mw-parser-output .citation .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited a,.mw-parser-output .id-lock-registration a,.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription a,.mw-parser-output .citation .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:#d33}.mw-parser-output .cs1-visible-error{color:#d33}.mw-parser-output .cs1-maint{display:none;color:#3a3;margin-left:0.3em}.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}Weisstein, Eric W. "Kleene's s-m-n Theorem". mathworld.wolfram.com (英語).


記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:8871 Bytes
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef