Lectu Re Notes in Economics and Mathematical Systems: Loeckx
Lectu Re Notes in Economics and Mathematical Systems: Loeckx
in Economics and
Mathematical Systems
Operations Research, Computer Science, Social Science
68
J. Loeckx
Springer-Verlag
,Berlin· Heidelberg· New York 1972
Advisory Board
H. Albach· A. V. Balakrishnan' F. Ferschl . R. E. Kalman' W. Krelle . G. Seegmuller
N. Wirth
This work is subject to copyright. All rights' are reserved, whether the whole or part of the material is concerned,
specifically those of translation, reprinting, re:use of illustrations, broadcasting, reproduction by photocopying machine
or similar means, and storage in data banks.
Under § 54 of the German Copyright Law where copies are made for other than private use, a fee is payable to the publisher,
the amount of the fee to be determined by agreement with the publisher.
© by Springer-Verlag Berlin' Heidelberg 1972. Library of Congress Catalog Card Number 72-82761.
Softcover reprint of the hardcover 1st edition 1972
PREFACE
2.1. Definitions 11
2.2. String functions 12
2.3. Further notations and definitions 13
2.4. The interpretation of strings 13
2.5. Alphabetic order 14
2.6. Enumeration of strings and n-tuples of strings 15
2.7. Enumeration functions 17
2.8. Calculating the value of the enumeration functions 21
This course deals with sets and functions of objects. While in Sections
1.2 to 1.4 the exact nature of the objects is not yet specified, only three dif-
ferent types of objects occur in these Notes:
(i) strings of symbols, such as:
abaa
a
**
(ii) non-negative integers or, abbreviated, nni's such as:
7
4013
o **
(iii) the truth values, viz. true and false.
1.2.1. Definitions
-----------
An ordered sequence (of n objects) (or: n-tuple) consists of a number
(viz. n) of objects specified in a certain order; this number may not be zero and
must be finite. A 2-tuple and 3-tuple are also called pair and triple respectively.
(*) This definition is recursive: the notion to be defined (viz. "set") appears in
its own definition.
- 2 -
rather than actual definitions because notions such as "finite" or "collection" have
not been defined. Giving precise definitions for these notions is beyond the scope
of these Notes (*).
1.2.2. Notation
--------
1.2.2.1. Ordered sequence
Note also that by its definition an ordered sequence of one object is the
object itself; in that case the embracing parentheses may, of course, be omitted in
the notation.
1.2.2.2. Sets
(*) Precise definitions should, among others, avoid the Russell paradox for sets.
(**) This set is called the empty set.
- 3 -
The elements of the set are those satisfying the property (.). Examples are:
1.3.1. General
In the sequel card (~) denotes the number of elements of the set S
provided ~ is a finite set ( ••• ); note that card (~) is an nni.
(*) It is understood that the variable is ranging over the elements of the set
to be defined.
(*.) and, ~ and not are to be understood as the logical and, or and not (sometimes
denoted as II, v, --, respectively).
( •• *) The mnemonic origin of "card" is cardinal number.
- 4-
Per definition:
(i) S u! = { a I a £ S or a £ T } (*); S u T is called the union of the sets
Sand !;
a )
n
I a.
1-1
£ S. for each i. 1 ~ i ~ n}
this set is called the aartesian produat of the sets ~I' ~2' ..•• ~; when
A n B ={ b }
!\!={a}
A - B makes no sense
Let S be the set of all objects considered (e.g. the set of all nni's).
(*) and, ~ and not are to be understood as the logical and, or and not (sometimes
denoted as A, v,-' respectively)
(**) If T is not a subset of !. ~ - T makes no sense.
- 5 -
(aI' a 2 , ... , an + l )
and (b l , b 2 , ... , b n + l )
value (of the function for the n-tuple (a l • a 2• .•.• an) of arguments).
function, then the value (of the function for the n-tuple (a l • a2• .•.• an) of
arguments) is undefined.
The following three examples illustrate these definitions:
(i) the function sum is a set containing the elements:
(0, 0, 0) , (I, 0, I ) , (2, 0, 2) ,
(0, I , I) , ( I , I , 2) , (2, I, 3),
(0, 2, 2), ( I , 2, 3) , (2, 2, 4) ,
D
-t1
{ (aI' a 2 ' ... , a )
n 1 there exists a
n+1
such that
One says that F maps D onto R . One also says that F maps D into R where R is any
-r -t1 -t1
set such that R c R.
-r
- 6 -
D N2
-sum
R R = N
-Sum -sqrt
2 }
D { x there exists y € N such that x Y **
-sqrt
1.4.3. Notation
examples ( ): '"
FI N2 -+ N : FI(x,y) = x + Y
2
F2 N -+ { 0, I } : F2 (x) = if there exists z € N such that x = z
argument except for 2; in that case the value of the function is un-
defined) • **
it is not the case that a n + 1 = b n + l . Hence for an injective function there corresponds
Examples of injective functions are the functions sqrt and dec of Section
1.4.1; a counterexample is the function sum of the same section. **
F = { (y, x) I (x, y) E F }
Note that the domain and range of F are respectively the range and domain of F.
The inverse function is also a I-ary injective function; in fact, F = F.
{ (y, xi) I there exist xI' x 2 ' ... , xi_I' x i + I ' ... ,xn
Less formally, the inverse function F(i) restitutes the ith argument of the function
F for a given value of this function. Hence, for any element y of the range of an
injective n-ary function F it is the case that
As an example, the value of the inverse functions dec (I) and dec(2) of
the function dec of Section 1.4. I is illustrated by
dec(I)(49) = 4, dec(2)(49) = 9 **
1.4.6. Note
The preceding definitions have been given for arbitrary objects. Par-
ticular types of objects or, more precisely, sets the elements of which are
constituted by objects of a particular nature, viz. truth values, nni's and strings,
are now going to be considered.
2
greater: ! + {true, false}:
The value of a relation is often written with the help of an operator such as > or #;
for instance, one generally writes
x > y
1.5.2.1. N-functions
1.5.2.3. Complement
to -Nn , i.e. is Nn - S.
2. I. Definitions
A vocabulary is a finite non-empty set; the elements of this set are
called symbols. Examples of vocabularies:
v { a, b } ;
v' 0, I, 2, 3, 4, 5, 6, 7, 8, 9 }
v" {O,I,+,=} **
*n
total when its domain is V
An n-ary !-function is A function which
is not necessarily total is sometimes said to be partial in order to stress this
fact.
A x B ={ (x, y) xEA,YEB}.
When writing about objects (e.g. nni's, truth values, cows) one is
obliged to choose a representation.
Considering the object a string stands for (i.e. the object a string
represents) is said to interprete the string or. equivalently. to consider its
semantics.
These Notes are concerned with the study of strings but their (possible)
interpretation is never referred to. Hence the definitions and properties of (sets
and functions of) strings which are given here and in the sequel are independent
from their interpretation i.e. are valid whatever their interpretation may be.
A = { (a • I) • (b. 2) , (c. 3) };
by all strings nln2 .•• ~(nl' Q2' .•. , ~ € !) of length k for which there
Q.
1
S.1. for all i < h
and
Less formally, rule (i) requires that first all strings of length 0 are listed,
then all strings of length I, then all strings of length 2, etc. Rule (ii) requires
that the strings of the same length are listed "alphabetically", i.e. in the same
way as the words in a dictionary.
Other example: For Y ={ a, b } with A = reb, I), Ca, 2)} the enumeration is:
2.6.2. Generalization
*n
The enumeration of the elements of ~ may now proceed as follows;
E, a, b, C, aa, ab, aC, ba, bb, bC, Ca, Cb, CC, aaa, aab,
dropping the strings which do not contain exactly one occurrence of the symbol C
yields:
C, aC, bC, Ca, Cb, aaC, abC, aCa, aCb, ..•
hence the enumeration of the elements of V*2 is:
x e: a b aa ab ba bb aaa
n
e: --'- --'>- -"'- __"7
I
IJ I
I
a I
-
b ~ I~
I......-
aa 13
ab 14
---
I~
different locations of the plane are threaded
by the enumeration.
aaa
(~
*n • A)-to-!(x • x ••.•• x ) = k. being understood that
i 2 n
(xI' x 2 ••.•• xn ) is the (k+l)th n-tuple in the enumeration
Less formally. the function (~*n. A)-to-! associates with any n-tuple the number
of its place in the enumeration described in Section 2.6.2.
V* -to-N
instead of V*1 -to-No
V*-to-N (aa)= 3;
etc.
and:
V*2 -to-N (E. g) o·,
V*2 -to-N (a. E) I',
etc. **
N-to-V* (0) = e:
N-to-V* (I) = a
N-to-V* (2) b
N to-V* (3) aa
etc. **
(:!.*n ,A)-to-(~, *
B) (xI' x 2 ' .•• , xn )
* *n
.!:!.-to-(~ , B) «:!. ,A)-to-.!:!.(x l , x 2 ' ... , xn ))
Less formally, the function (:!.*n ,A)-to-(~, * B) associates with each n-tuple of V*n
V*n-to-W*
V*-to-W*
instead of V*I_to-W*.
Examples:
(i) V = W = { a. b } A = B = { (a. 1) (b. 2) } n 2; then
• •
V*2 -to-V* (e. e) = e
V*2-to-V* (a. e) = a
etc
N V*
(e. e) o e
(a. e) a
(b. e) 2 b
(e. a) 3 aa
(e. b) 4 ab
(ii) V = { a. b }.
n = I; then:
~ = { a }. A = { (a. I) • (b. 2) } . B { (a. 1) } .
V*-to-W* (e) = e
V*-to-W* (a) = a
V*-to-W* (b) aa
etc.
V* -to-W* W* -to-V*
The functions V*n_to-W* do not only allow to replace (the study of)
n-tuples by (that of) strings, but also to replace one vocabulary by another (viz.
~ by How far-reaching the consequences of this are will appear in Chapters 4,
~).
.. . *n *. .
5 and 6; ln partlcular, the functlons ~ -to-~ wlll play an essent1al role in the
proof of the existence of non-computable functions (Section 5.1).
The enumeration functions have been defined in Section 2.7 but the
way in which their value for given arguments may be obtained has not been stated
explicitly. A procedure will now be described which allows to calculate the value
of the function (~*n, A)-to-~ for an arbitrary given n-tuple of arguments (~ and A
are a vocabulary and an alphabetic order over it, n >, I). The case of the function
(~*n ,A)-to-(~,
* B) and of the inverse functions may be treated in a similar way.
The procedure makes use of two variables, viz. sand cr, to which
respectively an nni and a string may be assigned as a value (*). The principle of
its working consists in the enumeration of the n-tuples of ~*n according to the
method indicated in Section 2.6.2 until the argument shows up. More precisely, when
an n-tup 1e ( xI' x 2 ' ... , xn ) € ~*n.1S presented to 1t,
. t h e proce dure succeSS1ve
. 1y
performs the following steps, C and A' being defined as in Section 2.6.2:
(***) A' is the inverse function of the alphabetic order A', l(cr) is the length
of the (old) value of cr.
- 22 -
a = ydz
The working of this procedure may be illustrated by the following comments: step (i)
assigns initial values to the variables; step (ii) checks whether the given n-tuple
(xI' x 2 •.••• xn ) is reached and. if so, makes the procedure come to an end; step
(iii) increases the length of the string by one symbol according to rule (i) of
Section 2.6.1; step (iv) determines the alphabetically next string according to
rule (ii) of Section 2.6.1; step (v) corresponds with step (ii) of Section 2.6.2.
*n .
It is clear that for any (xI' x 2 ••••• xn ) €! th~s procedure comes
V*n. A)-to-N
(_ _ (x I' x 2 ' ••• , xn )
as a result.
and that. consequently, the procedure reduces to the calculation of the right member
of this equality.
(**) This formula shows that (!*, A)-to~is similar to (but not identical with)
the interpretation of a string as a number in base card (!:!); by the way, if
it were identical, (!* , A)-to-!:! would not be injective (see Section 2.4.1).
CHAPTER 3 COMPUTABLE FUNCTIONS
The second direction is concerned with the study of notions which are less
general than computability such as finite state automata (being a special type
of Turing machines) or context-free grammars (being a special type of Post
systems), and is connected with mathematical linguistics and computer programming.
The structure and the working of a Turing machine will now be described
with the help of a physical model. The actual definition of a Turing machine will
be given in Section 3.4 but the (formal) definition given there is rather difficult
to grasp when not having the (informal) physical-model definition in mind.
- 25 -
read-write device
tape
Control
unit
The control unit which "makes the machine run" is at each moment in
a certain "state" out of a finite number of possible states; moreover it "contains"
a set of "instructions" which at each moment univocally determine the working of
the Turing machine; by the way, different Turing machines differ from each other
essentially by the nature of these instructions.
The string on the tape at the start of the Turing machine is interpreted
as (a particular value for) the arguments of the function. The string on the tape
after halting is interpreted as the value of the function for these arguments. The
fact that the machine does not halt but continues working forever is interpreted
as the value of the function being undefined for the given arguments.
The Turing machine has been defined above informally with the help of
a physical model. It will now be defined formally in a algebraic way.
- q, q I € .9.
[ - a, a I € V u {B}
V is called the voaabulary of the Turing maahine, the elements of .9. are called the
states, B is called the blank symbol, q is called the start state and the elements
s
of I are called the inst~uations. In the sequel an instruction is noted
rather than
(q, a, q', ai, 6).
3.4.2.1. Definition
(*) Though an ID may have the same form as the right member of an instruction
it has an essentially different meaning!
- 30 -
Note that the restriction (R) of Section 3.4.1 implies that at most
one instruction of I is applicable to a given ID.
(*) The function head has been introduced in Section 2.2; note that the value
head (1/10) is always defined as 1/10 + E.
- 31 -
(iii) if 0 =L then
(a) if ~ +E , put ~ = ~ c
o
with c € V u {B} and ~ 0 € (V
-
U {B})*;
then B (q', ~o' ca'1/I);
w___
--$ -$
q q'
Figure 4a: 6 o
w ___
---$ ......+--w ___
Figure 4b: 6 R, W ~ £
Figure 4c: 6 R, W = £
- 33 -
*
a==->B
T
between the ID's a and B holds if either a B or there exists a finite s~quence
of ID's
(n > 1)
such that
and
instead of *
a7 B.
(*) The relation ~ constitutes the reflexive transitive closure of the relation
~.
- 34 -
final ID }. (*)
Less formally, if there exists a state q such that (q,y,z) is final then
otherwise
designed in order to define one of these functions; the other functions are then
not considered and are, moreover, often trivial.
following: for the case n = I, XI = E, the triple (qs' E, xIB •.. Bxn ) is not an ID
definition (in the sense of Section 3.2) for the function fT clearly appears
,n
from the comments which accompany the preceding sections and which relate the
formal definitions to the physical model.
undefined:
(iii) if a has no follower, stop; the result is delete (B, yz), y and z being
defined by a = (q, y, z);
3.5.1. ~!!~~_~!~~1~
g {qo' q, qf}
B $ (*W)
in Section 2.2. (ii). This statement which is not proved here may be illustrated by
the following two examples:
(qo' e:, $)
===> (qo' e:, $) by application of the instruction (3)
etc.
Note that replacing the instruction (3) by, for instance, the
. instruction
(qo' $) + (qo' a, R)
leads to a Turing machine defining the same I-ary function: for the argument E it
never halts while filling the right fraction of its tape with (an infinite number
of occurrences of) the symbol a.
V {J}
q = (lI!)
S qs
I consists of the following 12 instructions the role of which is indicated
to the right:
(qs' 1) + (qs' 1 , R)
1
locate the separating B
(qs' B) + (q 1 ' B, R)
(q 1 ' 1)
(q 1 ' B)
+
+
(q 1 ' I, R)
(q2 ' B, L)
] locate the rightmost 1
(lI!) This equality expresses that the value of the variable B (resp. q ) is the
s
symbol B (resp. q ). As a difference with the example of Section 3.5.1 (see
s
the footnote of this Section), B (resp. qs) is now used for denoting two
different things: a variable and a value of a variable. This ambiguity in the
notation is not harmful provided the equality B = B (resp. q = q ) is inter-
s s
preted correctly.
- 38 -
(q3' I)
(q3' B)
-+-
-+-
(q3' I ,
(qs' B,
L)
(qs' I)
(qs' B)
-+-
-+-
(qs' I,
(q6 ' B, R)
L)
(qs' E, IIBIB)
=> (qs' I , IBIB)
==> (qs' II, BIB)
==> (ql' lIB, IB)
=> (ql' IIBI, B)
=> (q2 ' lIB, IB)
=> (q3 ' II, BBB)
=> (qs' I, IBBB)
=> (qs' E, IIBBB)
=> (qs' E, BIIBBB)
=> (q6 ' B, IIBBB)
==> (qs' BB, IBBB)
=> (qs' BBI, BBB)
=> (ql' BBIB, BB)
=> (q2' BBI, BBB)
=> (q4 ' BBI, BBB)
(ii) ssub (E, E) =E because
(qs' E, BB)
==> (ql' B, B)
=> (qz' E, BB)
=> (q4 ' E, BB)
- 39 -
(qs' E, BIB)
==;>
(ql' B, IB)
"'"""> (ql' BI, B)
=--;>
(q2 ' B, IB)
==;>
(q3' E, BBB)
="> (qs' E, BBBB)
="> (q6' B, BBB)
==;>
(q6' B, BBB)
etc.
Turing emitted the following thesis: each function for which there
exists a "rule" (or: "constructive procedure") to compute its value is a computable
function (~). Note that this thesis cannot be proved because it connects a
mathematical notion (viz. the Turing machine) to an empirical notion (viz. the
"rule"). Hence it bears similarities with a thesis (or: "law") asserting that a
certain mathematical equation is applicable to a physical phenomenon.
(lI!) The notion "rule" has been introduced in Sections 1.4.4 and 3.2. The converse
of Turing's thesis was discussed in Section 3.4.6.
- 40 -
for each ID, say (q, ~, W), for which there exist xI' x 2 ' ••• , xn € V*
such that
(qs' E, x I Bx 2 B••• Bxn B) (q, ~, W)
(*) This equivalence between Turing machines and, for instance, Markov algorithms
has to be understood as follows: with each Turing machine it is possible to
associate a Markov algorithm defining the same n-ary function, and vice versa.
( ·*)~*.{B}* denotes the set product of V* and {B}* ( see Sect Lon
. 2 • 3) •
- 41 -
3.8.2. b~~~_~~l: For any y-TM T one may construct a y-TM S which defines the
same y-string functions and which contains a particular state p such that an ID
of S is final if and only if the state of this ID is p.
Proof·
X
n'
y) IE: fT
,n
}(*)
Proof·
machine R in such a way that its working is identical with that of the y-Turing
machine T except that at each moment the used fraction of the tape is embraced by
the symbol pair ! , ?
q = r
sR
(s, B) + (u I' !, R) (1 b)
for each I ~ i ~ n
(q, ! ) + (v , B, L) (6a)
q
for each q IE: ~
(v , B)
q
+ (q, ., , R) (6b)
(q, 7) + (w , B, R) (7a)
q
for each q IE: ~
(w , B) + (q, 7, L) (7b)
q
for each q IE: ~
(*) It is of course supposed that the (notation used for the) states added to ~ is
different from that of the states of~.
- 4~ -
3.8.4. !t~~E~~_~~l: For any pair (T, n) where T is a Turing machine and n ~ I is
an integer one may construct a Turing machine P which defines the same n-ary function
as T and which is n-normal.
Proof.
constructions of Lemma 3.2 and Lemma 3.1. From what precedes it should be clear that
the Turing machine Q may be turned into an n-normal Turing machine defining the same
n-ary function as the Turing machine T if one succeeds in "cleaning" the result with
respect to the blank symbols and erasing the symbols! and ?
w, x} U {Ya I a € ~} U {za I a € ~}
(y , B)"" (y , B, L) ( Ila)
a a
for each a € V
(y , c) .... (z , c, R) ( lIb)
a a
for each a € V and c € V u {!}
(z , B) .... (w, a, R) (12)
a
(x, a) .... (x, a, L) (l3a)
Suppose now that the blank symbol is taken to be the particular symbol B,
B I. ~ (*). Provide the finite set Q with an arbitrary alphabetic order, say Ao'
satisfying A (q )
o s
= 1. Replace each instruction of !, say
by the string
should be clear that the string e T univocally defines the Turing machine T - except
for the exact names of the states (**); fortunately, this restriction is irrelevant
as far as the working of a Turing machine is concerned, this working being
independent from these names.
order A •
o
- 46 -
the string
QaQQaRQbQQbRQBQBOQQaQQBRQQbQQBRQQBQQQBO
machine: they differ by the choice for the alphabetic order Ao and by the order
~ = ~ U {B, Q, L, R, O}
and provide this vocabulary with the alphabetic order B defined as follows:
C**) This implies that the vocabularies ~ U {B, Q} and {L, R, a} are disjoint;
if this is not the case, the symbols of the latter vocabulary should
previously be "renamed" or, more precisely, replaced by symbols not in
V U {B, Q}.
- 47 -
d = V*-to-V*(e )
T ~ - T
is called a (~-)string description of the Turing machine T.
As a conclusion an arbitrary ~-Turing machine is univocally described
by a string over ~ (viz. the string description d T) together with an alphabetic
order in V (viz. A). In fact, from the alphabetic order A one may deduce the
alphabetic order B; A and B univocally define the . *
funct~on ~ -to-~;* further
e = V*-to-V*(d )
T - ~ T
and, as indicated in Section 4.1.1, e T univocally describes the ~-Turing machine T.
order in V.
For the same reasons as above, each string over ~ is not a ~-string
otherwise
is computable ( *).
(*) The choice of a and E is arbitrary: any two other strings of V* would do
as well. Note that S is a predicate if a and € are interpreted as true and
false respectively.
- 48 -
(iii) perform steps (i) to (v) of the procedure of Section 3.4.6, being understood
that the Turing machine to be considered is the one determined during step
(ii) above.
It should be clear that this procedure is constructive and that it simulates the
working of an arbitrary ~-Turing machine, a ~-string description of which is
presented to it in the form of an argument. According to the thesis of Turing there
exists a ~-Turing machine, say U, which defines the same ~-string function as this
procedure, i.e. such that:
f
U,n+I few, xl' x 2 ' ••• , X n ' y) I Sew) =a and
4.3. Discussion
F = {(XI' x z' ... , xn' y) I (w, xI' x z' ... , xn' y) ~ fu,n+l}
The thesis of Turing may be restated in a similar way; as a result this thesis
hinges on one machine (viz. the universal Turing machine) only.
CHAPTER 5 SOME FUNCTIONS WHICH ARE NOT COMPUTABLE
5.1.1. Introduction
Suppose one wants to calculate the value of the I-ary (*) function fT I
,
defined by a ~-Turing machine T for a given argument x.
H : { x I Sex) a} x V* -+ {a, d:
(*) For the sake of simplicity only I-ary functions are considered.
Less formally:
[: if fT , l(y) is defined
H (d T , y)
if fT l(y) is undefined.
,
This function is identical with H except that it restricts its attention to the
case in which both arguments of H are equal. The function J provides an answer to
the question whether or not an arbitrarily given ~-Turing machine T halts when it
is started with the argument d T ; in other words J restricts its attention to the
working of a Turing machine which is started with its own description on the tape!
It is clear that the value of J is of theoretical interest only. Clearly, J is
computable because H is: a Turing machine j defining J may be identical with h
except that it first makes a copy of its argument (i.e. that it first replaces the
contents xB of its tape by xBxB).
This function is identical with J except that it is undefined when the value of J
is a. Again, K is computable because J is: the ~-Turing machine k defining K is
identical with j except that, when halts, k determines whether the result is a
or g; in the former case it enters an infinite loop, in the latter case it halts.
Hence
and
i.e. K(d k ) is defined; this contradicts the assumption that K(d k ) is not defined.
Suppose now that K(~) is defined, i.e. that the ~-Turing machine k
H(dk , dk ) = a
J(dk ) = a
and K(dk ) is undefined. Again this contradicts the assumption that K(d k ) is defined.
5.1.4. Remark
It was just proved that there does not exist a Turing machine h which
for each arbitrarily given ~-Turing machine T and each arbitrarily given string x
in V* determines whether or not T halts after having been started with x.
But this does not exclude the existence of some Turing machine h' which
for each arbitrarily given ~Turing machine T out of some limited class of ~-Turing
(q', a', 6) is the (single) instruction of a ~-Turing machine, it does not halt
after having been started with x if and only if
The fact that it is not possible to construct the Turing machine h may
- thanks to Turing's thesis - also be formulated as follows: it is not possible to
write a computer program which for an arbitrarily given other program, say P,
determines whether or not the execution time of P is finite. Note that this is not
equivalent to saying that it is not possible to write a computer program determining
whether or not an arbitrarily given other program enters an infinite loop during
its execution: when a program does not halt, this is not necessarily because it
. f'LnLte
enters an Ln . loop C*) •
5.2.1. Introduction
------------
The halting problem treated above appeared to be too general to be
solvable (see also Section 5.1.4). Therefore one may hope to be able to solve the
following, less general, problem: determine whether or not an arbitrarily given
~-Turing machine halts after having been started with a blank (**) tape.
(*) While the notion "entering an infinite loop" has never been exactly defined,
it suggests a behaviour of some cyclic nature (see e.g. Section 3.5.1).
( **) L.e.
. . .
contaLnLng .
a strLng of B, s.
- 54 -
This problem is called the blank tape halting problem and is less
general than the halting problem in that only the ~-Turing machine is arbitrary,
the initial contents of the tape being fixed. Nevertheless, the function H' is not
a computable function neither, as will now be shown.
5.2.2. Proof
The principle of the proof consists in showing that if the blank tape
halting problem were solvable the halting problem would be solvable too.
blank tape if and only if T halts when started with the string x on its tape.
Assume now that the blank tape halting problem is solvable. The halting
problem is then solvable too. In fact, suppose it has to be determined whether or not an
arbitrarily given ~-Turing machine T halts when started with an arbitrarily given
string x on its tape. The following constructive procedure would yield the answer:
construct the Turing machine T associated with (T, x) as indicated above; determine
x
whether or not T halts when started with a blank tape (this is possible because
x
the blank tape halting problem is supposed to be solvable); the answer found is the
answer to the question whether or not T halts when started with x.
(-) Note that fT,t(e) is defined if and only if f T ,2(e, e), f T ,3(e, e, e), ••• are
defined.
- 55 -
5.3.2. Proof
The proof consists in showing that if the uniform halting problem were
solvable the blank tape halting problem would be solvable too.
Assume now that the uniform halting problem is solvable. The blank tape
halting problem is then solvable too. In fact, suppose it has to be determined
whether or not an arbitrarily given ~-Turing machine T halts when started with a
blank tape. The following constructive procedure would yield the answer: construct
the Turing machine S associated with T; determine whether or not fS 1 is total; the
,
answer is also the answer to the question whether or not T halts when started with
a blank tape.
5.4.1. Introduction
Suppose F is a non-empty ( * ) computable I-ary ~-string function. The
problem is: determine for an arbitrarily given ~-Turing machine T whether or not
fT , 1 = F.
In other words, the function to be studied is a I-ary function ~; its
(~) This excludes the trivial case of the function F {}, i.e. the function the
value of which is undefined for any argument.
- 56 -
5.4.2. Proof
the working of which, when started with x, consists of two parts executed
successively: the first part is identical with the working of T when started with a
blank tape, the second part is identical with the working of R when started with
x (*). Clearly, fp I
, =F if fT I(e) is defined, and fp I
, , = {} ( # F ) otherwise.
Assume now that the equivalence problem for the function F is solvable.
The blank tape halting problem is then solvable too. In fact, suppose it has to be
determined whether or not an arbitrarily given ~-Turing machine T halts when started
with a blank tape. Construct the associated Turing machine P and determine whether
, = F.
or not fp I The answer is also the answer to the question whether or not T
The fact that there exist unsolvable problems may be looked at from
two different points of view.
(*) Note that during the first part the tape contents x have to be "saved" in order
to be available at the start of the second part. Though this may put some
"organizational" problems during the design of the Turing machine P, it may be
constructed: in fact, it is clear that there exists a constructive procedure
simulating the working of P.
- 57 -
6.1. Introduction
With the help of the notion of computable function two classes of sets are defined:
the effectively enumerable sets and the decidable sets.
6.2. Definitions
With any set S of strings over V are associated two ~-string functions
defined as follows.
The particularity of this function is that its value is undefined for any argument
belonging to the complement of ~.
a if X € S
[
E if X € V* - S
Proof·
Suppose that S is the domain of the computable I-ary ~-string function F.
As F is computable there exists a ~-Turing machine T such that fT 1 = F. Consider
,
now the Turing machine R identical with T except for the following: when T halts,
R replaces the contents of the tape by the symbol a. Clearly, fR 1 = AS' i.e. the
,
Turing machine R defines the acceptor function of the set S. This proves the first
part of the theorem.
6.4. Effectively enumerable sets and the range of total computable functions
( ~"') The term "effectively enumerable" should not be confused with the term
"denumerable" occurring in set theory.
- 60 -
Proof·
Provide ~ with an alphabetic order, say A.
y
*2 *(1)
~ -to-~ (x)
*2 *(2)
z = ~ -to-~ (x)
(q , E, yB)
s
and (try to) apply successively m instructions;
F(!-to-~
* (0». * (I».
F(!-to-~
* (2» ••••
F(!-to-~
This enumeration is "effective" in the sense that the calculation of any value
F(x) of F takes only a finite amount of time. This property is at the origin of
the name "effective enumerability". ('II)
( *) By the way.
* * *
(0). !-to-~ (I). !-to-~ (2) ••••
!-to-~
is an effective enumeration of the elements of V*
- 62 -
Proof.
until a value equal to x is obtained; in that case, stop with the symbol a as
result.
Proof·
The "if" part of the theorem directly follows from Lemma 6.2.
(*) Note in particular that F is total and that, as a consequence, the computation
time of each value of F is finite.
- 6~ -
6.5.1. -------
The set
The goal of this section is to prove that there exist sets which are
not effectively enumerable.
To this end, the following set (of strings over a vocabulary y provided
with an alphabetic order and containing the symbol a) will be proved not to be
effectively enumerable:
p { x I S (x) a and fT,1 is total, T being the Y-Turing machine of which x
is a y-string description }
Less formally, ! is the set of the Turing machines defining a total I-ary function.
where cone is the concatenation function (see Section 2.2) and U the universal
Y-Turing machine (***); that D is a total function directly follows from the fact
that E is a total function and that E(x) is a string description of a y-Turing
machine defining a total I-ary function.
definition of the universal y-Turing machine U any string x of the domain of D, i.e.
any x € V*, satisfies:
D(x) (2)
C·)
( .. )
S is the function of Section 4.1.2.
It is evident that P is not empty.
....
( ••• ) The notation cone (a, f U,2("'» is used instead of af u ,2("') for more
clarity.
( )
That D
.
1S computable
.
1S evident: E, fU 2 and cone are.
,
- 64 -
From (I) and (3) it follows that for all x €:!.... * the follow~ng. equality holds:
the case that y = cone (a, y). Hence the hypothesis that P is effectively enumerable
cannot be true.
6.5.3. f~E~ll~EI: The set of all effectively enumerable sets of strings over a
vocabulary! is a proper subset of the set of all sets of strings over V.
6.5.4. Comment
As den) is total it must appear somewhere in the list, i.e. for some no
and, for n n :
o
- 65 -
Proof·
turned into a Turing machine TA defining the acceptor function of the set by the
loop.
6.6.2. ~~~~_~~~: The complement (with respect to ~*) of a decidable set (of strings
over a given vocabulary~) is effectively enumerable.
Proof·
turned into a Turing machine T' defining the acceptor function of the complement
A
of the set by the following modifications: when TD halts with the result a, TA
enters an infinite loop; when TD halts with the result E, TA halts with the result
a.
6.6.3. ~~~~_~~2: If a set ~ (of strings over ~) and its complement (with respect
to ~* ) are both effectively enumerable, the set S is decidable.
Proof·
of S and V* - S respectively.
(i) prepare TA to start the acceptance test of the string x, i.e. make TA have
lJ
( ) qs and B are the start state and the blank symbol of TA.
- 66 -
It is clear that this procedure defines the decision function of the set ~; note
in particular that it halts after a finite time: x is an element either of S or
of V* - S and hence either TA or Tl lead to a final instantaneous description after
a finite time.
Proof·
From Lemma 6.3. 6.4 and 6.S.
6.7.1. -------
The set
Q = { x I there exist y. z € ~
* such that x = ~
*2 -to-~* (y, z).
S(y) = a and fT 1 (z) is defined. T being the ~-Turing
•
machine of which y is a ~-string description}.
Less formally, ~ is equivalent with the set of pairs (d T , z) such that fT,I(z) is
defined.
*2 *(2)
z = ~ -to-~ (x)
- 67 -
Clearly, this procedure defines the function H of Section 5.1.2. If the set g
were decidable, this procedure would be constructive and, consequently, the
function H would be computable; less formally, the decidability of Q would imply
the solvability of the halting problem. Hence the set g is not decidable.
6.7.3. g~!~ll~!~: The set of all decidable sets of strings over a vocabulary V
is a proper subset of the set of all effectively enumerable sets of strings over V.
6.7.4. Note
6.8.1. ~_EE~~!~~~l_~~E~~!
Note that this figure represents sets of strings whereas the figure of Section
6.8.2 represents sets of sets of strings.
6.8.4. ~~!~~~!!E_~~~£~~~
[6] J.E. Hopcroft, J.D. Ullman, Formal Languages and their Relation to Automata,
Addison-Wesley, Reading (Mass.), 1969.
- 72 -
The Section Number indicates where the notation has been introduced.
{ } 1.2.2.2 V 2.1
S - T 1.3.2 A 2.5
*
1.4.2 !!,-to-('!... ' A) 2.7.1
~
1.4.2 N-to-V* 2.7.1
~
*n * 2.7.2
N 1.4.2,1.5.2 ('!... ' A)-to-(~ , B)
F(a l , ... , a )
n
1.4.3 V* -to-W* 2.7.2
F S -+ T 1.4.3 9. 3.4.1
F 1.4.5 qs 3.4.1
-n -
I 3.4. I eT 4.1.1
f3 3.4.3.3 4.1.2
Q=!>
T ~
Q=!> f3 3.4.3.3 dT 4. I .2
f 3.4.5 AS 6.2. I
T,n
qf 3.8. I DS 6.2. I
- 74 -
The Section Number indicates where the concept has been introduced.
ID 3.4.2
initial (instantaneous description) 3.4.2.3
injective 1.4.5
instantaneous description 3.4.2
instruction 3.4.1
interpretation (of a string) 2.4.2
intersection 1.3.2
inverse (function) 1.4.5
- 75 -
mapping 1.4.1
monoid 2.1
object 1.1
occurrence 2.1
operation 1.4.1
ordered sequence 1.2.1
pair 1.2.1
partial computable 3.6
partial function 1.5.2.2, 2.2
predicate 1.5.1
procedure 3.2, 3.7
proper (subset) 1.3.1
proper (substring) 2.1
range 1.4.2
relation 1.5.1
set 1.2.1
setproduct 2.3
solvable 5.1.5
start state 3.4.1
state (of a Turing machine) 3.4.1
string 2.1
string description 4.1.2
subset 1.3.1
substring 2.1
symbol 2.1
- 76 -
TM 3.4.1
total computable 3.6
total (function) 1.5.2.2, 2.2
Turing machine 3.4.1
value 1.4.1
vocabulary 2.1
y-string description 4.1.2
y-string function 2.2
V-TM 3.4.1
y-Turing machine 3.4.1
Lecture Notes in Economics and Mathematical Systems
(Vol. 1-15: Lecture Notes in Operations Research and Mathematical Economics, Vol. 16-59: Lecture Notes in
Operations Research and Mathematical Systems)
Vol. 1: H. Bilhlmann, H. Loeffel, E. Nievergelt, Einfilhrung in die Vol. 36: M. P. J. Magill, On a General Economic Theory of Motion.
Theorie und Praxis der Entscheidung bei Unsicherheit 2. Auflage, VI, 95 pages. 4°. 1970. OM 16,-
IV, 125 Seiten 4°.1969. OM 16,- Vol. 37: H. Milller-Merbach, On Round.()ff Errors in Linear Program-
Vol. 2: U. N. Bhat, A Study of the Queueing Systems M/G/1 and ming. VI, 48 pages. 4°.1970. OM 16,-
GIIM/1. VIII, 78 pages. 4°.1968. OM 16,- Vol. 38: Statistische Methoden I, herausgegeben von E. Walter. VIII,
Vol. 3: A Strauss, An Introduction to Optimal Control Theory. VI, 338 Seiten. 4°. 1970. OM 22,-
153 pages. 4°.1968. OM 16,- Vol. 39: Statistische Methoden II, herausgegeben von E. Walter. IV,
Vol. 4: Einfilhrung in die Methode Branch and Bound. Herausgegeben 155 Seiten. 4°. 1970. OM 16,-
. von F. Weinberg. VIII, 159 Seiten. 4°.1968. OM 16,- Vol. 40: H. Orygas, The Cocrdinate-Free Approach to Gauss-Markov
Vol. 5: Hyvarinen, Information Theory for Systems Engineers. VIII, Estimation. VIII, 113 pages. 4°. 1970. OM 16,-
205 pages. 4°.1968. OM 16,- Vol. 41 : U. Ueing, Zwei Losungsmethoden fOr nichtkonvexe Program-
Vol. 6: H. P. Kilnzi, O. Milller, E. Nieverllelt, Einfilhrungskursus in mierungsprobleme. VI, 92 Seiten. 4°.1971. OM 16,-
die dynamische Programmierung. IV, 103 Seiten. 4°. 1988. OM 16,- Vol. 42:' A V. Balakrishnan, Introduction to Optimization Theory in
Vol. 7: W. Popp, Einfilhrung in die Theorie der Lagerhaltung. VI, 173 a Hilbert Space. IV, 153 pages. 4°.1971. OM 16,-
Seiten. 4°. 1968. OM 16,- Vol. 43: J. A Morales, Bayesian Full Information Structural Analysis.
Vol. 8: J. Teghem, J. Loris'Teghem, J. P. Lambotte, Modeles d'Attente VI, 154 pages. 4°.1971. OM 16,-
MIGl1 et Gr/M/1 a Arrivees et Services en Groupes. IV, 53 pages. Vol. 44: G. Feichtinger, Stochastische Modelle demographischer Pro·
4°.1969. OM 16,- zesse. XIII, 404 pages. 4'. 1971. OM 28,-
Vol. 9: E. Schultze, Einfilhrung in die mathematischen Grundlagen der Vol. 45: K Wendler, Hauptaustauschschritte (Principal Pivoting). II,
Informationstheorie. VI, 116 Seiten. 4°. 1969. OM 16,- 64 pages. 4°. 1971. OM 16,-
Vol. 10: O. Hochstadter, Stochastische Lagerhaltungsmodelle. VI, Vol. 46: C. Boucher, L~ons sur la theorie des automates mathemati-
269 Seiten. 4°. 1969. OM 18,- ques. VIII, 193 pages. 4 .1971. OM 18,-
Vol. 11/12: Mathematical Systems Theory and Economics. Edited by Vol. 47: H. A. Nour Bdin, Optimierung Ii nearer Regelsysteme mit
H. W. Kuhn and G. P. Szego. VIII, IV, 486 pages. 4°. 1969. OM 34,- quadrati scher Zielfunktion. VIII, 163 pages. 4°. 1971. OM 16,-
Vol. 13: Heuristische Planungsmethoden. Herausgegeben von F. Vol. 48: M. Constam, Fortran fOr Anfanger. VI, 143 pages. 4°.1971.
Weinberg und C. A Zehnder. II, 93 Seiten. 4°. 1969. OM 16,- OM 16,-
Vol. 14: Computing Methods in Optimization Problems. Edited by A. Vol. 49: Ch. SchneeweiB, Regelungstechnische stochastische Opti-
V. Balakrishnan. V, 191 pages. 4°.1969. OM 16,- mierungsverfahren. XI, 254 pages. 4°.1971. OM 22,-
Vol. 15: Economic Models, Estimation and Risk Programming: Essays Vol. 50: Unternehmensforschung Heute - Ubersichtsvortrage der
in Honor of Gerhard Tintner. Edited by K A Fox, G. V. L. Naraslm- Zilricher Tagung von SVOR und OGU, September 197':>. Heraus-
ham and J. K Sengupta. VIII, 461 pages. 4°. 1969. OM 24,- gegeben von M. Beckmann. VI, 133 pages. 4°.1971. OM 16,-
Vol. 16: H. P. Kilnzi und W. OetUi, NichtlineareOptimierung: Neuere Vol. 51: Oigitale Simulation. Herausgegeben von K Bauknecht und
Verfahren, Bibliographie. IV, 180 Seiten. 4°.1969. OM 16,- W. Net. IV, 207 pages. 4°.1971. OM 18,-
Vol. 17: H. Bauer und K Neumann, Berechnung optimaler Steuerun· Vol. 52: Invariant Imbedding. Proceedings of the Summer Workshop
gen, Maximumprinzip und dynamische Optimierung. VIII, 188 Seiten. on Invariant Imbedding Held at the University of Southern Californoa,
4°.1969. OM 16,- June - August 1970. Edited by R E. Bellman and E. O. Denman. IV,
Vol. 18: M. Wolff, Optimale Instandhaltungspclitiken in einfachen 148 pages. 4°.1971. OM 16,-
System en. V, 143 Seiten. 4°.1970. OM 16,- Vol. 53: J. Rosenmilller, Kooperative Spiele und Markte.IV, 152 pages.
Vol. 19: L. Hyvarinen, Mathematical Modeling for Industrial Processes. 4°. 1971. OM 16,-
VI, 122 pages. 4°.1970. OM 16,- Vol. 54: C. C. von Weizsacker, Steady State Capital Theory. III, 102
Vol. 20: G. Uebe, Optimale Fahrplane. IX, 161 Seiten. 4°. 1970. pages. 4°.1971. OM 16,-
OM 16,- Vol. 55: P. A. V. B. Swamy, Statistical Inference in Random Coef-
Vol. 21: Th. Liebling, Graphentheorie in Planungs· und Tourenproble· ficient RegreSSion Models. VIII, 209 pages. 4°. 1971. OM 20,-
men am Beispiel des stadtischen StraBendienstes.IX,118 Seiten. 4°. Vol. 56: Mohamed A 8-Hodiri, Constrained Extrema Introduction
1970. OM 16,- to the Differentiable Case with Economic Applications. III, 130 pages.
Vol. 22: W. Eichhorn, Theorie der homogenen Produ ktionsfunktion. 4°.1971. OM 16,-
VIII, 119 Seiten. 4°.1970. OM 16,- Vol. 57: E. Freund, Zeitvariable MehrgrOBensysteme. VII, 160 pages.
Vol. 23: A. Ghosal, Some Aspects of Queueing and Storage Systems. 4°.1971. OM 18,-
IV, 93 pages. 4°. 1970. OM 16,-
Vol. 58: P. B. Hagelschuer, Theorie der linearen Oekornposition.
Vol. 24: Feichtinger, Lernprozesse in stochastischen Automaten. V, VII, 191 pages. 4°.1971. OM 18,-
66 Seiten. 4°.1970. OM 16,-
Vol. 59: J. A Hanson, Growth in Open Economics. IV, 127 pages.
Vol. 25: R Henn und O. Opitz, Konsum· und Produktionstheorie. I. 4'.1971. OM 16,-
11,124 Seiten. 4°.1970. OM 16,-
Vol. 60: H. Hauptmann, Schatz· und Kontrolltheorie in stetigen dy·
Vol. 26: O. Hochstadter und G. Uebe, Okonometrische Methoden. namischen Wirtschaftsmodellen. V, 104 pages. 4°. 1971. OM 16,-
XII, 250 Seiten. 4°. 1970. OM 18,-
Vol. 61: K. H. F. Meyer, Wartesysteme mit variabler Bearbeitungs-
Vol. 27: I. H. Mufti, Computational Methods in Optimal Control Prob· rate. VII, 314 pages. 4°.1971. OM 24,-
lems. IV, 45 pages. 4°.1970. OM 16,-
Vol. 62: W. Krelle u. G. Gabisch unter Mitarbeit von J. Burgermeister,
Vol. 28: Theoretical Approaches to Non·Numerical Problem Solving. Wachstumstheorie. VII, 223 pages. 4°.1972. OM 20,-
Edited by R B. Banerjl and M. O. Mesarovic. VI, 466 pages. 4°. 1970.
OM 24,- Vol. 63: J. Kohlas, Monte Carlo Simulation im Operations Research.
Vol. 29: S. E. Bmaghra'?,Y, Some Network Models in Management VI, 162 pages. 4°. 1972. OM 16,-
Science. III, 177 pages. 4 . 1970. OM 16,- Vol. 64: P. Gessner u. K Spremann, Optimierung in Funktionen·
Vol. 30: H. Noltemeier, Sensitivitatsanalyse bei diskreten Ii nearen raumen.IV, 120 pages. 4°. 1972. OM 16,-.
Optimierungsproblemen. VI, 102 Seiten. 4°.1970. OM 16,-
Vol. 65: W. Everling, Exercises in Computer Systems Analysis.
Vol. 31: M. KUhlmeyer, Die nichtzentrale t-Verteilung. II, 106 Seiten. VIII, 184 pages. 4°.1972. OM 18,-
4°.1970. OM 16,-
Vol. 66: F. Bauer, P. Garabedian und O. Korn, Supercritical Wing
Vol. 32: F. Bartholomes und G. Hotz, Homomorphismen und Reduk- Sections. V, 211 pages. 4°.1972. OM 20,-.
tionen linearerSprachen. XII, 143 Seiten. 4°.1970. OM 16,-
Vol. 67: I. V. Girsanov, Lectures on Mathematical Theory of Extremum
Vol. 33: K Hinderer, Foundations of Non-stationary Dynamic Pro- Problems. V, 136 pages. 4°.1972. OM 16,-.
gramming with Discrete Time Parameter. VI, 160 paRes. 4°. 1970.
OM 16,- Vol. 68: J. Loeckx, Computability and Oecidability. An Introduction
for Students of Computer Science. VI, 76 pages. 4°.1972. OM 16,-
Vol. 34: H. Stormer, Semi-Markoff·Prozesse mit endlich vielen Zu·
standen. Theorie und Anwendungen. VII, 128 Seiten. 4°. 1970.
OM 16,-
Vol. 35: F. Ferschl, Markovketten. VI, 168 Seiten. 4°. 1970. OM 16,-