This article is a shortened version of the article [
6]. Semi-algorithms differ from algorithms, as they may not terminate.
Definition 1. (cf. ([4], pp. 233–235)). A computation in the limit of a function is a semi-algorithm which takes as input a non-negative integer n and for every prints a non-negative integer such that .
By Definition 1, a function is computable in the limit when there exists an infinite computation which takes as input a non-negative integer n and prints a non-negative integer on each iteration and prints on each sufficiently high iteration.
Theorem 1. ([3], p. 118). There exists a limit-computable function which eventually dominates every computable function .
We present an alternative proof of Theorem 1. For
,
denotes the smallest
such that if a system of equations
has a solution in
, then
S has a solution in
. The function
is computable in the limit and eventually dominates every computable function
, see [
5]. The term
"dominated" in the title of [
5] means
"eventually dominated".
Theorem 2. ([5]). Flowchart 1 shows a semi-algorithm which computes in the limit.
Flowchart 1
A semi-algorithm which computes in the limit
Definition 2.
An approximation of a tuple is a tuple such that
Observation 1.
For every , there exists a set such that
and every tuple possesses an approximation in .
Flowchart 2 shows a simpler semi-algorithm which computes in the limit.
Flowchart 2
A simpler semi-algorithm which computes in the limit
Lemma 1.
For every , the number printed by Flowchart 2 does not exceed the number printed by Flowchart 1.
Proof. For every
,
□
Lemma 2.
For every , the number printed by Flowchart 1 does not exceed the number printed by Flowchart 2.
Proof. Let
. For every system of equations
, if
and
solves
S, then
solves the following system of equations:
□
Theorem 3.
For every , Flowcharts 1 and 2 print the same number.
Proof. It follows from Lemmas 1 and 2. □
Corollary 1.
For every , Flowcharts 1 and 2 print the smallest such that every tuple possesses an approximation in .
Theorem 4.
For every , is the smallest such that every tuple possesses an approximation in .
Proof. It follows from Theorem 2 and Corollary 1. □
Theorem 5.
No algorithm takes as input non-negative integers n and m and decides whether or not
Proof. Since the function f is not computable, it follows from Theorem 4. □
Theorem 6.
No algorithm takes as input a non-negative integer n and decides whether or not
Proof. It follows from Theorem 5 and Lemma 3. □
Theorem 7.
The set is recursively enumerable.
Proof. For , let denote the i-th prime number. Flowchart 3 shows a semi-algorithm which takes as input and terminates if and only if .
Flowchart 3
A semi-algorithm which takes as input and terminates if and only if □
Theorem 8.
The set T is not recursively enumerable.
Proof. It follows from Theorems 6 and 7. □
Let
denote Gödel’s
function, see [
1]. For
,
equals the remainder after integer division of
by
.
Lemma 4. ([1]). If , then .
Theorem 9.
The formula that defines the set T can be easily translated into a first-order formula which uses only + and ·.
Proof. By Lemma 4, the set
T consists of all
such that
The above formula can be easily translated into a first-order formula which uses only + and ·. □
A more sophisticated proof shows that the set
is not recursively enumerable, see [
6]. By using Gödel’s
function, the formula that defines the set
W can be easily translated into a first-order formula which uses only + and ·.