In computability theory the S mn theorem, written also as "smn-theorem" or "s-m-n theorem" (also called the translation lemma, parameter theorem, and the parameterization theorem) is a basic result about programming languages (and, more generally, Gödel numberings of the computable functions) (Soare 1987, Rogers 1967). It was first proved by Stephen Cole Kleene (1943). The name S mn comes from the occurrence of an S with subscript n and superscript m in the original formulation of the theorem (see below).
In practical terms, the theorem says that for a given programming language and positive integers m and n, there exists a particular algorithm that accepts as input the source code of a program with m + n free variables, together with m values. This algorithm generates source code that effectively substitutes the values for the first m free variables, leaving the rest of the variables free.
The smn-theorem states that given a function of two arguments g ( x , y ) {\displaystyle g(x,y)} which is computable, there exists a total and computable function such that ϕ s ( x ) ( y ) = g ( x , y ) {\displaystyle \phi _{s}(x)(y)=g(x,y)} basically "fixing" the first argument of g {\displaystyle g} . It's like partially applying an argument to a function. This is generalized over m , n {\displaystyle m,n} tuples for x , y {\displaystyle x,y} . In other words, it addresses the idea of "parameterization" or "indexing" of computable functions. It's like creating a simplified version of a function that takes an additional parameter (index) to mimic the behavior of a more complex function.
The function s m n {\displaystyle s_{m}^{n}} is designed to mimic the behavior of ϕ ( x , y ) {\displaystyle \phi (x,y)} when given the appropriate parameters. Essentially, by selecting the right values for m {\displaystyle m} and n {\displaystyle n} , you can make s {\displaystyle s} behave like for a specific computation. Instead of dealing with the complexity of ϕ ( x , y ) {\displaystyle \phi (x,y)} , we can work with a simpler s m n {\displaystyle s_{m}^{n}} that captures the essence of the computation.