|
|
Line 1: |
Line 1: |
| {{DISPLAYTITLE:''s''<sub>''mn''</sub> theorem}}
| | Alyson Meagher is the name her parents gave her but she doesn't like when individuals use her full name. My wife and I reside in Mississippi but now I'm contemplating other choices. Credit authorising is how she tends to make a living. To climb is some thing I truly appreciate performing.<br><br>Also visit my page :: authentic psychic readings ([http://afeen.fbho.net/v2/index.php?do=/profile-210/info/ Full Write-up]) |
| In [[recursion theory|computability theory]] the '''''s''<sub>''mn''</sub> theorem''', (also called the '''translation lemma''', '''parameter theorem''', or '''parameterization theorem''') is a basic result about [[programming language]]s (and, more generally, [[Gödel numbering]]s of the [[computable function]]s) (Soare 1987, Rogers 1967). It was first proved by [[Stephen Cole Kleene]] (Kleene 1943).
| |
| | |
| In practical terms, the theorem says that for a given programming language and positive integers ''m'' and ''n'', there is a particular [[algorithm]] that operates on the [[source code]] of programs with ''m'' + ''n'' [[free variables]]. This algorithm produces source code that effectively substitutes ''m'' given values for the first ''m'' free variables in the program and leaves the rest free.
| |
| | |
| ==Details==
| |
| | |
| The basic form of the theorem applies to functions of two arguments (Nies 2009, p. 6). Given a Gödel numbering <math>\varphi</math> of recursive functions, there is a [[primitive recursive function]] ''s'' of two arguments with the following property: for every Gödel number ''p'' of a partial computable function ''f'' with two arguments, the expressions <math>\varphi_{s(p,x)}(y)</math> and <math>f(x,y)</math> are defined for the same combinations of natural numbers ''x'' and ''y'', and their values are equal for any such combination. In other words, the following [[extensional equality]] of functions holds for every ''x'':
| |
| | |
| :<math>\varphi_{s(p,x)} \simeq \lambda y.\varphi_p(x,y).\,</math>
| |
| | |
| More generally, for any ''m'', ''n'' > 0, there exists a primitive recursive function <math>s^m_n</math> of ''m'' + 1 arguments that behaves as follows: for every Gödel number ''p'' of a partial computable function with ''m'' + ''n'' arguments, and all values of ''x''<sub>1</sub>,…,''x''<sub>''m''</sub>:
| |
| | |
| : <math>\varphi_{s^m_n (p,x_1,\dots,x_m)} \simeq \lambda y_1,\dots,y_n.\varphi_p(x_1,\dots,x_m,y_1,\dots,y_n).\,</math> | |
| | |
| The function ''s'' described above can be taken to be <math>s^1_1</math>.
| |
| | |
| ==Example==
| |
| The following [[Lisp programming language|Lisp]] code implements s<sub>11</sub> for Lisp.
| |
| <source lang="lisp">
| |
| (defun s11 (f x)
| |
| (let ((y (gensym)))
| |
| (list 'lambda (list y) (list f x y))))
| |
| </source>
| |
| For example, {{code|lang=lisp|(s11 '(lambda (x y) (+ x y)) 3)}} evaluates to {{code|lang=lisp|(lambda (g42) ((lambda (x y) (+ x y)) 3 g42))}}.
| |
| | |
| ==See also==
| |
| *[[Currying]]
| |
| *[[Kleene's recursion theorem]]
| |
| *[[Partial evaluation]]
| |
| | |
| ==References==
| |
| | |
| * {{cite journal | doi = 10.1007/BF01565439 | author = Kleene, S. C. | title = General recursive functions of natural numbers | journal = Mathematische Annalen | volume = 112 | issue = 1 | pages = 727–742 | year = 1936 |url=http://gdz.sub.uni-goettingen.de/index.php?id=11&PPN=PPN235181684_0112&DMDID=DMDLOG_0043&L=1}}
| |
| * {{cite journal| author=Stephen Cole Kleene|authorlink=Stephen Cole Kleene| title=On Notations for Ordinal Numbers| journal=The [[Journal of Symbolic Logic]]| year=1938| volume=3| pages=150-155| url=http://www.thatmarcusfamily.org/philosophy/Course_Websites/Readings/Kleene%20-%20Ordinals.pdf}} (This is the reference that the 1989 edition of Odifreddi's "Classical Recursion Theory" gives on p.131 for the s<sub>mn</sub> theorem.)
| |
| * {{cite book | last=Nies | first=André | title=Computability and randomness | series=Oxford Logic Guides | volume=51 | location=Oxford | publisher=Oxford University Press | year=2009 | isbn=978-0-19-923076-1 | zbl=1169.03034 }}
| |
| * {{cite book | author = Odifreddi, P. | title = Classical Recursion Theory | publisher = North-Holland| year = 1999| isbn = 0-444-87295-7 }}
| |
| * {{cite book | author = Rogers, H. | title = The Theory of Recursive Functions and Effective Computability | publisher = First MIT press paperback edition | year = 1987 | origyear=1967 |isbn = 0-262-68052-1 }}
| |
| * {{cite book | author = Soare, R.| title = Recursively enumerable sets and degrees | series = Perspectives in Mathematical Logic | publisher = Springer-Verlag | year = 1987 | isbn = 3-540-15299-7 }}
| |
| | |
| == External links ==
| |
| *{{mathworld|urlname=Kleeness-m-nTheorem|title=Kleene's ''s''-''m''-''n'' Theorem}}
| |
| | |
| [[Category:Computability theory]]
| |
| [[Category:Theory of computation]]
| |
Alyson Meagher is the name her parents gave her but she doesn't like when individuals use her full name. My wife and I reside in Mississippi but now I'm contemplating other choices. Credit authorising is how she tends to make a living. To climb is some thing I truly appreciate performing.
Also visit my page :: authentic psychic readings (Full Write-up)