User:IssaRice/Computability and logic/S–m–n theorem: Difference between revisions
No edit summary |
|||
Line 6: | Line 6: | ||
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. | 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. | ||
Different kinds of proofs: | |||
* Tape/register-based way | |||
* Using recursive functions and ways of encoding them | |||
==Etymology== | ==Etymology== |
Revision as of 07:10, 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.
Different kinds of proofs:
- Tape/register-based way
- Using recursive functions and ways of encoding them
Etymology
The name "s–m–n" comes from the notation (denoted in some texts) for the function that finds the new index.