Preprint
Article

This version is not peer-reviewed.

A Short Computer Program That Computes in the Limit a Non-Computable Function from N to N

Submitted:

13 August 2025

Posted:

15 August 2025

Read the latest preprint version here

Abstract
For n∈N, f(n) denotes the smallest b∈N such that if a system of equations S⊆{1=x_k, x_i+x_j=x_k, x_i·x_j=x_k: i,j,k∈{0,...,n}} has a solution in N^{n+1}, then S has a solution in {0,...,b}^{n+1}. The author proved earlier that the function f:N→N is computable in the limit and eventually dominates every computable function g:N→N. We present a short program in MuPAD which for n∈N prints the sequence {f_i(n)}_{i=0}^∞ of non-negative integers converging to f(n). The previously known computer programs by other authors do not compute in the limit non-computable functions from N to N. We present a short program in MuPAD that computes in the limit a function β:N→N of unknown computability which eventually dominates every function δ:N→N with a single-fold Diophantine representation.
Keywords: 
;  ;  ;  ;  
For n N , let
E n = { 1 = x k , x i + x j = x k , x i · x j = x k : i , j , k { 0 , , n } }

1. A program that computes in the limit a function f : N N which eventually dominates every computable function g : N N

Theorem 1. 
([5, p. 118]). There exists a limit-computable function f : N N which eventually dominates every computable function g : N N .
We present an alternative proof of Theorem 1. For n N , f ( n ) denotes the smallest b N such that if a system of equations S E n has a solution in N n + 1 , then S has a solution in { 0 , , b } n + 1 . The function f : N N is computable in the limit and eventually dominates every computable function g : N N , see [7]. The term "dominated" in the title of [7] means "eventually dominated". Flowchart 1 shows a semi-algorithm which computes f ( n ) in the limit, see [7].
Preprints 172414 i001
A semi-algorithm which computes f ( n ) in the limit
Flowchart 2 shows a simpler semi-algorithm which computes f ( n ) in the limit.
Preprints 172414 i002
A simpler semi-algorithm which computes f ( n ) in the limit
Lemma 1. 
For every n , m N , the number printed by Flowchart 2 does not exceed the number printed by Flowchart 1.
Proof. 
For every ( a 0 , , a n ) { 0 , , m } n + 1 ,
E n { 1 = x k : ( k { 0 , , n } ) ( 1 = a k ) }
{ x i + x j = x k : ( i , j , k { 0 , , n } ) ( a i + a j = a k ) }
{ x i · x j = x k : ( i , j , k { 0 , , n } ) ( a i · a j = a k ) }
   □
Lemma 2. 
For every n , m N , the number printed by Flowchart 1 does not exceed the number printed by Flowchart 2.
Proof. 
Let n , m N . For every system of equations S E n , if ( a 0 , , a n ) { 0 , , m } n + 1 and ( a 0 , , a n ) solves S , then ( a 0 , , a n ) solves the system of equations
S ˜ : = { 1 = x k : ( k { 0 , , n } ) ( 1 = a k ) }
{ x i + x j = x k : ( i , j , k { 0 , , n } ) ( a i + a j = a k ) }
{ x i · x j = x k : ( i , j , k { 0 , , n } ) ( a i · a j = a k ) }
   □
Theorem 2. 
For every n , m N , Flowcharts 1 and 2 print the same number.
Proof. 
It follows from Lemmas 1 and 2.    □
MuPAD is a part of the Symbolic Math Toolbox in MATLAB R2019b. The following program in MuPAD implements the semi-algorithm shown in Flowchart 2.
input("Input a non-negative integer n",n):
m:=0:
while TRUE do
X:=combinat::cartesianProduct([s $s=0..m] $t=0..n):
Y:=[max(op(X[u])) $u=1..(m+1)^(n+1)]:
for p from 1 to (m+1)^(n+1) do
for q from 1 to (m+1)^(n+1) do
v:=1:
for k from 1 to n+1 do
if 1=X[p][k] and 1<>X[q][k] then v:=0 end_if:
for i from 1 to n+1 do
for j from i to n+1 do
if X[p][i]+X[p][j]=X[p][k] and X[q][i]+X[q][j]<>X[q][k] then v:=0 end_if:
if X[p][i]*X[p][j]=X[p][k] and X[q][i]*X[q][j]<>X[q][k] then v:=0 end_if:
end_for:
end_for:
end_for:
if max(op(X[q]))<max(op(X[p])) and v=1 then Y[p]:=0 end_if:
end_for:
end_for:
print(max(op(Y))):
m:=m+1:
end_while:
The author is not aware about computer programs by other authors which compute in the limit non-computable functions from N to N .
For n N , h ( n ) denotes the smallest b N such that if a system of equations S { x i + 1 = x k , x i · x j = x k : i , j , k { 0 , , n } } has a solution in N n + 1 , then S has a solution in { 0 , , b } n + 1 . From [7] and Lemma 3 in [6], it follows that the function h : N N is computable in the limit and eventually dominates every computable function g : N N . A bit shorter program in MuPAD computes h in the limit.

2. A program that computes in the limit a function β : N N of unknown computability which eventually dominates every function δ : N N with a single-fold Diophantine representation

    The Davis-Putnam-Robinson-Matiyasevich theorem states that every listable set M N n ( n N { 0 } ) has a Diophantine representation, that is
( a 1 , , a n ) M x 1 , , x m N W ( a 1 , , a n , x 1 , , x m ) = 0 ( R )
for some polynomial W with integer coefficients, see [2]. The representation (R) is said to be single-fold, if for any a 1 , , a n N the equation W ( a 1 , , a n , x 1 , , x m ) = 0 has at most one solution ( x 1 , , x m ) N m .
Hypothesis 1. 
([1, pp. 341–342], [3, p. 42], [4, p. 745]). Every listable set X N k ( k N { 0 } ) has a single-fold Diophantine representation.
For n N , β ( n ) denotes the smallest b N such that if a system of equations S E n has a unique solution in N n + 1 , then this solution belongs to { 0 , , b } n + 1 . The computability of β is unknown.
Theorem 3. 
The function β : N N is computable in the limit and eventually dominates every function δ : N N with a single-fold Diophantine representation.
Proof. 
This is proved in [7]. Flowchart 3 shows a semi-algorithm which computes β ( n ) in the limit, see [7].
Preprints 172414 i003
A semi-algorithm which computes β ( n ) in the limit    □
Flowchart 4 shows a simpler semi-algorithm which computes β ( n ) in the limit.
Preprints 172414 i004
A simpler semi-algorithm which computes β ( n ) in the limit
Lemma 3. 
For every n , m N , the number printed by Flowchart 4 does not exceed the number printed by Flowchart 3.
Proof. 
For every ( a 0 , , a n ) { 0 , , m } n + 1 ,
E n { 1 = x k : ( k { 0 , , n } ) ( 1 = a k ) }
{ x i + x j = x k : ( i , j , k { 0 , , n } ) ( a i + a j = a k ) }
{ x i · x j = x k : ( i , j , k { 0 , , n } ) ( a i · a j = a k ) }
   □
Lemma 4. 
For every n , m N , the number printed by Flowchart 3 does not exceed the number printed by Flowchart 4.
Proof. 
Let n , m N . For every system of equations S E n , if ( a 0 , , a n ) { 0 , , m } n + 1 is a unique solution of S in { 0 , , m } n + 1 , then ( a 0 , , a n ) solves the system of equations
S ^ : = { 1 = x k : ( k { 0 , , n } ) ( 1 = a k ) }
{ x i + x j = x k : ( i , j , k { 0 , , n } ) ( a i + a j = a k ) }
{ x i · x j = x k : ( i , j , k { 0 , , n } ) ( a i · a j = a k ) }
By this and the inclusion S ^ S , S ^ has exactly one solution in { 0 , , m } n + 1 , namely ( a 0 , , a n ) .    □
Theorem 4. 
For every n , m N , Flowcharts 3 and 4 print the same number.
Proof. 
It follows from Lemmas 3 and 4.    □
The following program in MuPAD implements the semi-algorithm shown in Flowchart 4.
input("Input a non-negative integer n",n):
m:=0:
while TRUE do
X:=combinat::cartesianProduct([s $s=0..m] $t=0..n):
Y:=[max(op(X[u])) $u=1..(m+1)^(n+1)]:
for p from 1 to (m+1)^(n+1) do
for q from 1 to (m+1)^(n+1) do
v:=1:
for k from 1 to n+1 do
if 1=X[p][k] and 1<>X[q][k] then v:=0 end_if:
for i from 1 to n+1 do
for j from i to n+1 do
if X[p][i]+X[p][j]=X[p][k] and X[q][i]+X[q][j]<>X[q][k] then v:=0 end_if:
if X[p][i]*X[p][j]=X[p][k] and X[q][i]*X[q][j]<>X[q][k] then v:=0 end_if:
end_for:
end_for:
end_for:
if q<>p and v=1 then Y[p]:=0 end_if:
end_for:
end_for:
print(max(op(Y))):
m:=m+1:
end_while:

References

  1. M. Davis, Yu. Matiyasevich, J. Robinson, Hilbert’s tenth problem, Diophantine equations: positive aspects of a negative solution; in: Mathematical developments arising from Hilbert problems (ed. F. E. Browder), Proc. Sympos. Pure Math., vol. 28, Part 2, Amer. Math. Soc., Providence, RI, 1976, 323–378, https://doi.org/10.1090/pspum/028.2; reprinted in: The collected works of Julia Robinson (ed. S. Feferman), Amer. Math. Soc., Providence, RI, 1996, 269–324. [CrossRef]
  2. Yu. Matiyasevich, Hilbert’s tenth problem, MIT Press, Cambridge, MA, 1993.
  3. Yu. Matiyasevich, Hilbert’s tenth problem: what was done and what is to be done, in: Proceedings of the Workshop on Hilbert’s tenth problem: relations with arithmetic and algebraic geometry (Ghent, 1999), Contemp. Math. 270, Amer. Math. Soc., Providence, RI, 2000, 1–47. [CrossRef]
  4. Yu. Matiyasevich, Towards finite-fold Diophantine representations, J. Math. Sci. (N. Y.) vol. 171, no. 6, 2010, 745–752. [CrossRef]
  5. J. S. Royer and J. Case, Subrecursive Programming Systems: Complexity and Succinctness, Birkhäuser, Boston, 1994.
  6. Tyszka, A. A hypothetical upper bound on the heights of the solutions of a Diophantine equation with a finite number of solutions. Open Comput. Sci. 2018, 8, 109–114. [Google Scholar] [CrossRef]
  7. A. Tyszka, All functions g:NN which have a single-fold Diophantine representation are dominated by a limit-computable function f:N∖{0}→N which is implemented inMuPADand whose computability is an open problem, in: Computation, cryptography, and network security (eds. N. J. Daras, M. Th. Rassias), Springer, Cham, 2015, 577–590. [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.
Copyright: This open access article is published under a Creative Commons CC BY 4.0 license, which permit the free download, distribution, and reuse, provided that the author and preprint are cited in any reuse.
Prerpints.org logo

Preprints.org is a free preprint server supported by MDPI in Basel, Switzerland.

Subscribe

Disclaimer

Terms of Use

Privacy Policy

Privacy Settings

© 2025 MDPI (Basel, Switzerland) unless otherwise stated