User:IssaRice/Computability and logic/S–m–n theorem: Difference between revisions
No edit summary |
No edit summary |
||
Line 4: | Line 4: | ||
The s–m–n theorem is essentially the same thing as currying in functional programming languages.<ref>https://cs.stackexchange.com/questions/80837/is-smn-theorem-the-same-concept-as-currying</ref> | The s–m–n theorem is essentially the same thing as currying in functional programming languages.<ref>https://cs.stackexchange.com/questions/80837/is-smn-theorem-the-same-concept-as-currying</ref> | ||
The s–m–n theorem, together with the universal function, is useful for proving other theorems and also to avoid the arbitrariness of the specific encoding used. | |||
==Etymology=== | |||
The name "s–m–n" comes from the notation <math>s^m_n</math> (<math>s^n_m</math> in some texts) for the function that finds the new index. | |||
==References== | ==References== | ||
<references/> | <references/> |
Revision as of 06:51, 18 December 2018
The s–m–n theorem (also called the parametrization theorem) states that if is an place computable partial function and are natural numbers, then there exists a primitive recursive function such that .
Roughly speaking, the theorem states that if we start out with a computable partial function of variables, then we can fill in of the variables with actual values. When we do this, the resulting -place partial function continues to be computable. Moreover, we can find the index of this new partial function in terms of the old index and the values in a primitive recursive way.
The s–m–n theorem is essentially the same thing as currying in functional programming languages.[1]
The s–m–n theorem, together with the universal function, is useful for proving other theorems and also to avoid the arbitrariness of the specific encoding used.
Etymology=
The name "s–m–n" comes from the notation ( in some texts) for the function that finds the new index.