Numbering (computability theory)
In computability theory, the assignment of natural numbers to a set of objects
title: "Numbering (computability theory)" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["theory-of-computation", "computability-theory"] description: "In computability theory, the assignment of natural numbers to a set of objects" topic_path: "technology/computing" source: "https://en.wikipedia.org/wiki/Numbering_(computability_theory)" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0
::summary In computability theory, the assignment of natural numbers to a set of objects ::
In computability theory a numbering is an assignment of natural numbers to a set of objects such as functions, rational numbers, graphs, or words in some formal language. A numbering can be used to transfer the idea of computability and related concepts, which are originally defined on the natural numbers using computable functions, to these different types of objects.
Common examples of numberings include Gödel numberings in first-order logic, the description numbers that arise from universal Turing machines and admissible numberings of the set of partial computable functions.
Definition and examples
A numbering of a set S is a surjective partial function from \mathbb{N} to S (Ershov 1999:477). The value of a numbering \nu at a number i (if defined) is often written \nu_i instead of the usual \nu(i).
Examples of numberings include:
- The set of all finite subsets of \mathbb{N} has a numbering \gamma , defined so that \gamma(0) = \emptyset and so that, for each finite nonempty set A = {a_0, \ldots, a_k}, \gamma(n_A) = A where n_A = \sum_{i \leq k} 2^{a_i} (Ershov 1999:477). This numbering is an injection.
- A fixed Gödel numbering \varphi_i of the computable partial functions can be used to define a numbering W of the computably enumerable sets, by letting by W(i) be the domain of \varphi_i. This numbering will be surjective (like all numberings) but not injective: there will be distinct numbers that map to the same computably enumerable set under W.
Types of numberings
A numbering is total if it is a total function. If the domain of a partial numbering is computably enumerable then there always exists an equivalent total numbering (equivalence of numberings is defined below).
A numbering η is decidable if the set { (x,y) : \eta(x) = \eta(y)} is a decidable set.
A numbering η is single-valued if η(x) = η(y) if and only if x=y; in other words if η is an injective function. A single-valued numbering of the set of partial computable functions is called a Friedberg numbering.
Comparison of numberings
There is a preorder on the set of all numberings. Let \nu_1: \mathbb{N} \rightharpoonup S and \nu_2: \mathbb{N} \rightharpoonup S be two numberings. Then \nu_1 is reducible to \nu_2, written \nu_1 \le \nu_2, if :\exists f \in \mathbf{P}^{(1)} , \forall i \in \mathrm{Domain}(\nu_1) : \nu_1(i) = \nu_2 \circ f(i).
If \nu_1 \le \nu_2 and \nu_1 \ge \nu_2 then \nu_1 is equivalent to \nu_2; this is written \nu_1 \equiv \nu_2.
Computable numberings
When the objects of the set S being numbered are sufficiently "constructive", it is common to look at numberings that can be effectively decoded (Ershov 1999:486). For example, if S consists of computably enumerable sets, the numbering η is computable if the set of pairs (x,y) where y ∈ η(x) is computably enumerable. Similarly, a numbering g of partial functions is computable if the relation R(x,y,z) = "g(x) = z" is computably enumerable (Ershov 1999:487).
A computable numbering is called principal if every computable numbering of the same set is reducible to it. Both the set of all computably enumerable subsets of \mathbb{N} and the set of all partial computable functions have principle numberings (Ershov 1999:487). A principle numbering of the set of partial computably functions is known as an admissible numbering in the literature.
References
- Y.L. Ershov (1999), "Theory of numberings", Handbook of Computability Theory, Elsevier, pp. 473–506.
- V.A. Uspenskiĭ, A.L. Semenov (1993), Algorithms: Main Ideas and Applications, Springer.
References
::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::