Escolar Documentos
Profissional Documentos
Cultura Documentos
(where
i
are new characters added to the alphabet, e.g.,
i
= i).
If the language is ambiguous, then there is a derivation of some string w in two
dierent ways. Without loss of generality, let us suppose that the derivations both
start with the rule S S
1
, reading the new characters backwards until they end
makes sure there can only be one derivation, so thats not possible. Hence, we see
that the only ambiguity can come from one S
1
and one S
2
start. But then, taking
the substring of w up to the beginning of the new characters, we have a solution to
the PCP (since the strings of indices used after those points match).
Similarly, if there is no ambiguity, then the PCP cannot be solved, since a solution
would imply an ambiguity that just follows
S S
1
and S S
2
is decidable. Take
L = (L(G
1
) L(G
2
))
.
4. To Prove: For any given CFG, it is undecidable to check whether its language equal
to a regular set?
Proof : We know that
but we have
proved previously that this problem is undecidable.
5. To Prove: For any two given CFLs L
1
and L
2
, check if L
1
= L
2
Proof : Let L
1
= L(G
1
) and L
2
= L(G
2
). Fix G
2
be the grammar generating
; infectFiles()
)
This works as long as the program specied by p does not exhibit the le-infecting
behavior. If it does, p could infect a le and never terminate, and halts would produce
the wrong output. To solve this we need to hide the printing behavior of the original
program. A rough denition of le-infecting behavior would be to consider any write to
an executable le to be an infection. To avoid any le infections in the specic program,
we replace all procedures that write to les with procedures that write to shadow copies
of these les. For example, we could do this by creating a new temporary directory and
prepend that path to all le names. We call this (assumed) procedure, sandBox, since it
transforms the original program specication into one that would execute in a protected
sandBox.
def halts(p) : isV irus(sandBox(p)+
; infectFiles()
)
Since we know there is no algorithm that solves the Halting Problem, this proves that
there is no algorithm that solves the Is-Virus problem.
Virus scanners such as Symantecs Norton AntiVirus attempt to solve the Is-Virus
Problem, but its non-computability means they are doomed to always fail. Virus scanners
detect known viruses by scanning les for strings that match signatures in a database of
known viruses. As long as the signature database is frequently updated they may be able
to detect currently spreading viruses, but this approach cannot detect a new virus that
will not match the signature of a previously known virus.
Sophisticated virus scanners employ more advanced techniques to attempt to detect
complex viruses such as metamorphic viruses that alter their own code as they propagate
to avoid detection. But, because the general Is-Virus Problem is noncomputable, we know
that it is impossible to create a program that always terminates and that always correctly
determines if an input procedure specication is a virus.
19
Chapter 5
Hilberts Tenth Problem
The statement of Hilberts tenth problem is as follows :
Given a Diophantine equation with any number of unknown quantities and with
rational integral numerical coecients: To devise a process according to which it can be
determined in a nite number of operations whether the equation is solvable in rational
integers.
The undecidability of the existence of integral roots turned out to be the consequence
of a deep equivalence.
Denition Diophantine Predicates and Relations
A predicate P on N
k
is called diophantine i there is an n N and a polynomial p with
integer coecients in k +n variables, such that P(x) y N
n
: p(x, y) = 0.
A set or relation S N
k
is called diophantine i x S is a diophantine predicate.
A function f : N
k
N is called diophantine i its graph (f(x), x) N
k+1
is a diophantine
set.
The denition allows for polynomials of arbitrary (though nite) degree. Diophantine
problems have fewer equations than unknown variables and involve nding integers that
work correctly for all equations.
20
The following trick by Skolem, shows that we can trade the degree with the number
of variables to the extent that nally we may restrict ourselves to polynomials of degree
at most four.
Lemma If S N
k
is a diophantine set, then there is an m N and a polynomial q in
m + k variables with integer coecients and of degree at most four such that S = x
N
k
[ z N
m
: q(x, z) = 0.
Proof : By assumption there is a polynomial p with integer coecients such that S =
x N
k
[ xy N
n
: p(x, y) = 0. The construction of the new polynomial is then
done recursively: for all monomials in p which have degree larger than two, introduce new
variables u
1
, u
2
, . . . dened as a product of the rst two variables of the corresponding
monomial. Inserting the new variables then leads to a new polynomial p
1
(x, y, u) whose
maximal degree is one less than that of p and p(x, y) = p
1
(x, y, u) if we impose the dening
constraints for the uis. Iterating this procedure, we can obtain a sequence of polynomial in
more and more variables which eventually is at most quadratic in all variables. Suppose
p
n
is this quadratic polynomial. The imposed constraints on the new variables which
guarantee that p(x, y) = p
n
(x, y, u, . . .) can now be formulated in terms of the existence
of integral roots of quadratic polynomials with integer coecients.
Denote those polynomials by c
1
, c
2
, . . .. That is, if we have for instance u
1
:= x
2
y
7
, u2 :=
u
1
x
2
, then we dene c
1
(u
1
, x
2
, y
7
) := u
1
x
2
y
7
and c
2
(u
2
, u
1
, x
2
) := u
2
u
1
x
2
. In this way,
we achieve that p(x, y) = 0 i u : p
2
n
+
i
c
2
i
= 0, where we denote by u the collection of
all variables added to x and y. Hence, the polynomial q := p
2
n
+
i
c
2
i
leads to the sought
biquadratic characterization of the diophantine set S.
Proposition Every diophantine set is recursively enumerable.
Proof : Let p(x, y) be a characterizing polynomial for the diophantine set. The statement
follows from observing that p(x, y) = 0 is a primitive recursive predicate which we call
P(x, y) and from recalling that a recursively enumerable set S is exactly one for which
there is a primitive recursive predicate for which S = x[ y : P(x, y).
21
A basic property of recursively enumerable sets is that the class is closed w.r.t. unions
and intersections. This is easily seen to hold also for diophantine sets:
Proposition: The class of diophantine predicates is closed w.r.t. (i) conjunction, (ii)
disjunction and (iii) the use of existential quantiers.
Proof : Let upper case P
(Z
4n
).
Then for any diophantine set S = x N
k
[ y N
m
: p(x, y) = 0, the hypothetical
algorithm could be used in order to decide x S for any x. In other words, every
diophantine set would be a recursive set. However, we known that there are non-recursive
sets within the recursively enumerable sets. An since the latter are exactly the diophantine
sets, the assumption of such an algorithm leads to a contradiction. The fact that we can
restrict ourselves to degree at most four follows from Skolems lemma.
While for polynomials with maximal degree two, there exists such an algorithm, the
case of maximal degree three is still open. Similarly, for rational (rather than integral)
roots, decidability is an open problem. For real roots, on the other hand, a result of
Tarski implies that the problem then becomes decidable.
As we will prove in the exercise, one can extend the above undecidability result in the
following direction: let ( be any set of cardinal numbers N
0
which is neither empty
nor does it contain all such cardinal numbers. Then the question of whether or not the
number of non-negative integral roots of a polynomial is in ( turns out to be undecidable as
well. The proof is a reduction from( = 0 - the undecidability of Hilberts tenth problem.
23
Proposition There is a polynomial q(y
1
, y
2
, . . . , y
n
, x) with integer coecients such that
the positive integers in its range are exactly all prime numbers in the sense that
q(N
n+1
) N
_
0 = the set of all primes.
Proof : Primes form a recursively enumerable and thus diophantine set S. This implies
that there is a polynomial p with integer coecients such that S = x N [ yN
n
:
p(x, y) = 0. Dening q(y, x) := x(1 p(x, y)
2
) then gives the sought polynomial since
this is positive i p has a root in which case indeed q(y, x) takes on the value of the
corresponding prime.
Following the remark regarding universal polynomials, we obtain that for prime number
producing polynomials ten variables suce. A similar construction leads to the following:
Proposition Let f : N N be any partial recursive function. There exists a polynomial
q with integer coecients such that for all x, y N:
y = f(x) x
0
, . . . , x
n
N : y = q(x, x
0
, . . . , x
n
).
Proof : The graph of f is recursively enumerable and thus diophantine. So y = f(x) holds
i for a certain polynomial p we have x
0
, . . . , x
n
: (1 p(x
0
, . . . , x
n
, x)
2
) > 0 x
0
= y.
This in turn is equivalent to x
0
, . . . , x
n
: (x
0
+ 1)(1 p(x
0
, . . . , x
n
, x)
2
) = y +
1. Therefore the sought polynomial can be dened as q(x, x
0
, . . . , x
n
) := (x
0
+ 1)(1
p(x
0
, . . . , x
n
, x)
2
) 1.
Application of Solution
A particularly form of Godels incompleteness theorem is also a consequence of the
Matiyasevich/MRDP Theorem:
Let p(a, x
1
, . . . , x
k
) = 0, provide a Diophantine denition of a non-computable set. Let
A be an algorithm that outputs a sequence of natural numbers such that the corresponding
equation p(n, x
1
, . . . , x
k
) = 0,has no solutions in natural numbers. Then there is a
numbern
0
which is not output by A while in fact the equation p(n, x
1
, . . . , x
k
) = 0, has
no solutions in natural numbers.
24
To see that the theorem is true, it suces to notice that if there were no such number n
0
, one could algorithmically test membership of a number n in this non-computable set by
simultaneously running the algorithm A to see whether n is output while also checking all
possible k-tuples of natural numbers seeking a solution of the equation p(n, x
1
, . . . , x
k
) = 0.
We may associate an algorithm A with any of the usual formal systems such as Peano
Arithmetic or ZFC by letting it systematically generate consequences of the axioms and
then output a number n whenever a sentence of the form
x
1
, x
2
, . . . x
k
[p(n, x
1
, x
2
, . . . . .x
k
) = 0]
is generated. Then the theorem tells us that either a false statement of this form is proved
or a true one remains unproved in the system in question.
25
Chapter 6
Wangs Tile Problem
Suppose we want to cover the plane with decorated square tiles of the same size. Tiles
are to be chosen from a nite number of types. There are unbounded tiles of each type
available. Due to the decorations, however, there are local constraints on which tiles can
be put next to each other, for the tiling to look appealing. Is it possible to cover the whole
plane with tiles of given types? How if we require a certain tile to be used at least once?
Can they be used to tile a nite rectangular area, with a certain boundary condition? It
turns out that these problems the way formulated by Hao Wang are all undecidable.
In 1961, Wang conjectured that if a nite set of tiles can tile the plane, then there
exists also a periodic tiling, i.e., a tiling that is invariant under translations by vectors in
a 2-dimensional lattice, like a wallpaper pattern. He also observed that this conjecture
would imply the existence of an algorithm to decide whether a given nite set of tiles can
tile the plane.
This conjecture was in 1966 refuted by Berger. He showed that any Turing machine
can be translated into a Wang tile set, and that the Wang tile set tiles the plane if and
only if the Turing machine will never halt. The halting problem is undecidable and thus
so is Wangs original problem.
Berger constructed the rst aperiodic tile set counting 20426 tiles. This number was
reduced repeatedly, often by well known scientists, such as DonaldKnuth. The smallest
aperiodic set of Wang tiles consists of 13 tiles over 5 colors.
26
Proving the undecidability of Tiling problem
To prove that tiing problem is undecidable we somehow reduce it to the problem
of Halting Turing Machine. The encoding is most natural and intuitive. Let M =
(, Q, , q
0
, q
F
, B) be a Turing machine with a one-way-innite tape, where is the al-
phabet, Q the set of states, : Qq
F
L, R Q the transition function,
q
0
Q the initial state, q
F
Q the nal state, and B the blank symbol. We construct
a set TM of Wang tiles as shown in Figure A and B and described bellow.
Fig. A. Alphabat tile B. Merging tile C.Action Tile
For any letter a , we have a tile of the form depicted in Figure A. These are to
pass the content of an inactive cell of the tape one row upward (which corresponds
to one step later in the computation process of the machine).
For any state q Q and letter a , where (q, a) = (b, D, p), there is a tile like
one of those in Figure C, depending on whether D = R or D = L. These correspond
the action of the transition function, and passing the new state to a neighbor cell.
27
The state p received from a neighbor cell, is combined with the current content of
the cell, by a tile of the form shown in Figure B and passed to the upper tile to be
processed in next step.
Tiles for xing the initial conguration of a Turing machine.
(a) Head position. (b) Empty cells.
The initial conguration of the machine is xed by the tiles in second gure. Here
* is a new colour and used to ensure that only one head appears on the tape.
Theorem Plane Tiling Problem is undecidable.
Proof : Let M be a Turing Machine - an instance of the Halting Problem. We use the
tile set T
M
, constructed above, and a tile set T
R
, to construct a new set of tiles T that
can tile the plane, if and only if, M on empty input never halts.
Each tile in T is basically a pair (s, t), where s T
R
, and T is either in T
M
or is of an
auxiliary type, to pass information along a vertical or horizontal line. The two components
are interpreted as layers of the tile. Let s
0
T
R
be any tile that represents the lower-left
corner of a connected region. For any such tile, we place a tile (s
0
, t
0
) in T, where t
0
is the marked tile of T
M
as dened above. This is the only pair in which t
0
appears,
and is supposed to trigger the start of simulation in each connected region. Any other tile
T T
M
t
0
is paired with tiles s T
R
that represent a cell fully inside a connected region.
Let us say a row (or column) of a region is free if it does not pass through a hole.
Otherwise, the row (or column) is blocked by the hole. The intersection of a free row and
free column is a free cell. Only free cells are used for simulation. A cell that belongs to
a blocked row (resp. a blocked column) simply passes the information along the edge of
28
the blocking hole. More clearly, a cell whose lower (or upper) edge touches a hole simply
passes the colour of its left edge to the right, and asks its upper (resp. lower) neighbor to
do the same. Similarly, a cell whose left (resp. right) edge touches a hole passes the colour
of its lower edge to the upper edge and asks its right (resp. left) neighbor to do the same.
Now, it should be clear that the above-d escribed tiles can tile a connected region C
of the decoration, if and only if, TM can tile a square with the same area as C, provided
t
0
is used in the lower-left corner. Since the entire decoration provides connected regions
of arbitrarily large net area, using the Extension Lemma, we conclude that the plane can
be tiled by the tiles in T, if and only if, TM can tile an upper-right quarter of the plane
with t
0
in the lower-left corner. This completes the proof.
29
Chapter 7
Busy Beaver
A busy beaver is a Turing machine that attains the maximum operational busyness
among all the Turing machines in a certain class. The Turing machines in this class must
meet certain design specications and are required to eventually halt after being started
with a blank tape. A busy beaver function quanties these upper limits on a given type
ofoperational busyness, and is a noncomputable function. In fact, a busy beaver function
can be shown to grow faster asymptotically than does any computable function.
To understand busy beaver function we need to make few changes in our turing machine
and its functioning. So we dene our turing machine as follows:
Turing machine here, is a device consisting of
1. a tape, T = 0, 1 and we say that the cell is blank if it contains a zero,
2. a read/write head, typically
3. a nite set of internal states Q = 0, . . . , n
4. a list of instructions, typically
where R, L are the directions the head can move. We will sometimes write M
(n)
if
we want to make the number of internal states explicit.
Example 1: A TM M
(k+1)
which writes k ones onto a blank tape and then halts above
the leftmost one. M : (0, t) (1, t+1, L) for t = 0, . . . , k1 and M : (0, k) (0, k+1, R).
30
We will use the convention that the initial state is q = 0 and the last state q = n is
the halting state - the only state upon which the machine halts. Since this results in n
active states, the machine is called an n-state Turing machine. Mathematically, the set of
instructions characterizing a Turing machine is a map,
M : T Q T QR, L
In order to talk about Turing machines as devices which compute functions of the
form f : N
k
N, we need to specify some conventions about how input and output are
represented. We will use unary encoding for both of them. That is, a number x N will
be represented by x + 1 consecutive 1s on the tape with the rest of the tape blank (e.g.,
2 would correspond to 0 . . . 1110 . . . 0). Similarly, (x
1
, . . . , x
k
) N
k
will be represented by
k such blocks of 1s separated by single zeros (e.g. (0, 2) would be 0 . . . 0101110 . . . 0). A
Turing machine M
(n)
f
is then said to compute the function f : N
k
N i the machine
starting with the head placed on the leftmost 1 of the unary encoding of x N
k
eventually
halts on the leftmost 1 of the encoded f(x) if x dom(f) and it never halts if x , dom(f).
Denition A function f : N
k
N is called Turing computable i there is an n-state
Turing machine (TM) for some nite n which computes f in the sense that the Turing
machine halts for every input x dom(f) with the tape eventually representing f(x) and
it doesnt halt if x , dom(f). Here, input and output are encoded in the above specied
unary way and at the start and (potential) end of the computation the head of the TM
should be positioned above the leftmost non-blank symbol of the tape.
Example 2: the successor function s(x)=x+1 can be computed by the following 2-
state Turing machine M
(2)
x+1
.(1, 0) (1, 0, R), (0, 0) (1, 1, L), (1, 1) (1, 1, L), (0, 1)
(0, 2, R).
Example 3: the zero function z(x)=0 can be computed by a 2-state TM: (1, 0)
(0, 0, R), (0, 0) (1, 1, R), (0, 1) (0, 2, L).
Example 4: the following 5-state TMM
(5)
2x
implements x 2x : (0, 0) (0, 3, R), (1, 0)
(0, 1, L), (0, 1) (1, 2, R), (1, 1) (1, 1, L), (0, 2) (1, 0, R), (1, 2) (1, 2, R), (0, 3)
(0, 3, L), (1, 3) (0, 4, L), (0, 4) (0, 5, R), (1, 4) (1, 4, L).
31
After dening the new turing machine, we now dene concatenation of two turing
machines. Let M
(n
f
)
f
and M
(ng)
g
be two TMs with n
f
, n
g
internal states, computing
functions f and g respectively. Then we can a dene a new (n
f
+n
g
)state TM M
(n
f
+ng)
gf
via
M
gf
(t, q):=
_
M
f
(t, q), q < n
f
M
g
(t, q n
f
), q n
f
Its action will be such that it rst computes f(x) and then uses the resulting output
as an input for g. Hence, M
gf
computes the concatenation corresponding to x g(f(x))
for which we will also write gf(x). Note that the possibility of concatenating two TMs
in this way builds up on our requirements that the output of a computation has to be
encoded in unary on the tape and that the TM (if ever) halts with the head positioned on
the leftmost 1.
Now we move on to dening the busy beaver function. Let us assign a number B(M)
N to every Turing machine M by considering its behavior when run on an initially blank
tape. We set B(M) := 0 if M never halts and B(M) := b if it halts and the total number
of (not necessarily consecutive) 1s eventually written on the tape is b. Based on this we
can dene the busy beaver function BB : N N
BB(n) := maxB(M)[M M
(n)
A
prime
into the set of 3 3 integer matrices by
M(u, w) :=
_
_
_
4
|u|
0 0
0 4
|w|
0
W(u) W(w) 1
_
_
_
If we use concatenation of words and matrix multiplication as binary operations in the
domain and codomain respectively, then (u, w) M(u, w) is an injective monoid homo-
morphism. That is, in particular M(u1, v1)M(u2, v2) = M(u1u2, v1v2).
In addition we will need the matrix
B :=
_
_
_
1 0 0
1 0 1
0 0 0
_
_
_
which satises B
2
= B and BM(u, v)B = (4juj +W(u) W(v))B.
The latter implies that BM(u, v)B = 0 i W(v) = W(1u) which in turn is equivalent
to v = 1u. Now let us exploit these relations to prove the following:
Proposition Let k N be such that PCP with k dominos is undecidable. Then there
is no algorithm which upon input of a set S M
3
(/Z) of 2k + 1 integer matrices decides
whether or not S is mortal.
Proof Consider an undecidable PCP with k dominos and choose 2, 3 as a binary
alphabet for it. Denote by (x
i
, y
i
) with i = 1, . . . , k the pairs of words appearing in
the PCP. For each of these k dominos we dene two matrices M
i
:= M(x
i
; y
i
) and
M
i
:= M(x
i
, 1y
i
). So together with B these form a set S of 2k + 1 integer matrices.
40
Now assume that PCP has a solution w 1, . . . , k
. Then
BM
w
1
M
w
2
M
w
|w|
B = 0
so the set S is mortal. Conversely, if S is mortal, then there is a product so that
BM(u
1
, v
1
)BM(u
2
, v
2
)B B = 0. Since B
2
= B and each BM(u
i
, v
i
)B is a multiple of
B, the product can only be zero if for at least one i we have 1u
i
= v
i
. Observing that
u
i
2, 3
, S
1
, D
1
, D
2
), the machine enters state q, the
read/write head writes the symbol S
1
in place of S
1
, and then the read/write head moves
1 cell in direction D
1
and the oracle head moves one cell in direction D
2
. At this point if
is a halting state, the machine halts, otherwise it repeats this same procedure.
We have seen the working of Oracle Turing Machine (OTM) now we will look how
oracle helps in solving certain decision problems. An OTM is a Turing Machine M that
has a special read-write tape called Ms oracle tape and three special states q
query
, q
yes
and q
no
apart from other states.
To execute M, we specify the input as usual and a language O 0, 1* that is used as
an oracle for M. While performing its computation, if M enters the state q
query
, then M
checks whether the contents of the oracle tape w O? If w O, M moves to the state q
yes
, it moves to q
no
if q / O. Regardless of the choice of O, a query like w O counts for a
single computational step of M. M
O
(x) denotes the output of the oracle turing machine
M on input x 0, 1* with O 0, 1* as the language.
45
Turing machines can compute a general functions as follows: if f is a function that
takes natural numbers to natural numbers, M
A
is a Turing machine with oracle A, and
whenever M
A
is initialized with the work tape consisting of n+1 consecutive 1s (and blank
elsewhere) M
A
eventually halts with f(n) 1s on the tape, then M
A
is said to compute the
function f. A similar denition can be made for functions of more than one variable, or
partial functions.
If there is an oracle machine M that computes a function f with oracle A, f is said
to be A-computable. If f is the characteristic function of a set B, B is also said to be
A-computable, and M is said to be a Turing reduction from B to A.
Halting problem
If we assume the existence of an oracle which computes a non-computable function,
such as the answer to the halting problem or some equivalent. A machine with an oracle is
a hypercomputer. But again the halting paradox still applies to such machines, although
they determine whether particular Turing machines will halt on particular inputs, they
cannot determine, in general, if machines equivalent to themselves will halt. This fact
creates a hierarchy of machines, called the arithmetical hierarchy, each with a more
powerful halting oracle and an even harder halting problem.
Consider a super halting problem, given a Turing machine with an oracle for the
halting problem, decide if it halts. We can prove that this super halting problem is
unsolvable, even given an oracle for the ordinary halting problem. We simply take Turings
original proof that the halting problem is unsolvable, and shift everything up a level by
giving all the machines an oracle for the halting problem. Everything in the proof goes
through as before.
Friedberg and Muchnik actually proved a stronger result that if there are two problems
A and B, both of which are solvable given an oracle for the halting problem, but neither
of which is solvable given an oracle for the other. These problems are constructed via an
innite process whose purpose is to kill o every Turing machine that might reduce A to B
or B to A. The resulting problems are extremely contrived, they dont look like anything
that might arise in practice.
46
Real Computers
In computability theory, the theory of real computation deals with hypothetical com-
puting machines using innite-precision real numbers. They are given this name because
they operate on the set of real numbers. These hypothetical computing machines can
be viewed as idealised analog computers which operate on real numbers, whereas digital
computers are limited to computable numbers. In this section we will not not see the
working of a real computer. We will only get a rough idea of computable numbers. We
will also see how real computers or analog computers are more powerful than todays
digital computer.
Computable numbers are also known as the recursive numbers or the computable
reals. they are the real numbers that can be computed to within any desired precision by
a nite, terminating algorithm. Turing machines or -calculus as the formal representation
of algorithms. The computable numbers form a real closed eld and can be used in the
place of real numbers for many, but not all, mathematical purposes.
Denition using a Turing machine
sequences of digits interpreted as decimal fractions between 0 and 1 is a computable
number if there exists a Turing machine which, given n on its initial tape, terminates with
the nth digit of that number.
The key notions in the denition are that some n is specied at the start, for any n
the computation only takes a nite number of steps, after which the machine produces
the desired output and terminates.
By the denition it is clear that a real computer is more powerful than a turing machine
or is a hypercomputer beacuse it had to generate numbers that cannot be generated by a
turing machine.
This is however not the modern denition which only requires the result be accurate to
within any given accuracy. The informal denition above is subject to a rounding problem
called the table-makers dilemma whereas the modern denition is not.
47
Formal Denition
A real number a is said to be computable if it can be approximated by some computable
function in the following manner: given any integer n 1, the function produces an integer
k such that:
k1
n
a
k+1
n
There is another equivalent denition called approximation of computable numbers.
There exists a computable function which, given any positive rational error bound ,
produces a rational number r such that:
[r a[
The set of real numbers is uncountable, the set of computable numbers is only countable
and thus almost all real numbers are not computable.
The arithmetical operations on computable numbers are themselves computable in the
sense that whenever real numbers a and b are computable then the following real numbers
are also computable: a + b, a - b, ab, and a/b if b is nonzero, for example, there is a
Turing machine which on input (A,B,) produces output r, where A and B are Turing
machines approximating a and b respectively, and r is an approximation of a+b.
The least upper bound of a bounded increasing computable sequence of computable
real numbers need not be a computable real number.
The order relation on the computable numbers is not computable and same holds for
the equality relation. There is no Turing machine which on input A (the description of a
Turing machine approximating the number a) outputs YES if a > 0 and and NO if a 0.
Suppose the machine described by A keeps outputting 0 as approximations. It is not clear
how long to wait before deciding that the machine will never output an approximation
which forces a to be positive. Thus the machine will eventually have to guess that the
number will equal 0 but the sequence may later become dierent from 0.
48
While the full order relation is not computable, the restriction of it to pairs of unequal
numbers is computable. That is, there is a program that takes an input two Turing
machines A and B approximating numbers a and b respectively, where a ,= b, and outputs
whether a < b or a > b. It is sucient to use -approximations where <
|ba|
2
; so by
taking increasingly small , one eventually can decide whether a < b or a > b.
Halting problem
In real computers is it hard to show that Halting problem for TM is decidalbe by
simulating the working of TM in it. So instead of doing this we will logically show that
a real computer can solve halting problem of TM. We alredy know the fact that these
hypothetical model can generate real numbers with innite precision i.e. that are not
computable. Uncomputable numbers are basically those numbers for which the machine
generating them can easily (in nite time) compute countably innite steps; in this case,
by above denitions a computer can actually compute till n , hence acquiring innite
precision.
As we know halting problem is uncomputable so there must exist an algorithm on
hypercomputaion level or a real computer that can generate it in nite time. This implies
that a Real computer can infact solve halting problem. We can also see its proof using
Godels numbering system, which is omitted here. Also by Godels Incompleteness theorem
we can say there must exist some undecidable problems in this proposed model of a
Hypercomputer.
49
Bibliography
[1] Undecidable Problem
http : //en.wikipedia.org/wiki/Undecidable problem
[2] Entscheidungsproblem
http : //en.wikipedia.org/wiki/Entscheidungsproblem
[3] Godels incompleteness theorems
http : //en.wikipedia.org/wiki/Godel incompleteness theorem
[4] Post correspondence problem
http : //en.wikipedia.org/wiki/Post correspondance problem
[5] Halting problem
http : //en.wikipedia.org/wiki/Halting problem
[6] Hilberts tenth problem
http : //en.wikipedia.org/wiki/Hilbert
s tenth problem
[7] Wangs Tile
http : //en.wikipedia.org/wiki/Wang tile
[8] Busy Beaver
http : //en.wikipedia.org/wiki/Busy beaver
[9] Mortality Problem
http : //en.wikipedia.org/wiki/Mortality computability theory
[10] Undecidable problems in group theory, by George S.Sacerdote, Proceedings of the
American Mathematical Society, Volume 36, Number 1, November 1972.
50
[11] List of statements undecidable in ZFC
http : //en.wikipedia.org/wiki/List of statements undecidable in ZFC
[12] Lecture on Undecidability, Michael M. Wolf, June 27, 2012
[13] Hypercomputation
http : //en.wikipedia.org/wiki/Hypercomputation
[14] Zeno machines and hypercomputation
http : //www.sciencedirect.com/science/article/pii/S0304397505009011
[15] Undecidable problems in semigroups theory Honours Project, by L.Konstantinovskiy
[16] Elements of Theory of Computation, by Harry R. Lewis and Christos H. Papdim-
itriou, Second Ed., Prentice - Hall
[17] Introduction to Automata Theory, Languages, and Computation, by John Hopcroft,
Rajeev Motwani, Jerey Ullman, Third Ed., 1979, Pearson
[18] Computation Beyond Turing Machines, Peter Wegner, Dina Goldin
[19] Undecidable Problems - A Sampler, by Bjorn Poonen
[20] Lectures on Turing Machine, by Robb T. Koether, 2009
[21] Lectures on Halting Problem, by Costas Busch, 2006
[22] Godels incompleteness theorem - An incomplete guide to its use and abuse,
by Torkel Franzen, 2005, A. K. Peters Ltd.
[23] The myth of Hypercomputation, by Martin Davis
[24] Limits of Computation: Undecidable Problems, by D. Gorse
[25] Accelerating Turing Machines, by B. Jack Copeland
51