Click here to return to the main page
DOI: 10.6084/m9.figshare.29066705
This paper, On Unprecise Numbers, was intended as a second offshoot of Gödel Incompleteness and Turing Completeness. My aim was to extend its linguistic viewpoint to numbers. However, the final version is more a complementary than a derivative work.
While writing it, I had to change my mind because I was wrong. Following an intuition by Turing, my initial idea was to show that the unprecise numbers were the complete numbers, where a complete number is any that requires a complete language to be defined. I was surprised when I realized that complete number $R$ is not unprecise, but computable.
The equation of Turing completeness is: $$\exists\,{\cal U},\forall{\cal P},\forall{\frak d}:\; \overleftarrow{{\cal U}\langle\,{\frak p}|\vec{\frak d}\,\rangle} = {\cal P}\langle{\frak d}\rangle \;.$$
In the equation, $\langle\,{\frak p}|\vec{\frak d}\,\rangle$ is the computation that applies coded data $\vec{\frak d}$ to program $\frak p$, where $\frak p$ is the Turing machine $\cal P$ coded in the complete language $\cal L$ implemented by the universal Turing machine $\cal U$.
The syntax of the complete language $\cal L$ is the set of its sentences, or well-formed formulas, denoted $\Sigma_{\cal L}$. For the equation of Turing completeness to work, the string $\langle\,{\frak p}|\vec{\frak d}\,\rangle$ has to be a well-formed formula of language $\cal L$, and then the requirement is to decide, for every string of symbols of the universal Turing machine $\cal U$, whether it is a well-formed formula or not, that is, $\forall s \in \Gamma^*_{\cal U}$, to decide whether $s\in\Sigma_{\cal L}$ or $s\notin\Sigma_{\cal L}$. In other words, syntax $\Sigma_{\cal L}$ is decidable.
Since the well-formed formulas, or sentences, of the complete language $\cal L$ are computations, then the semantics of $\cal L$ expresses computations; the meaning of sentence $\langle\,{\frak p}|\vec{\frak d}\,\rangle$ is ${\cal P}\langle{\frak d}\rangle$. But, since we are finite, we can only reach the meaning of the halting computations, then for us semantics, denoted $\Psi_{\!\cal L}$, is the set of the halting computations; so $\Psi_{\cal L} \subset \Sigma_{\cal L}$. The halting theorem says that
Summarizing,
There are bijections between the strings and the natural numbers, between the natural and the integer numbers, and between the natural and the rational numbers, $\Sigma_{\cal L} \leftrightarrow {\mathbb N} \leftrightarrow {\mathbb Z} \leftrightarrow {\mathbb Q}$. Then any rational number can be coded into a string of the complete language.
In the case of the real numbers, the bijection is between the real numbers and the sets of natural numbers, ${\mathbb R} \leftrightarrow 2^{\mathbb N}$. Then, each real number has to be coded into a set of strings of the complete language. And computing classifies the sets of strings as follows.
Therefore, we can classify the real numbers accordingly.
The rational numbers are syntactic, since each one can be coded into a single string; for example, the rational number three quarters gets coded into the string "3/4", and minus one seventh into "-1/7". On the other hand, each irrational number, with its non-repeating infinite expansion, has to be coded by an infinite set of strings. And, in order to define an infinite set, a program that enumerates it is required. Being defined on the behavior of programs, the irrational numbers are semantic.
Let me conclude answering our first question: Why do not we use, in practice, any uncomputable number? Should we were able to calculate beyond what is computable, then we would use, whenever we should see fit, super-computable numbers, which would be those numbers that are beyond what is computable, that is, the uncomputable numbers. Therefore, either
Regarding computability, there are three kinds of real numbers: the computable, the random, and the unprecise numbers. Some unprecise numbers are those based on Radó's busy beaver functions, Chaitin's constant Ω, Turing's uncomputable number δ, and those coding the halting problem oracle of a Turing complete language. All these unprecise numbers are complete, because they can only be defined in a Turing complete language, but we show, against one of Turing's intuitions, that not every complete number is unprecise.
Link to the page of my paper on “On Unprecise Numbers” in figshare, and direct link to the pdf file.
Versions:
Última actualización: 2025-09-09.
© Ramón Casares 2025