How statement and proof provenance work
The first chip identifies the source of the statement or construction; the second identifies the source of its local proof or verification.
- Literature-sourced: the exact statement appears in a cited source; only wording and notation differ.
- AI-adapted: a semantically identical restatement of literature-sourced material, modulo indexing, notation, and boundary cases adopted by the library.
- AI-generated: a genuinely novel statement formulated by AI, with no source for the claim itself.
These labels describe origin, not correctness: citations and verification chips remain separate evidence.
Acceptable Numberings, the s-m-n Theorem, and Recursion
1 · Prerequisites
- Construction of the Natural Numbers
- Countability and Uncountability
- Finite Counting, Factorials and Binomial Coefficients
- Formal Languages, Encodings, and Decision Problems
- Linear Recurrences and Rational Generating Functions
- Primitive Recursive and Partial Computable Functions
- Relations, Functions, and Quotients
- Robust Machine Models and Universal Computation
- The ZFC Axioms and the Basic Set Constructions
- Turing Machines, Configurations, and Computation
2 · Summary
This page fixes the standard numbering viewpoint on partial computable
functions, isolates the single hard-wiring operation that makes a numbering
acceptable, and then derives the full s_m^n family from it. The recursion
theorem is presented as an explicit index construction rather than as a black
box: the diagonal map from s-m-n is written first, and the fixed-point
theorem is read off from it.
The final cluster keeps three ideas separate that are often conflated. A program transformer is a total computable map on indices, a fixed point is an index whose computed partial function agrees with its transformed image, and a creative set is a c.e. set whose complement admits an effective diagonal escape.
3 · Logical flowchart
4 · Definitions, theorems and proofs
Numberings of partial computable functions
Definition
A numbering of the partial computable functions is a sequence of partial computable functions such that every partial computable unary function occurs as for at least one .
The number is then called an index or program number for the partial function .
Remarks
-
A numbering need not be injective: different indices may compute the same partial function.
-
Later items treat a function of several arguments by applying a unary indexed function to a chosen code of the input tuple.
Universal and acceptable numberings
Definition
Let be a numbering of the partial computable functions.
The numbering is universal when the binary partial function is itself partial computable.
The numbering is acceptable when it is universal and there exists a total computable function such that for all one has where is the chosen code of the two-term sequence .
Remarks
-
Universality says one indexed program can simulate the whole numbering.
-
Acceptability adds one effective hard-wiring operation: the first input can be compiled into the index while the residual program still receives one natural input.
The fixed machine coding gives an acceptable numbering
Statement
Let be the partial function computed by the coded deterministic one-tape Turing machine with code on input , when decodes to a machine and that machine halts on ; if is malformed or the computation does not halt, leave undefined. Then is an acceptable numbering.
Facts & Assumptions
Given: The fixed machine coding from A fixed effective binary encoding of deterministic one-tape Turing machines.
A numbering is acceptable exactly when it is universal and has a total computable hard-wiring map satisfying by Universal and acceptable numberings.
The chosen machine coding has a total decoder that recovers the unique coded machine or reports malformed input, by The chosen machine coding is injective and has a total decoder.
The fixed machine encoding makes it effective to build a new coded machine from a finite machine description, by A fixed effective binary encoding of deterministic one-tape Turing machines.
Proof
This family is a numbering of the partial computable unary functions. If is partial computable, some deterministic one-tape Turing machine computes it. Relabel that machine's finite state set and tape alphabet by integers so that the start, accept, and reject states become and the symbols become the normalized alphabets of [L3]. The resulting coded machine has some code , and by construction .
The numbering is universal. On input , first run the total decoder from [L2]. If is malformed, diverge forever. If decodes to a machine , simulate on input and output exactly what outputs if it halts. This produces a partial computable binary function with .
For hard-wiring, given and , first run the total decoder [L2]. If is malformed, construct a fixed machine that diverges on every input. Otherwise construct a coded machine that on input first computes the pair code , then simulates the machine coded by on that code, and copies out the simulated output if the simulation halts. By [L2] and [L3], this case-defined map is total and computable.
By construction, for every one has So the function is the required hard-wiring operation from [L1].
Steps 1.1, 1.2, and 2.1 show that is a numbering, is universal, and has the required hard-wiring map. Therefore the fixed machine coding gives an acceptable numbering.
Parameter-specialization functions
Definition
Fix an acceptable numbering .
For , define the recursively coded input tuple by
For , a total computable function is a parameter-specialization function when for all indices , all parameters , all inputs , and the sequence coding of A natural-number coding of finite sequences, one has
Remarks
-
The function hard-wires the first inputs and leaves the last inputs free.
-
The case gives a residual unary program on the stipulated coded-input convention: it is evaluated at , not at the bare number .
The s-m-n theorem
Statement
If is an acceptable numbering, then for every there exists a parameter-specialization function .
Facts & Assumptions
Given: An acceptable numbering and natural numbers .
Acceptability supplies a total computable binary hard-wiring map with by Universal and acceptable numberings.
A parameter-specialization function is required to satisfy the displayed tuple-coding identity of Parameter-specialization functions.
Proof
Define the functions recursively from the binary map of [L1]: and Because is total computable and composition preserves total computability, each is total computable.
We prove the defining identity from [L2] by induction on . For , step 1.1 gives , so the statement is immediate. Assume it holds for . Then for every input tuple , by [L1]. By the definition in [L2], that inner code is exactly The induction hypothesis therefore turns the right-hand side into So the required identity also holds for .
Therefore for every the recursively defined is a parameter-specialization function.
Effective program specialization
Statement
Fix an acceptable numbering. For every index of an -ary program and every fixed parameter tuple , one can effectively compute an index for the residual -ary program obtained by hard-wiring those parameters.
Facts & Assumptions
Given: An acceptable numbering, an index , and fixed parameters .
For every , the -m- theorem gives a total computable specialization map , by The s-m-n theorem.
Proof
Apply [L1] to the chosen pair . The number is effectively computable from the data.
By the defining property of , the indexed function agrees on every remaining input tuple with the original program after the first inputs have been fixed to . Thus is the desired residual-program index.
Therefore program specialization is effective.
Computable program transformers
Definition
Fix a numbering of the partial computable functions.
A computable program transformer is a total computable function
It acts on indices rather than directly on extensional partial functions: the transformed program with input index is the index .
Remarks
-
A transformer may change syntax without changing the computed partial function.
-
The recursion theorem concerns fixed points of such transformers at the level of computed behavior.
The diagonal self-reference construction from s-m-n
Statement
For an acceptable numbering, there exists a total computable function such that for every index and every input ,
Facts & Assumptions
Given: An acceptable numbering .
The -m- theorem gives a total computable specialization function , by The s-m-n theorem.
Proof
Let be the specialization map from [L1]. Define Because is total computable, so is .
By the defining property of , for every and one has That is exactly the required diagonal identity.
Therefore the desired total computable self-reference constructor exists.
Kleene's second recursion theorem
Statement
Fix an acceptable numbering . For every computable program transformer , there exists an index such that as partial functions.
Facts & Assumptions
Given: A computable program transformer .
A computable program transformer is a total computable map on indices, by Computable program transformers.
There is a total computable map with by The diagonal self-reference construction from s-m-n.
Proof
Let be the diagonal map from [L2]. Because is total computable by [L1], the binary partial function is partial computable. Since we are working inside a numbering of all partial computable functions, choose an index with for all .
Set . Then for every input , where the first equivalence is [L2] and the last equality is the definition of . Hence .
Therefore every computable program transformer has a fixed point.
The recursion theorem with parameters
Statement
Fix an acceptable numbering . For every total computable function there exists a total computable function such that for every parameter ,
Facts & Assumptions
Given: A total computable function .
The -m- theorem gives a total computable specialization function , by The s-m-n theorem.
Kleene's second recursion theorem gives fixed points for total computable program transformers, by Kleene's second recursion theorem.
Proof
Let be the specialization function from [L1]. Define a ternary partial computable function by Because and are total computable, is partial computable, so choose an index with for all .
Define This function is total computable because is.
For every and , Hence for every parameter .
Therefore the fixed-point construction can be carried out uniformly in the external parameter.
Productive and creative sets
Definition
Fix a numbering and write
A set is productive when there exists a partial computable function such that for every , Such a function is called a productive function for .
A set is creative when:
- for some , so is computably enumerable, and
- its complement is productive.
Remarks
-
Productivity means every c.e. subset of can be effectively diagonalized against from inside .
-
For the fixed acceptable machine coding used later, the standard normalization of productive functions permits the witness to be chosen total and one-one. Whenever a later proof needs that strengthened normal form, it says so explicitly rather than building totality and injectivity into the definition.
-
Creativity packages two facts at once: effective enumerability of and productive richness of its complement.
The nonhalting set is productive and the halting set is creative
Statement
For the fixed machine-coding acceptable numbering of The fixed machine coding gives an acceptable numbering, let Then is productive, and therefore is creative.
Facts & Assumptions
Given: The diagonal halting set for the fixed machine-coding numbering.
A set is productive when it has a partial computable function defined with an escaping value on every index of a c.e. subset, and a set is creative when it is c.e. and its complement is productive, by Productive and creative sets.
The fixed machine-coding family is an acceptable numbering of the partial computable functions, by The fixed machine coding gives an acceptable numbering.
The chosen machine coding is injective and has a total decoder, by The chosen machine coding is injective and has a total decoder.
Proof
The set is computably enumerable: dovetail over all indices , decode each one using [L3], and simulate the decoded machine on input . Enumerate exactly when that simulation halts. By [L2], this lists precisely the numbers in .
For each , build a coded machine that on input simulates the enumeration of and halts exactly when the number appears in that enumeration. Let . The effective machine coding makes total computable; productivity in [L1] does not require this particular witness to be injective.
Assume . If , then by the definition of the computation halts, so , which contradicts . Therefore . But then the simulation inside never sees enter , so diverges and hence . Thus .
Step 2.1 shows that is a productive function for . By [L1], the complement of is productive. Together with step 1.1, [L1] gives that is creative.
Myhill's isomorphism theorem for creative sets
Statement
Work with the fixed machine-coding acceptable numbering of The fixed machine coding gives an acceptable numbering. If are creative, then there exists a computable permutation of such that In particular, every creative set is computably isomorphic to the diagonal halting set .
Facts & Assumptions
Given: Creative sets .
A creative set is c.e. and has productive complement. For the fixed acceptable machine coding, the productive-function normalization recorded in Productive and creative sets permits a total computable one-one productive witness.
The diagonal halting set is creative, by The nonhalting set is productive and the halting set is creative.
The recursion theorem with parameters gives a uniform fixed-point map for total computable binary transformers, by The recursion theorem with parameters.
Proof
Every c.e. set one-one reduces to . If , let be the code of a machine that ignores its actual input, enumerates , and halts exactly when appears. Add to its finite description an unreachable chain of states whose length encodes . This does not change its behaviour, and the fixed injective machine coding makes total computable and one-one. Thus
Let be creative, put , and choose a normalized total one-one productive function from [L1]. The fixed coding supplies a total computable padding map : it builds a machine simulating program and adds an unreachable state chain encoding the pair . Hence , and is one-one in the pair. Apply [L3] to the transformer that, from , returns an index whose domain is if program halts on , and is empty otherwise. We obtain a total computable satisfying this fixed-point equation. Put Then , and therefore , is one-one, and padding gives If and , productivity applied to would force , a contradiction. If , then , so productivity gives . Therefore and is a one-one computable reduction .
Applying step 1.1 to and then step 1.2 to gives a one-one reduction by composition. Reversing the roles of and gives .
Let witness and let witness . Build finite membership-preserving partial bijections by stages. At a domain stage, choose the least and start with . While , set and . This search must leave the finite range: otherwise a repeated and injectivity of would eventually put the original unused in . Pair with the first unused . Each passage through and preserves and reflects membership, so the new pair does too.
At the alternating range stage, choose the least and start with . While , set and . The symmetric injectivity argument finds an unused after finitely many steps. Pair that with ; again all traversed maps preserve and reflect membership. Thus every stage effectively extends the finite membership-preserving partial bijection.
Let . The alternating least-unused choices put every natural number eventually into both its domain and range, so is a bijection. It is computable because, on input , one simulates stages until is paired. Every stage preserves , hence this equivalence holds for all .
So is a computable permutation sending onto . Taking and using [L2] gives the final clause.
Acceptable numberings are computably intertranslatable
Statement
If and are acceptable numberings of the partial computable functions, then there exist total computable functions such that for every index ,
Facts & Assumptions
Given: Two acceptable numberings and .
The fixed machine coding defines an acceptable numbering, by The fixed machine coding gives an acceptable numbering.
An acceptable numbering is universal and has a total computable hard-wiring operation, by Universal and acceptable numberings.
Proof
By [L1], let denote the standard acceptable numbering coming from the fixed machine coding. Because is universal by [L2], the partial function has some -index . Because is acceptable, [L2] supplies a total computable hard-wiring map , and then satisfies So translates computably into . The same argument gives a computable translator from into .
Because is universal and is acceptable, the same argument with the roles reversed gives a total computable translator with Likewise there is with
Compose the translators through the hub numbering : Then and similarly .
Therefore any two acceptable numberings are computably intertranslatable.
5 · Examples, counterexamples and false statements
FALSE: the recursion theorem requires source-code access
Statement
Kleene's recursion theorem can produce self-referential programs only when the program can inspect its own literal source file.
Facts & Assumptions
Given: The fixed-point theorem of Kleene's second recursion theorem.
Every total computable program transformer has an index fixed point, by Kleene's second recursion theorem.
Refutation
Consider the total computable transformer that sends an index to a program which ignores its actual input and simply outputs the numeral . This transformer manipulates indices only; it does not read any source file.
By [L1], there exists with But is precisely the constant program that outputs , so does the same. Thus a quine-style fixed point exists without any inspection of a literal source file.
Therefore the statement is false. The recursion theorem needs numbering, specialization, and computable index transformation, not filesystem access.
FALSE: a partial computable function has a unique program index
Statement
Every partial computable function has exactly one program index.
Facts & Assumptions
Given: An acceptable numbering .
Every total computable program transformer has a fixed point, by Kleene's second recursion theorem.
Refutation
Consider the total computable transformer It changes only the numerical index and is therefore a computable program transformer.
By [L1], there exists an index with Since , the same partial computable function has at least two distinct indices.
Therefore the statement is false: a partial computable function can have many distinct indices.