COMPUTABLE FUNCTIONS
By
LOUIS F. WILLIAMS, JR.
A DISSERTATION PRESENTED TO THE GRADUATE COUNCIL OF
THE UNIVERSITY OF FLORIDA
IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE
DEGREE OF DOCTOR OF PHILOSOPHY
UNIVERSITY OF FLORIDA
1970
To my wife
ACKNOU, JLEDGRENTS
The author wishes to extend his appreciation to Dr. Ralph G.
Selfridge for his helpful suggestions in the preparation of this paper,
and to acknolcdge Dr. Alexander R. Bednarek, Dr. A. D. Wallace,
Dr. Richard L. Patterson, and Dr. Ludvik Janos for serving on his
Supervisory Committee. For typing assistance, he is indebted to
Mrs. Barbara Altieri.
TABLE OF CONTENTS
Page
ACKNO LEDGMENTS . . . . . . . . . .
ABSTRACT . . . . . . . . . . .
Chapter
I. INTRODUCTION . . . . . . . .
II. POSSIBLY COMPUTABLE FUNCTIONS OF ONE VARIABLE .
III. POSSIBLY COMPUTABLE FUNCTIONS OF MANY VARIABLES
IV. QCOMPUTABLE FUNCTIONS . . . . . .
V. COMPUTABLE FUNCTIONS . . . . . .
VI. THE MULTIPLICATION AND DIVISION OPERATORS . .
VII. COMPUTABLE POLYNOMIALS. . . . . . .
VIII. COMPOUND COMPUTABLE FUNCTIONS . . . . .
IX. CONCLUSION. . . . . . . . . .
BIBLIOGRAPHY . . . . . . . . . .
BIOGRAPHICAL SKETCH . . . . . . . . .
. . . iii
. . . 1
. . . 9
. . . 22
. . . 31
. . . 41
. . . 61
. . . 87
. . . 102
. .
Abstract of Dissertation Presented to the Graduate Council of the
University of Florida in Partial Fulfillment of the Requirements
for the Degree of Doctor of Philosophy
COMPUTABLE FUNCTIONS
By
Louis F. Williams, Jr.
June, 1970
Chairman: Dr. Ralph G. Selfridge
Major Department: Mathematics
This is an abstract mathematical study of a modern digital
computer and its computable functions.
The computer system is the major defined term of the study. A
computer system is represented by a sextuple (X, G 01, 02, L L).
The first component of the sextuple is the computer number set. This
number set is a finite subset of the rational numbers containing zero
and closed under additive inverses. The second component is the com
puter addition function. The ordered pair (X, (D) is assumed to have
all properties of an Abelian group with the exception of the associative
property. The third and fourth components are sets of singular and
binary, respectively, numerical operators. The fifth and sixth com
ponents are sets of singular and binary, respectively, logical
operators.
The fixed point and floating point number sets are two impor
tant examples of computer number sets. These number sets would depend
on the base of the number system. A fixed point number set would
contain all the numbers which have a bary representation of a fixed
number of digits before and after the bary point. A floating point
number set would contain all the numbers which have a bary scientific
representation in normal form of a fixed number of digits for the
fraction and characteristic fields.
In this study pcomputable functions are defined to be functions
from a nproduct space of X into a mproduct space of X. The theory is
developed to study the approximation of functions defined on a nproduct
of intervals into a mproduct of intervals. In this theory pcomputable
functions in composition with a truncating function are shown to be
dense, with the uniform norm, to the set of all continuous functions
defined on a nproduct of intervals.
A subset of the set of pcomputable functions is the qcom
putable functions. The evaluation of a qcomputable function at any
point is defined to be a finite ( sum of numbers from X. During the
D sum operation numerical operators are allowed to generate numbers
from X for the sum. These qcomputable functions are show to be closed
under functional composition.
A standard type algorithm is used to define a computable
function. In the evaluation of a conputable function at any point the
algorithm directs a machine which possesses a finite but unlimited
storage area for numbers from X and a sum register. The sum register
performs the sum operation. The number in the sum register when the
machine stops is the value of the function for the point under con
sideration. Different options are available in the calculating process
through the use of logical operators. These computable functions are
shown to be closed under functional composition.
The multiplication and division operators for X, which are
computable functions, are defined by flow charts for all binary fixed
vi
point computer number sets. Then these operators are used to define
computable polynomials and rational polynomials. The computable poly
nomials in composition with a truncating function are shown to be dense
to the set of all polynomials with coefficients having finite binary
representations defined on the unit interval. Since these binary
polynomials are dense in the set of all continuous functions defined on
the unit interval, then the computable polynomials in composition with
a truncating function are dense, with the uniform norm, to the set of
all continuous functions defined on the unit interval.
CHAPTER I
INTRODUCTION
This is an abstract mathematical study of a modern digital com
puter and its computable functions. In a digital computer the basic
operation is addition. The three other arithmetic operationssub
traction, multiplication, and divisionare obtained from special
electronic circuits which make use of the addition circuit. The com
putable functions for a digital computer are then derived by making use
of these four arithmetic operations. Power series approximations are
used in the case of exponentiation.
The base of the number system used in the computer is a very
important design consideration for efficiency of operation. If this
design consideration were to be waived, then any base could be used.
In the modern computers, number systems of bases 2, 8, 10, and 16 are
used. In most business work, numbers are completely processed in base
10 since a minimum of numerical operations are involved. In scientific
work, where more numerical operations are involved, the numbers are
processed in a base 2, 8, or 16 after being converted from base 10.
Since the digits of numbers are processed in binary bits of information,
then the processing of numbers in base 8 or 16 would be very similar to
that of numbers in base 2. The binary bit of information could be a
diode conducting or not conducting, or a metal ring magnetized or not
magnetized. A number system with a base of some power of two would
make the most efficient use of this type flow of information.
In this study the following three items are the important
assumptions about the computer:
(1) The computer has a finite but unlimited storage (i.e.,
a finite number of metal rings).
(2) The computer has a finite but unlimited number of
different internal configurations (i.e., a finite number
of diodes) .
(3) The calculation for a computable function must end
after a finite but unlimited amount of time.
The computer system is the major defined term of this study.
1.1 DEFINITION: Define the sextuple (X, @ 01, 02, L1, L2) to be a
computer sys ter where
(1) X = I xi I i = O,+l,+2,...,+r 3 is a computer number set,
(2) D :XxX, X is a computer addition function for X,
(3) 01(X) = { si:X  X 1 < i < rI is a set of singular
numerical operators for X,
(4) 02(X) = { ti:XxX X I 1 i < r23 is a set of binary
numerical operators for X,
(5) L(X) = ( ui:X [ T,F } 1 i r3 ) is a set of
singular logical operators for X, and
(6) L2(X) z= [ vi:XxX [( T,F } I 1 i < r4 is a set of
binary logical operators for X.
The elements of a computer number set X are the numbers which
are read into, used in, and read out of the computer during the calcu
nation of a function. In the case where the numbers are read in and read
out in one base and converted to a second base for processing, the ele
ments of the set X would be the numbers in the second base.
The first property of this set X is that it has a finite
cardinality. Since different numbers must produce different internal
configurations in the computer during the calculation, then this
property follows from the assumption that there is only a finite number
of these different configurations. This would not be the case in an
analog computer where resistors, capacitors, and coils can be varied to
induce new numbers into the calculations.
The second property of X is that it is a subset of the rational
numbers. Since an irrational number would have an infinite bary
representation in any number system, then for an irrational number to
be an element of X, the computer must be capable of processing an
infinite number of digits. This property follows from the assumptions
that the computer has a finite storage and a finite number of different
internal configurations. Also, since for any finite set of rational
numbers there exists a base for a number system where all elements of
the set have a finite bary representation, then all rational numbers
are possible candidates to be elements of the computer number set.
The final property of X is that zero is an element and the
additive inverse of every element of X is also an element of X.
The floating point and fixed point computer number sets are
two examples of number sets commonly used in computers. A floating
point computer number set of base b would be all the numbers of the
form
j.xx2...x. b 2 yk
where the xi and yj are digits in the base b number system. A fixed
point computer number set of base b would be all the numbers of the form
+x12. ..xk.yly2.. .yj
where the xi and yi are digits in the base b number system.
The computer addition function D :XxX  X is the basic function
of the computer. The other three arithmetic operationssubtraction,
multiplication, and divisionare obtained through the use of this
function. The function is assumed to be commutative but not necessarily
associative since rounding off numbers back into X could be involved.
As an example, if X is all the numbers of the form
x = +.X1X2X3 1Oyy172
where xi's and Yi's are digits in base 10 and xl = 0 if and only if
x = 0, then
02 02 01
(.104 1002 .204 10 ) .314 10 =
(.308 1002 e .314 1001) = .345 1001
and .104 1002 (.204 10"02 @ .314 1001) 
02 01 01
(104 1002 .334 1001) = .344 1001
Since is an addition function, then one requires that x E 0 = x for
every element x of X. One should note that (X,e) would be an Abelian
group if were assumed to be associative.
From this binary addition function a singular addition
function is obtained for each element y of X
y:X > X defined by y(x) = y @ x
by holding the first argument in the addition function fixed. In the
computer the calculations can be considered as compositions of these
singular addition functions.
An element of the sets of singular or binary numerical operators
01(X) or 02(X), respectively, would represent a special electronic
circuit within the computer, other than the addition circuit, to generate
a new number in X from one or two other numbers in X. Common examples
would be
(1) s(x) = x.
(2) s(+xlx2x3.y1Y2Y3) = ix2x371Y72Y30.
(3) s(x1x2x3.y1y2Y3) = +x1x21.ylY2Y3*
The first operator would be used in subtraction, the second in multi
plication, and the third in division.
An element of the sets of singular or binary logical operators
L1(X) or L2(X), respectively, would also represent a special electronic
circuit within the computer to check a certain condition. Examples
would be
(1) u( xlx2x33.ylY2Y3) :: T if and only if x3 0.
(2) v(x,y) = T if and only if xy 2 0.
(3) v(x,y) = T if and only if x < y.
In the operation of a computer the numbers used are never
"born" in the computer. Numbers used in the calculation of a function
are obtained from the following three methods:
(1) the numbers read into and stored in the computer as the
arguments of the function,
(2) the numbers in storage from previous calculations for
the function, and
(3) the numbers obtained from operators in 01(X) and 02(X)
acting on numbers in storage.
The numbers as generated are assumed to be stored in the computer for
future use but only numbers in the arguments of the function are avail
able at the start.
For a computer number set X, with a finite number of rational
numbers as elements, there can only be a finite number of different
candidates for 01(X), 02(X), L1(X), and L2(X) In the case of
01(X), 02(X), L1(X), and L2(X) there are only a finite number of dif
ferent functions which are possible candidates as elements. Hence,
there are only a finite number of different computer systems having a
fixed computer number set X. Since a computer number set is a finite
subset of the rational numbers, a countable set, then there are only
countably many different computer number sets. Therefore, there are
only countably many different computer systems.
A possibly computable, pcomputable, function on the computer
number set X, the definition to be given in Chapter III, would be of
the form f:Xn > Xm where Xn and Xm are the nth and mth, respectively,
product spaces of X. Since for any ordered pair (n,m) of positive
integers there is only a finite number of different functions
f:Xn > Xm and the ordered pairs (n,m) are countable, then there are
only countably many diElfrent possibly computable functions on the
computer number set X. Also, since the computer number sets are
countable, then there are only countably many different possibly com
putable functions. These possibly computable functions in composition
with a truncating function will be shown to be dense, in uniform norm,
to the set of all continuous functions of the form
n m
g: x [ ai,b.] x [ c ,d ] .
i=l i=
A qcomputable function on the computer number set X will be
defined in Chapter IV. In this definition the evaluation of a qcom
putable function at any point would be a finite Osum of numbers from
X of the form
f(x1'x2,...,xn) = ykYk1...y2yl(0)
= yk( (Ykl( (y2(y10)) ..)) .
The numbers used in this finite sum would be obtained from special
electronic circuits, represented as numerical operators, acting on
numbers generated from the arguments of the function. These qcomputable
functions will be shown to be closed under functional composition.
In Chapter V a standard type algorithm will be used to define
a computable function. The algorithm will be used in conjunction with
a finite but unlimited storage area for numbers fron the computer number
set X and a sum register. The sum register will perform the sum
operation for numbers in X. If x an element of X is the current
number in the sum register, then the number y an elrnent of X could be
added to the sum register. This .sum would be represented by
y(x) = y x
and would become the new number in the sum register. The functions
defined by such algorithms will be shown to be closed under functional
composition. A connection will then be made between these computable
functions and the qcomputable functions of Chapter IV.
In Chapter VI the multiplication and division operators will
be defined for every binary fixed point computer number set. These
operators will be defined by flow charts for their respective computer
number sets. In the case of one binary fixed point computer number set,
a computer system will be defined with numerical and logical operators
and the multiplication and division algorithms determined.
In Chapter VII these multiplication and division operators will
be used to define computable polynomials and rational polynomials. The
computable polynomials in composition with the truncating function will
be shown to be dense, with the uniform norm, to the set of all poly
nomials with coefficients having finite binary representations, to be
called binary polynomials, defined on the unit interval. Since these
binary polynomials are dense in the set of all continuous functions
defined on the unit interval, then the computable polynomials in com
position with the truncating function are dense to the set of all con
tinuous functions defined on the unit interval. In the case of rational
polynomials, the computable rational polynomials in composition with
the truncating function will be shown to be dense to the set of all
binary rational polynomials defined on the unit interval.
In Chapter VIII the multiplication and division operators will
be defined for every binary floating point computer number set. These
operators will be defined through the use of compound computable
functions. Through the use of compound computable functions, a floating
point computer number set will be thought of as two fixed point com
puter number sets. One of the fixed point computer number sets would
be from the fractional field of the floating point number, while the
other would be from the characteristic field of the floating point
number.
CHAPTER II
POSSIBLY COMPUTABLE FUNCTIONS OF ONE VARIABLE
The first area to be investigated in a computer system, to
determine its computable functions, is the computer number set. The
elements of a computer number set would be the numbers which are read
into, used in, and read out of the computer during the calculation of
a function.
2.1 DEFINITION: Define the ordered set of rational numbers
X = xi i = 0,+l,+2,...,+r ]
to be a computer ni'mber set where
(1) r 1,
(2) X0 = 0,
(3) xi = xi for 1' i r, and
(4) xiI < xi for 1 < i r.
In this definition, the additive unit and inverses are from
the real number group under the standard addition function. The
floating point and fixed point computer number sets are two examples
of number sets commonly used in computers.
2.2 DEFINITION: Define the floating point computer number set
X(b; j, k) to be all the numbers of the form
y 1 2"
where the xi's and the yi's are digits in the base b number system and
xI = 0 if and only if x = 0.
2.3 DEFINITION: Define the fixed point computer number set X(k, j; b)
to be all the numbers of the form
x = 1x2 ...xk.y1y2...yj
where the xi's and yi's are digits in the base b number system.
If more precision is needed in the calculation of a function by
a computer system, then a larger number set would be used.
2.4 DEFINITION: Let X and Y be computer number sets. Define X to be
a refinement of Y (or X refines Y) if Y G X.
If given any computer number set, then there exists a floating
point or fixed point refinement. The base of the floating point or
fixed point refinement is dependent on the given computer number set.
2.5 LEMA: Let Y be a computer number set. Then there exists a
floating point [fixed point] computer number set X which refines Y.
In the case of the floating point number set X(b; j, k), or in
the case of the fixed point number set X(k, j; b), b can be obtained
as the least common multiple of the integral denominators of the
rational numbers in the set Y. Then j and k are selected sufficiently
large to include all numbers of the set Y. In the material which
follows, X will always signify the computer number set
( xi I i = 0,+l,2, . .,r ) .
An important property of X is the maximum spacing between its elements.
In a fixed point number set the spacing between elements is constant,
while in a floating point number set several different spacings exist.
2.6 DEFINITION: Define uX to be the mesh of X where
uX = MAX t xi xil  1 i < r .
Let [a,b] = x I a < x < b R where xr < a < b < x.
Define
x = MIN x E X x b}
and x = IMX x E X x a) .
Then define uxab to be the mesh of X for [a b] where
a,b < Xi 
ux = MAX { xi xi x
The denseness of the rational numbers on the real line allows
the mesh of a computer number set for a closed interval to be selected
arbitrarily small.
2.7 LEMMA: Let al, a2 be real numbers with al < a2 and E > 0.
If b is an integer greater than one, then there exists a floating point
[ fixed point ]computer number set with base b such that
(1) xr < al,
(2) xr > a2, and
(3) ux < E.
The construction of X(b; j, k) or X(k, j; b), in the last lemma,
requires that k be selected first sufficiently large to satisfy con
diticns (1) and (2), then j be selected sufficiently large to satisfy
condition (3). Since functions defined on X with their range contained
in X are the only candidates for coimputable functions, then one has the
definition of a pcomputable function.
2.8 DEFINITION: Define a function f to be a pcc.utable function
on X if f: X + X. The set of all pcomputable functions on X is
C(X) = ( fi: X X I 1 < i < (2r 1)(2r + 1)
Two important functions which are dependent on X are the
truncating and rounding off functions for X.
2.9 DEFINITION: Define the truncating function for X
[ ] : R X by [ y ]1 :: MIAX { x X I x y } if y 0 and
[ y 1 MI [ x E X x > y } if y < 0.
Define the rounding off function for X 2: R X by [ y]2 z
if there exists a unique z E X such that
y z = MIN ( y x x X
and [y 2 = [ Y ]1 if there does not exist such a unique z 6 X.
These functions tend to displace the points on the real line.
2.10 LEMMA: If y E R and x < y < hen
SY [ y 1 < uX
and y [ y] 2 uX/2.
The following definitions will aid the notation.
2.11 DEFINITION: Define [a,b] to be within X if
x < a < b < x.
r
Define the function g: [ a,b] [c,d] to be within X if [ a,b] and
[ c,d are within X. Let [a,b] be within X. Define
A AJ i = 0,+,2, ... ,r }
to be the partition of [ a,b] induced by X where
Ai = (y E [a,b] [ y]1 = x .
The fact that some of the sets of this partition of [a,b]
have no maximum or minimum element is an important property which will
be used later.
2.12 LEKMA: Let [a,b] be within X and [ Ai i = 0,1l,+_2,...,J+r
be the partition of [a,b] induced by X.
(1) If a c < b, c 0, and c E A., then there exists
d E Ai with d > c.
(2) If a < c < b, c 0, and c E Ai, then there exists
d E Ai with d < c.
This property follows from the set Ai being open at the proper
end. By making use of the truncating function, one can study the
approximation of bounded functions defined on a closed interval by com
putable functions.
2.13 DEVINITION: Let g: [a,b] * [c,d] be within X and E >0.
Define the function g to be pOcr.putable within E on X if there exists
a pcomputable function f on X such that for every y C [ a,b]
Sg(y)  f( [y] 1) E.
This definition leads to the elementary theorem about the
refinement of a computer number set.
2.14 THEOREM: Let Y be a refinement of X, g: [ a,b] 4 [c,d] be
within X, and E > 0. If g is pcomputable within E on X, then g is
pcomputable within E on Y.
Proof:
Let g be pcomputable within E on X by f. Define h: Y I Y
by h(y) = f( [ y ]X) Let y E [ a,b Since [[ y ]Y] = [ y] X
then
g(y) h( y ]) = g(y) f( [ [y] X)
1 1
= g(y) f( [ y] )j < .
Hence, g is pcomputable within E on Y by h.
A function which will be used in some of the following proofs
is the embedding function of X.
2.15 DEFINITION: Let [a,b ] be within X. Define the embedding
function of X into [ a bI [ ]3: X [a,b by [x ]3 b if
x >b, [x] = x if a < x< b, and [ x ] = a if x< a.
One now obtains the important theorem which states that a
continuous function defined on a closed interval can be approximated
within any limit by a pcomputable function in composition with the
truncating function or that the set of all pcomputable functions is
dense, in some sense, to the set of all continuous functions defined
on a closed interval. In Chapter VII, a "small" subset, the set of
computable polynomials, of the set of all pcomputable functions will
be shown to be dense in this same sense to the set of all continuous
functions defined on the unit interval.
2.16 THEOREM: Let g: [a,b ] [c,d] be continuous and E >0.
Then there exists a floating point [fixed point] computer number set
X for any base such that g is pcomputable within E on X.
Proof:
Since g is continuous on [a,b] then g is uniformly continuous
on [ a,b] Since g is uniformly continuous on [a,b] then there
exists 6 > 0 such that x, y E [a,b ] and xy < 6 implies
I g(x) g(y) < E/2. Let Y = IN E 6, E). By Lemma 2.7 there
exists a floating point [ fixed point] computer number set X for any base
such that
xr < MIN I a,c) < MAX ( b,d } < xr
and uX < Y/2.
Define f: X  X by f(x) = [ g( [x ]3) ]2. Let y E [ a,b] .
Then
Sg(y)f([ Y]) I= g(y) [g([[ y] )] 2
Sg(y)g( [[yl ]3) + I g([[ y]1]3) [g([[ ] ]3) 32
< 6/2 + C/2 = E
since Iy [[ y]1 ]3I < uX y/2 < Y < 6 Hence, g is pcomputable
within E on X.
This is not true in the case of piecewise continuous functions
defined on a closed interval even if one restricts the points of dis
continuity to rational numbers.
2.17 THEOREM: There exists a pieceawise continuous function
g: a,b] [c,d] with an irrational point of discontinuity such that
for every 6 0 < E < (d c)/2, g is not pcomputable within E by any X.
Proof:
Let e be irrational and a < e< b. Define g: [a,b ' [c,d]
by g(x) = c if x < e and g(x) = d if x e. Let X be any computer
number set such that g is within X and f be any pcomputable function
on X. Also, let x and y be such that a < x < e
[ e = [x] = [y]. These two points exist since e is irrational and
cannot be an element of X. Then
2E < d c j= g(y) g(x) I
I g(y) f([y]) I  I f(Lx ) g(x)
and g(y) f([y]l) > or I g(x) f([x]l)I >
Hence, g is not pcomputable within e on X.
2.18 THEOREM: There exists a piecewise continuous function
g: [ a,b]  [c,d] with a rational point of discontinuity such that
for every E 0 < 6 < (d c)/2, g is not pcomputable within C by any X.
Proof:
Case 1: If b > 0, then let e be rational with e > a and
0
g(x) : c if x > e. Let y be such that a < e < y < b and [0]1 = [y]l
There exists such a y by Lemma 2.12. Then by the same argument as in
Theorem 2.17, g is not pcomputable within C by any X.
Case 2: If b 0, then let e be rational with a < e
This time define g: [a,b] > [ c,d] by g(x) = c if x 5 e and
g(x) = d if x < e. Also, let y be such that a < y < e< b and
[ y] = [e l. Then by the same argument, g is not pcomputable within
by any X.
In the case of an irrational point of discontinuity, one
should note that it makes no difference whether the function is con
tinuous from the right or from the left at the point of discontinuity.
This is due to the fact that the point of discontinuity being an
irrational number cannot be an element of the computer number set.
While in the case of a rational point of discontinuity, since this
point can be an element of the computer number set, it is important
whether the function is continuous from the right or from the left at
the point of discontinuity.
2.19 THEOREM: Let g: [a,b] [ c,d] be piecewise continuous with
zi I 1 < i n3 rational points of discontinuity and E > 0. Let
(1) 0 zi 1 1 < i nI .
(2) If zi >0, then g is continuous from the right at z.
(3) If zi < 0, then g is continuous from the left at zi.
Then there exists a floating point [ fixed point ] computer number set
X such that g is pcomputable within E on X.
Proof:
Let a = z < z < z2 <... < z
be the least common multiple of the integral denominators of the
rational numbers (zi 1 < i < n} then there exists X0(e; j0, k0)
[ XO(kO' j0; ) such that zil I i n5) XO. Define
gi: [a,b] 4 [ c,d] 1 < i < n + 1 by
gi g on (z., z%),
S LIM g(x) on [ zi, b] and
g tz i
LIM
Si g(x) on [a, z i]
By Theorem 2.16 there exists Xi(e; ji, ki) [Xi(ki, ji; e)] for
1 < i < n + 1 such that gi is pcomputable within E on Xi.
Define X = X(e; j, k) [X = X(k, j; e) ] where
j MAX 0 j 1 0 1 i n + 1)
and k = MAX (k.i 0 i n + 1 .
Since X is a refinement of Xi for 1 < i < n + 1, then by Theorem 2.14
gi is pcomputable within E on X by fi. Define f: X  X by
f(x) = fl(x) if x< zl,
f(x) = fn+l(x) if x > z1,
f(x) = fi(x) if zil < x < z.,
f(zi)= fi(zi) if g is continuous from the left
at zi, and
f(zi) fi 1l(Zi) if g is continuous from the right
at z..
1
Let y E [a,b]
Case 1: Let zi_ < y z.. If z < [ y] < z., then
1 = i1 1 '
g(y) f( [y I I gy) 1 [y])
If [Y]1 z, then z < 0 (g continuous from the left at zi) and
g(y) f( [y]1) I gi() f( [Y]1)I .
If [Y] z.i1 then zil >0 (g continuous from the right at i) and
g(y) f( [Y] )I =I gi(Y) fi( [Y]1)I E
Case 2: Let y = z.. If g is continuous from the left at zi, then
g(y) f( f( fi ([Y) Y )
If g is continuous from the right at zi, then
Sg(y) f( y1)I = IY+Y) ) i 1
Hence, g is pcomputable within E on X.
A property of a function which is dependent on X is its
variation on X.
2.20 DEFINITION: Let g: [a,b] + [c,d] be within X and
[ Ai i 0,l1,+2,...,+r ) be the partition of [a,b] induced by X.
Define u to be the variation of gon where
u = MAX { Y i i = 0,+1,2, ... ,r }
and Y = SUP g(x) I x E A. INF {g(x) I x E A } .
In the above definition, one assumes SUP 0 = 0 and INF 0 = 0.
The closeness which a function can be approximated by a computable
function is indicated to some degree by its variation on X.
2.21 THEOREM: Let g: [a,b] 1 [ c,d ] be with u > 0 variation on X.
8
If 0 < E < Ug/2, then g is not pcomputable within E on X.
Proof:
Let 6 > 0 such that E < u0/2 6/2 = (u 6)/2. Then there
exists x, y E [a,b ] such that
g(x) g(y) > 6
and C x] 1 [y].
Let f be any pcomputable function on X. Then
u 6 < g(x) g(y)
< g g(x) f( [X]) +  f( [ y]) g(y) .
Then g(x) f([X] )I (u 6 )/2 > E
or g(y) f( [y]1)I (u 6)/2 > E
Hence, g is not pcomputable within E on X.
Also important in the approximation of a function by a com
putable function is the maximum slope of the function. This property,
of course, is not dependent on X.
2.22 THEOREM: Let g: [a,b] ' [c,d ] be differentiable and within X.
If Ig'(x) I M on [a,b] then g is pcomputable within
E a~b cd
6 = ub + u /2
X X /2
on X.
Proof:
Define f: X X by f(x) = [ g( [x3 )]2.
I Y C YI < ub and
I g(y) f( [Y] ) I = I
Let y E [a,b I Then
g(y) g([ [Y] 3) I
g(y) g( [ [ Y 3I1 ( C y ]13)
[g([ [y] ])]2
M y [[y]1 ]3 uXd/2
a,b c,d
Mu + ux /2.
_<
0!"
21
2.23 COROLLARY: Let g: Ca,b] Cc,d] be differentiable and within
X. If I g'(x) I M on [a,b] then g is pcomputable within
E = (M + 1/2) uX
on X.
CHAPTER III
POSSIBLY COMPUTABLE FUNCTIONS OF MANY VARIABLES
In Chapter II functions of the form f: X X were studied. In
this chapter the study will be extended to include functions of the
form f: Xn Xm where Xn and Xm are the nth, respectively mth,
product spaces of X. At first m will be restricted to one. The theory
so obtained is a special case of the general theory developed at the
end of the chapter. Also, in the special case where n and m are both
equal to one, one obtains information proved in Chapter II. Some
information proved in Chapter II cannot be extended to arbitrary
product spaces. The computer number set X will always represent
Sxi i = 0,+l,+2,...,+r .
3.1 DEFINITION: Define a function f to be a (n1)_p_ cormputable
function on X if f: Xn 4 X. The set of all (n,l) pcomputable functions
on X is
Cn(X) (f: X X 1 i (2r + 1) (2 + 1)n]
Again one restricts all closed bounded intervals of interest
to be within the range of the computer number set.
3.2 DEFINITION: Define [a ,bi] to be within X if [ ai,bi] for
i=1
1 i < n are within X. Define the function g: x Lai,b. i c,d
i=l
n
to be within X if x [ai,bi] and [c,d] are within X.
i=1
These functions defined on the Cartesian product of closed
bounded intervals are to be approximated by pcomputable functions.
n
3.3 DEFINITION: Let g: x [a.,b.] [c,d] be within X and E > 0.
i1 1
i=1
Define the function g to be pcomputable within on X if there exists
a (n,l) pcomputable function f on X such that for every
n
(yly2"'...yn) E x i,bi]
i=1
g(YIY2''.,yn) f([l] y2] 1"'"...Yn]l) .
The following extension of definitions from Chapter II will
aid the notation in this chapter.
3.4 DEFINITION: Define the truncating function for Xn [ : Rn Xn by
1
[y]1 1= (Y'Y2" ''''y) 1 (] 1' y2] 1l'''[Y n 1)
The [ ] 's on the righthand side of the above equation are obviously
the truncating function for X. Define, in the same manner, the
rounding off function for Xn [ 2: Rn > Xn by
Y] 2 1 [(y'y2'' 'yn) 2 (1 Cl]2[Y21 2* ''[yn]2)*
n
Let x [ai,b]. be within X. Define the embcddin function for
i=l
X 4n lai,bi] by
xn [ 3 i=1 [i il
C y3 (Y'Y ... Y)n 3 1 3([Y Y2 3' [Yn ]3)
The [ ] 's on the righthand side in the above equation are obviously
the embedding function of X into [a.,b] One should note that these
embedding functions are dependent on their range which is omitted in
the above notation.
These functions tend to displace the points in nspace.
3.5 LEIIA: Let the norm on Rn be the uniform norm where
1 (xl,X2,...,xn) l MlX { xi I i n
n ,bi]
Let x [ai,b i be within X. If y = (ylY2'"'.. E i 1 a,b.]
i=l i iil i 1
then
II Y y]I 1lu < UX'
Sy [[ y] ;1 u < ux,
and Iy [Y]2 u < X/2.
By selecting the uniform norm for Rn, the last lemma follows
from the fact that the inequalities hold componentwise. Since the
"standard" norm for Rn
I(xlX2'... X) = x 1/2
i=l1
is related to the uniform norm by
ll x  x   jnxl ,
u u
then one can convert most of the following theorems from the uniform
norm to the "standard" norm by making use of the constant n. The
first theorem one obtains in this chapter is the elementary theorem
on the refinement of a computer number set.
3.6 THEOREM: Let Y be a refinement of X,
n
g: x a.i,bi ] [c,d]
i=l
be within X, and E > 0. If g is pcomputable within E on X, then g
is pcomputable with E on Y.
Proof:
Let g be pcomputable within E on X by h. Define f: Y" Y by
f(y) = h([y]j). Let y E i [a ,bi] Since [1y]YX = [Y], then
g(y) f([y 1) = g(y) h( [y X)
= g(y) h([yI) < E
Hence, g is pcomputable within E on Y.
One should note the similarity of the above proof to that
given for Theorem 2.14. By making use of the uniform continuity
property of a continuous function defined on a compact set, one is led
to the important theorem which states that a continuous function can
be approximated within any limit by a pcomputable function in com
position with the truncating function.
n
3.7 THEOREM: Let g: x a.,b] [c,d ] be continuous and E > 0.
i=l
Then there exists a floating point [fixed point] computer number
set X for any base such that g is pcomputable within E on X.
Proof:
n
Since x [a.,b is compact and g is continuous, then g is
i=l
n
uniformrly continuous. Since g is uniformly continuous on x [ai,bi]
i=1
n
then there exists 6 > 0 such that x,y E x [a ,bi] and
i=l
I x y  < 6 implies g(x) g(y) I < E/2. Let Y = NIN [ 6 ,E .
u
By Lerrna 2.7
number set X
(1)
(2)
Define f
there exists a floating point [fixed point ] computer
for any base such that
xr < MIN [ F a. 1 i n ) U ( c 3],
x > MAX b[ bI 1 < i < n ) U ( d ], and
xr
(3) uX < Y/2.
: Xn + X by f(x) =
n
Sg(x3 )]2. Let y E x [ai,b .
i=l
 f([Y]) =  g(y) [g(IY]] )] 2
S g(y) g(e[y]1]3 ) +3 g([[y1]3) [g[[y]1 3)] 2
<
since I y [Y]l 311
within E on X.
E/2 + E/2 = E
< UX < Y/2
Hence, g is pcomputable
The theory on piecewise continuous functions developed in
Chapter II has no extension to a product space,while the property of
the variation of a function on X does have an extension.
n
3.8 DEFINITION: Let x [ai,b.] be within X. Define
ii
i=1
[ Ai ,... r < i. r and 1 j < n
kil,'i2, ... in
n
to be the partition of x [ai,bi induced by X where
i i
A = y E x [ab] [y] = (x ,Xj ,...,xi ) }
(il,i2,...,in) i=l bi ] 1 il' )2 n
=2 n
Then
Ig(y)
n
3.9 DEFINITION: Let g: x [a.,b.] c,d be within X and
Si 1 i
f A \ .< < ... 1 < : < _
A(I i 2\ r 1 . L r lu j 1
,(i ,i 2, .. ) n. i3
n
be the partition of x [a.,b.] induced by X. Define u
i=l
variation of g on X where
to.be the
u = MAX ( Yi ,i2 .. 2 I r < i. r and 1 j n
g (ili2,...,in J
and Y(ili ... = SUP g(x) I x A(il,i2,...,i)
INF g(x) x A 2... in
3.10 THEOREM: Let g: x [a.,b.] + [c,d] have u > 0 variation
i=l 1 g
i=1
on X. If 0 <
Proof:
Proof:
Let 6 > 0 such that C < u /2 6/2 = (u 6)/2.
n
exists x,y E x [a.bi] such that
i=l
\g(x) g(y)\ > u 6 and [x] = [ y]
a 1 1
Let f be any pcomputable function on X.
Then
Then there
u 6 < \g(x) g(y) \
I g(x) f([x1)j + I f([y]1) g(y)
Then Ig(x) f([x]l1) > (u 6)/2 > E
or Ig(y) f([y]l)I > (u 6)/2> E
Hence, g is not pcomputable within E on X.
The remainder of this chapter deals with the general theory
where functions of the form f: X" Xm are studied.
3.11 DEFINITION: Define the function f to be a (nm) pcomputable
function on X if f: Xn > Xm. The set of all (n,m) pcomputable
functions on X is
n((X) (fi : X~ X \ 1 m i < [(2r + 1)m] [(2r + 1)n]
m i
The hth component function of f is
fh rr hf: Xn 4 X for 1 < h m
where T h: Xm X is the hth projection function.
n
3.12 DEFINITION: Define g: x [a.,b.]
i=l
m
x ci.,di ] to
i=l
n in
be within X if x [ai,b and x [ci,d ] are within X.
i=l i=
n m
3.13 DEFINITION: Let g: x [a.,b.] x [c.,d.] be within X and
i=1 i=l
E > 0. Define the function g to be pcomputable within E on X if there
exists a (n,m) pcomputable function f on X such that the hth component
function of g is pcomputable within E on X by the hth component
function of f for 1 h < in.
Clearly one has the following equivalent concept.
n m
3.14 THEOREM: Let g: x [a.,b.] * x [c.,di] be within X and
il i=l
E > 0. Then the function g is pcomputable within E on X if and only
if there exists a (n,m) pcomputable function f on X such that for
n
every y x Lai,b.
i=l
I g(y) f([y]) I u E
Definition 3.13 was selected over this equivalent concept to
aid in the development of Chapter IV.
n
3.15 THEOREI4: Let g: x [a.,b.] 
i=l
E > 0. Then there exists a floating
number set X for any base such that g
Proof:
n
Let gh Tg: x [ai,b i
i=1
function of g where 1 < h < m. Since
tinuous. By Theorem 3.7 there exists
such that gh is pcomputable within E
C X = X(k, j; b)] where j = AX [jh
m
x Ec.,di] be continuous and
i=l
point [fixed point ] computer
is pcomputable within E on X.
[ ch,dhI be the hth component
g is continuous, then gh is con
Xh(b; jh,kh) [ Xh(kh, jh; b)]
on Xh. Define X = X(b; j, k)
\1 < h < m } and
k = MAX ( kh \ 1 h < m n Since X is a refinement of Xh, then by
Theorem 3.6, gh is pcomputable within E on X by fh for 1 1 h m.
Define f: Xn Xm by T hf = fh for 1 5 h < m. Hence, g is pcomputable
within E on X by f.
n m
3.16 DEFINITION: Let g: x [a.,b.i x [c.,d ] be within X and
i= 1 1 1 i
i=l i=l
A(I ) \ r i. r and 1 < j < n )
(. ,i ..,in J
n
be the partition of x [a.,b.] induced by X. Define u to be the
i=l i
variation of g on X where
u = MA [ u 1 i < m
and u is the variation of the ith component function o g on X.
and ugi is the variation of the ith component function of g on X.
30
n m
3.17 THEOREM:, Let g: x ai,b x c.,d. have u 0
i=1 i= g
variation on X. If 0 < E < Ug/2, then g is not pcomputable within
E on X.
Proof:
Let u = u where u is the variation of the hcomponent
g gh Sh
function of g on X. By Theorem 3.10, gh is not pcomputable within
E on X. Hence, g is not pcomputable within E on X.
CHAPTER IV
QCOIMPUTABLE FUNCTIONS
In Chapters II and III pccnputable functions of the form
f: Xn X were studied. In this chapter the numerical operators and
the addition function of the computer system will be investigated to
determine which of these functions can be considered qcomputable. In
Chapter V, the complete computer system will be investigated to deter
mine which of the qcomputable functions are computable. In a computer
system the most important operator on the computer number set X would
be the addition function.
4.1 DEFINITION: Define G : XxX X to be a computer addition function
for X if for every x,y E X
(1) Commutative law: x y = y x.
(2) Identity law: x D 0 = x.
(3) Inverse law: x fD x = 0.
By holding the first argument fixed in this computer addition
function a new addition function y = X 4 X is obtained for each element
y of X.
4.2 DEFINITION: Let @ : XxX 4 X be a computer addition function for X
and y E X. Define y X X to be the yth addition function on X where
y(x) = y D x
for every x 6 X. Also, define
o X X by o(x) 0
to be the clear (or zero) function on X.
The information which follows is developed for the general
computer system
(X, 01, 02, L1, L2)
where (1) X = xI i = 0,+l,2,.. ., _r is a computer number set,
(2) (: XxX X is a computer addition function for X,
(3) 01(X) = ( s.: X X 1 i r } is a set of singular
numberical operators for X,
(4) 02(X) = ti: XxX1 X I 1 < i < r2 ) is a set of binary
numerical operators for X,
(5) LX) = ( ui: X [T,F) 1 i< } s a set of singular
logical operators for X, and
(6) L2(X) = vi: XxX > (T,F }1 1 i < r 4 is a set of
binary logical operators for X.
One should note that in some definitions which follow, a term
will be given a name depending only on X while in fact the term is
dependent on the computer system.
In the calculation of a function the numbers available at each
step of the procedure would be obtained from the available number
function.
4.3 DEFINITION: Define the available number function on X
I: P(X) P(X)
where P(X) is the power set of X by
I(S) = S U S1 U S2
where
s = U 1 (S)
1 sEol s
is the set of numbers available from the singular numerical operators
and
S= t 2 t(SxS)
2 = tE 0
is the set of numbers available from the binary numerical operators.
A qcomputable function on X can now be defined by utilizing
this available number function and the singular addition functions of
Definition 4.2.
4.4 DEFINITION: Let I: P(X) P(X) be the available number function on
X. The function f: Xn , X is a(nl) qcomputable function on X if for
each (X1,x2,...,Xn) E Xn there exists a finite sequence
Syi 1 i i j 3 X such that
f(xl'x2,...,) OYJ2 +^.. y oyj ...y2(1(xi)
where
i E I(Si) 1 i < j.
The Si's are defined inductively by
S1 = xi 1 < i< n U (O ,
S2 = SL U Y1,w1) and
Sk+1 = SkU Ykwk]
A A A A A
where w=k k... y jl+ oyj ...y2l(x1).
In this definition the computability of a function is dependent
on the computer system since the available number function is dependent
1 2,
on X, 01(X), and 02(X) of the system. The definition assumes that
numbers once calculated in the computer are retained in the computer and
that supplemental calculations are carried out between the o's. One
should note that the value of the function at the point (x1,X2,...,xn)
can be reduced to the form
f(x,2,...,n) = yj.. k+1 k(0)
=j E9 (yj1 ('(yk+l (Yk 0)) ...))
which is a finite (Dsum of numbers in X.
The following two theorems yield methods to derive new
qcomputable functions from other qcomputable functions.
4.5 THEOREM: Let f: X" X and a be any permutation of the first n
integers. If the function f is qcomputable, then the function
g: Xn . X defined by
g(x1,x2,...,xn) = f(xo(1),xo(2),...,x (n))
is qcomputable.
Proof:
Let (xX2,)...,xn) E Xn. Since (xo(1),xo(2),...,xo(n)) Xn
and f is qcomputable, then there exists the finite sequence
Syi 11 i < j} Q X such that
f(x(1),x'o(2),...,xo() = Yj YJ2 Yj...y2 yjI**y2y(xO() ')
Define the finite sequence ( zi I 1 < i < j+l ) by z, = x(1) and
z. = Yi for 2 < i < j+l. Since
Yl(x o ) = ylxo(l)o(xl) = '2zlo((l)
then g(x1,x2,...,x ) = ^j+ zj..ozk ^ ..z 2 (xl).
Hence, g is computed by ( zi 1 < i < j+1 at the point (xl,x2,...,x ).
4.6 THEOREM: If the functions f: X" X and g: Xm X are qcomputable,
then the function h: X 'n1 X defined by
h(xl,...,xm,...,xmn 1) = f(g(xl,...,xm), xml1,...,xm _n1)
is qcomputable.
Proof:
Let (x ,...,xm,...,x;m.n) Xm1n1. Since (x1,x2,...,xm) E Xm
and g is qcomputable, then there exists the finite sequence
Sw I 1 < i < j } C X such that
XO = g(x1,x2, ...,xm) w...o'' 2 1+10 'j 2 .1 (Xl I
Since (x0,Xn.I1 *, *xmnl) E Xn and f is qcomputable, then there exists
the finite sequence zi 1 \ i k i) X such that
f(x0'xn ..:l'''xmIn) = Zk ... k2.. zkl+lzk ...z2zl(x )
Define yi i for 1 < i < j
and Yji = z. for 1 i < k.
Hence, h is computable at the point (xl,x2,...,xm, ... ,Xm.nl) by
[ yi 1 i < j+k ) } X.
4.7 COROLLARY: The set of all (1,1) qcomputable functions on the
computer number set X is a semigroup under functional composition.
These last two theorems lead to the theorem that qcomputable
functions are closed under functional composition.
4.8 THEOREM: If the functions f: Xn X and g: Xm X are qcomputable
and 1 < j < n, then the function h: X'"'1 X defined by
f(x ,.) ,x. ,l),xj .. ,x )
is qcomputable.
Proof:
Define the function f0: Xn  X by
f0(xO',xl ...,x' n1) f(xl, ...,jl x0,xj' ... ,xnl)'
By Theorem 4.5 the function f0 is qcomputable. Define the function
h0: X m.n1 X by
h0 (Y1'...,Yrxl,*X...,xn) = f0(g(yl, " m),0xl,...',xnl)
By Theorem 4.6 the function h0 is qcomputable. Since
h(x1' ... ,xj, j 'Y1, ',yxj ,...xj ,x 1)
f(x(...,Xj ,,(YX.."'n.,m),x,...,x
fo((Y0 1 "'Ym xl' "1" .'Xnl) '
hO(y"....,ymx1,...,xn1
then by Theorem 4,5 the function h is qcomputable.
4.9 COROLLARY: If the functions f: Xn X and g: X" X are qcom
ni
putable where 1 < m < (nl), then the function h: X > X defined by
h(x1,...,xm,...,xn1)
f(xl,. ..,xm,g(xl .' xm), x 1,..' '',xnl)
is qcomputable.
Proof:
Define the function h0: Xm"n1 * X by
'h0(x .l '..XI l'yl1***' xm 1.r.l .' xn*l )
f(xI ,... ,xm, sy, .. Y ,.,) ,x ,... ,x= n
By the theorem the function h0 is qcomputable. Let (xl,...,x ,..,xnl)
E Xn1. Since (x1,...,xm,xl,...,x ,xm+l,..., xn_) Xmin1 and the
function h0 is qcornputable, then by Definition 4.4 of a qcomputable
function, there exists the finite sequence ( y 1 < i < j ] which
computes the value of the function h0 at the point
(xl,...,xmxl,...,xm,xm 1,...,xn1) This same sequence { yi 1 i is j}
computes the function h at the point (x1,...,x ,x ,...x n). Hence,
the function h is qcomputable.
This last corollary will be used in the proof of Theorem 4.13.
Now one extends the theory of qcomputability to functions of the form
f: Xn *XmT by requiring that the component functions be qcomputable.
4.10 DEFINITION: The function f: Xn 4 Xm is a (n,m) gcomputable
function on X if the component functions of f, f. i= .f: Xn X
1 1
for 1 < i < m, are (n,l) qcomputable functions on X.
Clearly a permutation of the component functions of a qcom
putable function leads to a qcomputable function.
4.11 THEOREM: Let f: Xn > Xm and a be any permutation of the first
m integers. If the function f is qcomputable, then the function
g: Xn Xm defined by component functions
1 i < m
gi(xl'x2',...,X) = f(1)(XlX2'''''Xn)
is qcomputable.
Proof:
The theorem follows from Definition 4.10 of a (n,m) qcomputable
function.
Also, a permutation of the arguments of a qcomputable function
leads to a qcomputable function.
4.12 THEOREM: Let f: Xn" Xm and a be any permutation of the first n
integers. If the function f is qcomputable, then the function
g: X"> Xm defined by
g(x1,x2,...,xn) = f(xo(1),xo(2) ''.'xo(n)
is qcomputable.
Proof:
The theorem follows from Theorem 4.5 being applied to the com
ponent functions of g.
Then the composition of qcomputable functions is again a
qcomputable function.
4.13 THEOREM: If the functions f: Xn > Xm and g: Xk) Xj are
qcomputable where 1 < j n, then the function h: Xk+nj Xm defined by
h(xI .. .,x kxk.1 .. .,xk+nj) =
f(g(xI: ..,xk ) ,Xk 1, ... kInj)
is qcomputable.
Proof:
The proof is by induction on j. If j = 1, then the theorem
follows from Theorem 4.6 being applied to the component functions of h.
Now assume the thcorem is true for j. Let f: Xn Xm and g: Xk Xj+1
where 2 j+l 5 n. Define go: Xk Xj such that the ith component
function of g0 is equal to the ith component function of g for
1 i j. Define h0: Xk+n"j Xm by
h0(x1,X2, ... .,xk,xk+1, .. "k,xnj) =
f(g0(x1, ...,x) xk),:lX ... xk+nj)
which is qcomputable by the hypothesis. Define h: Xk+n'"j ` Xm by
h(xl,x2,"...xkxk+l, ...,xk+nj1) =
h0(x1,' .. ,k'j+l,g(x, ... .,xk) ,xk, . ,Xk+nj) =
f(g0(x,...,x k) ',j+l' g(xl' ...x 'k)k+,l' k+1 'X.k+njl) =
f(g(x ...,xk),x ,k+ ...,xk+njl
which is qcomputable by Corollary 4.9 being applied to the component
functions of h.
These last two theorems lead to the general theorem that com
putable functions are closed under functional composition.
4.14 THEOREM: If the functions f: Xn Xm and g: Xk Xj are
qcomputable where 1 < j < n and 1 < i (nj+l), then the function
h: Xk+nj Xm defined by
h(xl,...x 1Yl' "" l'Ykxe ) .x nj) =
f( ... el' g( ...Yk),xe'.. nj
is qcomputable.
Proof:
Define the function f0: Xn > Xm by
f0(Y ....yj ,xl,...,x )
f(xl,...,Xel l, 1 ... ,Y j,Xe, ... ',xj)
By Theorem 4.12 the function f0 is qcomputable. Define the function
hO: Xknj Xm by
h0 (Y1' Yk'Xl ...,)nj) =
f0(g(Yl ".' k)'x) ... Xxnj ).
By Theorem 4.13 the function h0 is qcomputable. Since
(X1,... xel'yl".. yk'kxe... x nj) =
f(x1,...,xe2lg(y1,...,yk),xe,...,xnj)
f0o((Yl"...,yk),xl,...,x_) =
hO(Y,1' ,Yk,1, ... ,xnj),
then by Thcorem 4.12 the function h is qcomputable.
CHAPTER V
COIMUTABLE FUNCTIONS
In this chapter a standard type algorithm is used to define a
computable function. The functions defined by such algorithms are
shown to be closed under functional composition. A connection is then
made between these computable functions and the qcomputable functions
of Chapter TV.
The algorithm is to be used in conjunction with a finite but
unlimited storage area for numbers from the computer number set X and
a sum register. The sum register would perform the Dsum operation for
numbers in X. If x an element of X is the current number in the sum
register, then the number y an element of X could be added to the sum
register. This sum would be represented by
y(x) = y x
and would become the new number in the sum register.
5.1 DEFINITION: Let (X, , 01, 02, L1, L2) be a computer system where
(1) X { xil i = 0,+1,+2,..,Irl is a computer number set,
(2) : XxX X is a computer addition function for X,
(3) 0 (X) = ( si: X X  1 g i rl ) is a set of singular
numerical operators for X,
(4) 02(X) = ( ti: XxX .4 X 1 i r2) is a set of binary
numerical operators for X,
(5) L1(X) ui: X [T,F3 I 1 i r3} is a set of
singular logical operators for X, and
(6) L2(X) = [ vi: XX > T,F} 1 i < r4 is a set of
binary logical operators for X.
In order to define an algorithm for a computable function, one must
first define a few operations.
(1) INITIALIZING OPERATION: For the point (X1,x2,...,xn) of
Xn, the initializing operation when executed causes the number xi to be
loaded into storage location i where 1 i < n, the number xl to be
loaded into the sum register, the number zero to be loaded into storage
location zero, and all other storage locations to be emptied.
(2) ADDITION OPERATION: An addition operation is a quadruple
of natural numbers
(jl j2J3 J 4)
where (a) j1 is the identifier number,
(b) j2 and j3 are storage locations, and
(c) j4 is the next identifier number.
The addition operation when executed causes the number loaded in storage
location j2 to be added to the sum register and the new sum to be loaded
into storage location j3.
(3) SINGULAR INUITERICAL OPERATION: A singular numerical
operation is a quintuple of natural numbers
where (a) jl is the identifier number,
(b) j2 is the singular numerical operator number,
(c) j3 and j4 are storage locations, and
(d) j5 is the next identifier number.
The singular numerical operation when executed causes the j2 numerical
operator, sj2, where 1 < j2 < rl to operate on the number loaded in
storage location j3. The result is loaded into storage location j4.
(4) BINARY NUMERICAL OPERATION: A binary numerical operation
is a sextuple of natural numbers
(jl J2,j3'J4'5J'6)
where (a) jl is the identifier number.
(b) j2 is the binary numerical operator number,
(c) j3' J4' and j5 are storage locations, and
(d) j6 is the next identifier number.
The binary numerical operation when executed causes the j2 numerical
operator, tj2, where 1 j2 < r2 to operate on the numbers loaded in
storage locations j3 and j4. The result is loaded into storage location
J5
(5) SINGULAR LOGICAL OPERATION: A singular logical operation
is a quintuple of natural numbers
(jl1 2 3) 4 5
where (a) jl is the identifier number,
(b) j2 is the singular logical operator number,
(c) j3 is a storage location, and
(d) j4 and j5 are next identifier numbers.
The singular logical operation when executed causes the j2 logical
operator, u 2, where 1 < j2 2 r3 to operate on the number loaded in
storage location j3. If the result is T, then the next identifier number
is j4. Otherwise, the next identifier number is j5.
(6) BINARY LOGICAL OPERATION: A binary logical operation is a
sextuple of natural numbers
(jl, 2 'j3' 4 '5' 6
where (a) jl is the identifier number,
(b) j2 is the binary logical operator number,
(c) j3 and j4 are storage locations, and
(d) j5 and j6 are next identifier numbers.
The binary logical operation when executed causes the j2 logical
operator, vj. where 1 j2 r r4 to operate on the numbers loaded in
storage locations j3 and j4. If the result is T, then the next identi
fier number is j5. Otherwise, the next identifier number is j6'
(7) CLEAR OPERATION: The clear operation is a pair of natural
numbers
(j j2)
where (a) jl is the identifier number, and
(b) j2 is the next identifier number.
The clear operation when executed causes the sum register to be set to
zero.
(8) STOP OPERATION: The stop operation is a singleton natural
number
(j1)
1
where j is the identifier number. The stop operation when executed
causes the procedure to come to a stop.
1 1 2
5.2 DEFINITION: Let (X, E, 0 02, L L2) be a computer system. An
algorithm for a function from X" into X is a finite sequence of
operations, ( Lj 0 j < k } where
(1) the first operation, L0, is an initializing operation,
(2) the last operation, Lk, is a stop operation, and
(3) the other operations, with identifier numbers 1 through
k1, are addition, numerical, logical, and clear operations.
This sequence of operations is used in conjunction with a finite but
unlimited storage area for numbers from the computer number set X and
a sum register. With the aid of the storage area and sum register,
the sequence must be able to operate on every point (x,,x2,...,x ) of
Xn. The initializing operation of the sequence loads the point
(x,x2,.. .,x ) into storage, loads the number zero into storage location
zero, loads the number xl into the sum register, and empties all other
storage locations. The machine starts with the identifier number one
operation. The sequence is so constructed that for each point of Xn
the stop operation must be executed after a finite but unlimited number
of operations. The operations are executed by going from one operation
to the next operation specified by the next identifier number. The
sequence must have an operation with this identifier number. A next
identifier number of *+1 indicates that the next operation in the
sequence is to be executed. In addition, at each operation there must
be a number from X loaded in each storage location referenced to be
used. The current number in the sum register can be referenced by the
term SUM in place of a natural number in an operation. The value of
the algorithm for the point (x x2,...,xn) is the number in the sum
register when the stop operation is executed. The algorithm defines
the function f: Xn X where f(x1,x2, ...,x) is this number in the sum
register when the stop operation is executed.
5.3 DEFINITION: A function f: Xn > X is defined to be a (n.1 com
putable function on X if there exists an algorithm which defines the
function.
The next seven theorems prove that computable functions are
closed under functional composition.
n
5.4 THEOREM: Let f: X > X and a be any permutation of the first n
integers. If the function f is computable, then the function g: Xn > X
defined by
(xl,x2, ...,xn) = f(xc(l) ,x (2) ,..,x (n)
is computable.
Proof:
Let (L. I 0 j < kk ) be the algorithm which defines the
function f: Xn X. One should note that Lf is an initializing operation
0
and Lf is a stop operation. Define the algorithm Lg 0 < j < 2(n+2)kk)
2n2kk
as follows:
(1) Let the operations L and L 1 I k < n be
2k1 2k
Clear (2kl, *+1)
Addition (2k, a (k) n+l+k, *+1).
(2) Let the operations L and Lg be
2n+1 2n+2
Clear (2n+l, *+1)
Addition (2n+2, 0, n+l, *+).
(3) Let the operations L9 and Lg be
2n+3 2nI4
Clear (2n+3, *+l)
Addition (2n+r4, n+2, n+2, *+) .
(4) Let the operation Lg be the same type of operation
2(n+2)+k
f
as L here the identifier number and the next identifier number have
k
been increased by 2(n+2), and the storage location numbers have been
increased by n+1 for 1 : k < kk.
Since the algorithm (Lf 1 0 j < kk 3 defines the value of
the function f for the point (x (1),x (2),...,x (n), then the algorithm
SLg 0 < j < 2(n+2)+kk } defines the value of the function g for the
point (x1,x2,...,xn). Hence, the algorithm ( L I 0 < j < 2(n+2)+kk }
2)" n
n
defines the function g: X _ X.
5.5 THEOREM: If the functions f: X 4 X and g: Xm  X are computable,
then the function h: Xm+n1 X defined by
h(x1,...,xm,...,xm_, ) = f(g(x1, ...,xm ), xm l,..,xm n )
is computable.
Proof:
Let the algorithm ( Lg 0 j j< kk } define the function
m f
g: X 4 X, and the algorithm L. 0 j < kkk 3 define the function
f: X 4 X. Let G: Nx (1,2}  N where N is the set of natural numbers
be a onetoone and onto map such that
(1) G(j,l) = j for 0 j < m,
(2) G(j1,2) = mrj for 1 j n1,
(3) G(0,2) = rmn, and
(4) G(1,2) = m+n+l.
Define the algorithm ( L1 I 0 j < 3+kkkkk ) as follows:
j
h h h
(1) Let the operations L, L and L be
1' 2' 3
Clear (1, *+1)
Addition (2, 0, G(0,2), *+1)
Addition (3, 1, 1, *1).
(2) Let the operation L be the same type of operation as
3+j
L where the identifier number and the next identifier number have been
J
increased by 3, and the storage location numbers have been operated on
by the function G with the result being k  G(k,l) for 1 < j < kk1.
(3) Let the operation Lh be
3+kk
Addition (3+kk, G(0,2), G(1,2), *+1).
(4) Let the operation L be the same type of operation
3+kk+j
as L. where the identifier number and the next identifier number have
been increased by 3+kk, and the storage location numbers have been
operated on by the function G with the result being k > G(k,2) for
1 j < kkk.
Since the algorithm {L.  0 j < kk defines the value of
the function g for the point (x1,x2,...,x ) and since the algorithm
f
L L I 0 < j : kkk } defines the value of the function f for the point
(g(xlx2, ... ,xm) ,.I .. xm nI1) ,
then the algorithm ( Lhh 0 < j < 3+kkkkk defines the value of the
L*
function h for the point (xl,x2,...,x mn ). Hence, the algorithm
SLh 0 < j < 3+kkIkkk defines the function h: Xmn1 X.
5.6 COROLLARY: The set of all (1,1) computable functions on the
computer number set X is a semigroup under functional composition.
5.7 THEOREM: If the functions f: Xn X and g: Xm X are computable
and 1 < j < n, then the function h: Xm"n1 X defined by
h(x1,... Xjl'Y l'Y2''. Ym Xj ,... ,xn) =
f(x ..,x g(y ) ,x ,j .. .,x l)
is computable.
Proof:
The proof is identical to that of Theorem 4.8.
5.8 COROLLARY: If the functions f: X" X and g: Xm 4 X are computable
where 1 m < (n1), then the function h: X l X defined by
h(xl,...,xn1) = f(xl,...,Xm,g(xl,...,xm),xrt 1,,l ...,xn1)
is computable.
Proof:
Define the function h : X 4 X by
h0x(x1 ..,x . ,g . ,ym x ,: 1 ,x.... n )
f(xl,...,xm,g(yl,)... ),y m) ... l,. xn l).
By the theorem the function h0 is computable. Let the algorithm
L Lj j 0 5 j < kk} define the function h0. Define the algorithm
I Lh 0 0 j < 2n+kk ) as follows:
J
(1) Let the operations L and L for 1 k < (n1) be
2k1 2k
Clear (2k1, *+1)
Addition (2k, nk, mnlnk, ).
(2) Let the operations L and Lh be
2n1 2n
Clear (2nl, *+1)
Addition (2n, 1, 1, *+) .
(3) Let the operation L be the same type of operation
2n+k
as Lk where the identifier number and the next identifier number have
been increased by 2n for 1 k < kk.
Since the algorithm (L. I 0 j kk ) defines the value of
the function h0 for the point (X1, ...,Xm ,xi .' .xmxn+l''...Xn1)
then the algorithm ( L. I 0 < j < 2n+kk ) defines the value of the
function h for the point (x1,... ,xm ,xml,...,xnl) Hence, the algorithm
h n1
L Lh1 0 j < 2n+kk ) defines the function h: X X.
5.9 DEFINITION: The function f: Xn Xm is a (nm) computable
function on X if the component functions of f, f. = Tif: X" 4 X for
1 i < m, are (n,l) computable functions on X.
Xn XTm
5.10 THEOREM: Let f: X X and a be any permutation of the first
m integers. If the function f is computable, then the function
g: X" 4 Xm defined by component functions
gi(xl'x2,...,n) = fo(1)(xl'X2,..' 'xn) 1 < i m
is computable.
Proof:
The proof of this theorem follows directly from Definition 5.9
of a (n,m) computable function.
5.11 THEOREM: Let f: X" , Xm and a be any permutation of the first
n integers. If the function f is computable, then the function
g: Xn Xm defined by
g(x ,x ,...,x ) = f(x ,x ,...,x )
1 2 n xo(1) 'o(2) xo(n)
is computable.
Proof:
The proof of this theorem follows directly from applying
Theorem 5.4 to the component functions of the function g.
5.12 THEOREM: If the functions f: Xn > Xm and g: Xk X are computable
where 1 j < n, then the function h: Xk+nj X defined by
h(x1, ...,xk,xk,. ,xk+nj) =
f(g(x ... ,xk),x I, ...,xk+n
is computable.
Proof:
The proof is identical to that of Theorem 4.13.
5.13 'THEOREM: If the functions f: Xn X and g: Xk are com
putable where 1 j < n and 1 < e < (nj+l), then the function
h: Xk+nj + Xm defined by
h(x ...,x ,y .. xe,...,x j
ei l' yk,, ...,Xnj)
f(xl', xe _l.'g(Yl, ,x' ... ,x j)
is computable.
Proof:
The proof is identical to that of Theorem 4.14.
Now one is led to a few theorems which connect the computable
functions and the qcomputable functions.
5.14 THEOREM: If the function f: Xn X is a computable function,
then f is a qcomputable function on X.
Proof:
Let the algorithm (L. I 0 < j < kkk } define the function
f: Xn 4 X and (x1,x2...,xn) E Xn. Let (L' 1 i i < kkk ) be the
finite sequence of addition, numerical, and clear operations executed
in order in the evaluation of the algorithm for the point
(x1,x2,...,Xn). One should note that the logical and stop operations
do not appear in the sequence, and some operations could appear more
than once in the sequence. Define inductively the finite sequences
( y2i1 1 < i < kkk y2i 1 < i s< kkk and[ wi 1 < i < kkk
as follows:
(1) In the case where L. is a Clear Operation, define w = 0,
yl = 0, and y2 = 0. In the case where L. is an Addition Operation,
define wl = zDx1l, y1 = z, and y2 = 0 where z is the number in the
f
storage location referenced in the operation. In the case where L
j,
is a Numerical Operation, define w 1 = Xl, y = sr(z) or y, = tr(Zlz2)
and y2 = 11 where r is the numerical operator number and z or (zl,z2)
are the numbers in the storage locations referenced in the operation.
f
(2) In the case where Lf is a Clear Operation, define w. = 0,
Ji j
y2i = 0, and y2i = 0. In the case ,where L. is an Addition Operation,
define w. = zDwil', Y2i1 z, and y2i = 0 where z is the number in the
If
storage location referenced in the operation. In the case where L. is
Ji
a Numerical Operation, define w = .il, y2i = Sr(z) or
y2i1 = tr(Zl'z2), and y2i = wi where r is the numerical operator
number and z or (z,,z2) are the numbers in the storage locations
referenced in the operation.
The sequence ( y I 1 I i < 2kkk then satisfies the conditions
in Definition 4.4 of a qcomputable function.
5.15 THEOREM: Let f: Xn X be a qcomputable function and
x = (x1,x2,...,x ) E Xn. Then there exists a computable function
g: X" X such that f(x) = g(x).
Proof:
From Definition 4.4 of a qcomputable function, there exists
a sequence ( yi  I i < j ] X such that
A A A A A
f(x ,x2 ...,xn) Yj yj2. y 1y .y2y(x1)
where i E I(Si) 1 < i j.
The function I: P(X)  P(X) is the available number function on X and
the Si's are defined inductively by
S1 = (x I i < n) U { 0 ,
S2 = S U ( YlW1 and
Skl+ = Sk U ( ykwk
where w.k = Yk ..y joy. .y2y1(x1) Let G: Nx (1,2,3) > N where
N is the set of natural numbers be a onetoone and onto map such that
G(i,l) = i for 0 < i < n. With the aid of this map, a storage con
vention can be established for the computer system where
(1) G(0,1) is the storage location number of the number zero,
(2) G(i,l) is the storage location number of x. for 1 < i < n,
(3) G(i,2) is the storage location number of yi for 1 < i < n,
and (4) G(i,3) is the storage location number of w. for 1 I i g j.
1
In an algorithm, the numbers yi for 1 < i < j are generated by
numerical operations and the numbers wi for 1 i i j are generated
by addition operations. Since there would be no logical operations
in the algorithm, then the algorithm would be defined for all other
points of X". Hence, an algorithm ( L 0 i kk3 can be determined
1i
which defines a function g: X" X such that g(x) = f(x). One should
note that these two functions, f and g, might only agree at this one
point.
The next two theorems show how computable functions can be
modified on a "small" finite set of points of Xn. This modification
is possible if there is a binary equality logical operator.
5.16 DEFINITION: Let v E L2(X). The v is a binary equality logical
.operator if
v(x,y) = T if and only if x = y
for every (x,y) E XxX.
5.17 THEOREM: Let f: X" 4 X be a computable function, g: X > X be
a qcomputable function, and y = (yl,2,...,yn) E X If there is a
binary equality logical operator in L2(X), then there exists a computable
function h: X2n ) X such that
f(x) = h(y,x) for every x E Xn Y}
and g(y) = h(y,y).
Proof:
Let the algorithm ( L  0 < i < kk } define the function
f: Xn X, and the algorithm [ L80 0 9 i
i
Theorem 5.15, define the function go: Xn X such that gO(y) g(y).
Assume that the binary equality logical operator has the operator
number of 1. Define the algorithm L? 0 i kk+kkkn+2 as follows:
(1) Let the operations Lh for 1 < i < nl be
i
Logical (i, 1, i, n+i, *+1, n+l).
h h h h
(2) Let the operations L L, L and L2 be
Logical (n, 1, n, 2n, n:kk+3 *1)
Clear (n+l *+1)
Addition (n+2, 0, n, *+1)
Addition (n+3, n+l, n+l, +1).
(3) Let the operation Lh be the same type of operation as
n+3+4 i
L. where the identifier number and the next identifier number have been
i
increased by n+3, and the storage location numbers have been increased
by n for 1 < i < kkl. Then any next identifier number of n+kk+3 is
changed to kk+kkk+n+2.
(4) Let the operation L be the same type of operation
n+kk+2+i
80
as L. where the identifier number and the next identifier number have
i
been increased by n:kk+2 for 1 i < kkk.
Then the algorithm ( L. 0 < i < kk+kkk+n12 ) defines the
1
2n Xn
function h: X 4 X such that f(x) = h(y,x) for every x C (y} and
g(y) = h(y,y). One should note that the function h: X2n , X is defined
for all points of X2 In the case where ( z,x} c Xn, if z # x then
h(z,x) = f(x). While if z = x, then h(z,x) g0(x).
5.18 THEOREM: Let f: Xn X be a computable function, g: Xn X be a
qcomputable function, and ( yj 1 < j k c Xn. If there is a
binary equality logical operator in L2(X), then there exists a computable
function h: X(k+l)n 4 X such that
f(x) = h(YkYkl,...,Y1,x) for every x E Xn {yj 1 j < k}
and g(yj) = h(yk'Yk_,...,ylYj) for 1
Proof:
The proof is by induction on k. The proof for k = 1 follows
from the last theorem. Now assume that the theorem is true for k. Let
{ yj 1 i< j < k+41} c Xn. Let the algorithm [ Lhi 0 i < kk} define
the function ho: X (k+)n X such that
f(x) = h0(YkYky1...,Yl,) for every x E Xn [y I 1 < j < k}
and g(yj) = ho(Yk k_l,...,y1,Yj) for 1 < j
This algorithm exists from the hypothesis. Let the algorithm
[ Lg0 I 0 : i kkk) obtained from Theorem 5.15, define the function
go: Xn X such that g(yk+l) = g(YkJ1). Assume that the binary equality
logical operator has the operator number of 1. Define the algorithm
SLih 0 i < kk+kkk+n+2 ) as follows:
h
(1) Let the operations L, for 1 < i < n1 be
Logical (i, 1, i, (k+l)n+l, *+1, n+l).
h h h h
(2) Let the operations L L L and L, be
n' n+ n+2 n+3
Logical (n, 1, n, (k+2)n, n+kk+3, *+1)
Clear (n+l, *1)
Addition (nl2, 0, n, *+1)
Addition (n+3, n+1, n+l, *+1).
(3) Let the operation Lh be the same type of operation as
n+3+i
h0
L where the identifier number and the next identifier number have been
i
increased by nl3, and the storage location numbers have been increased
by n for 1 : i : kk.l. Then any next identifier number of n+kk+3 is
changed to kk+kkk+n+2.
h
(4) Let the operation L k be the same type of operation
n!kk+2+i
as L0 where the identifier number and the next identifier number have
l
been increased by n+kk+2 for 1 < i < kkk.
h
Then the algorithm i L. 0 i kk+kkk+n+2 ) defines the
function h: X(k+2)n X such that f(x) = h(yk+ lYk, .'Y1,x) for every
x Xn yj 1 j < k+1 and g(yj) = h(yk+.lYk, ...'Y Yj) for
1 ! j < k+l. One should note that the function h: X(k'2)n X is
defined for all points of X(k+2)n. In the case where
zj I 0 < j < k+1) Xn, then h(z k+ ,zk,... ,z,z0) = ho(zk,...,zl,zo).
While if Zk+J = Z0, then h(zk+l,zk,...,z1,zo) = gO(k+l)
In the above theorem, the point (ykYklk ...yE kn can be
thought of as a constant during calculation. Then the function
h: X( )n _ X would compute the function f: Xn 4 X with the function
g: X > X option at points (yj 1 j < k ) Xn. In this sense,
every function of the form f: Xn 4 X is computable.
5.19 DEFINITION: Let f: Xn X and x0 Xm. Define f to be a
computable function on X with xo as constant if there exists a computable
function g: Xn+im 4 X such that
f(x) = g(xO,x)
for every x E X.
5.20 THEOREM: Let f: Xn 4 X. If there is a binary equality logical
operator in L2 (X), then f is a computable function on X with some x0
as constant.
Proof:
Since the cardinality of X is finite, then x0 can be selected
such that every element of X is a component of x0. Then with the binary
equality logical operator, the different points of Xn can be separated
out for the assignment of their respective values.
In Chapter VII the computable polynomials will be a special set
of these computable functions with a point as constant.
The last item to be discussed in this chapter is a complete
computer system. Since the cardinality of the computer number set X
is finite and since there are no restrictions on the singular and binary
numerical and logical operators for membership to a computer system,
then one would think that most of the functions f: Xn > X would be
computable. In fact, in some computer systems all functions f: X " X
are computable.
5.21 DEFINITION: Define the computer system (X, D, 01, 02, L1, L2) to
be complete if every function f: Xn > X is computable.
5.22 THEOREM: Let X be a computer number set and : XxX 4 X be a
computer addition function. Then there exists a complete computer
system (X, 01, 02, L1, L2)
Proof:
Let I: X > N where N is the set of natural numbers be an
enumeration of X and r the cardinality of X. For each x E X, define
Ul(x): X T,F by
Ul(x)(y) = T if and only if x = y.
Also, for each x C X, define s (x): X > X by
s (y) = x for every y E X.
I(x)
Define 01(X) = [ s : X X I 1 j < r ,
0 (X) = empty set,
L (X) = (u : X [T,F) 1
2
L (X) = empty set.
Let TO: Xn N be an enumeration of Xn and r = r" the cardinality of X"
Define the algorithm { L 0 < i r0(n+3);1) by
(1) Let (yl '2,...,yn) Xn, 10(Y1,yY2 ... n) = k, and
kk = (kl)(n+3).
(2) Define operations L for 1 j n by
kk+j
Logical (kk+j, I(y ) j, .+1, kk:rn4).
f f f
(3) Also, define operations L L and L by
kk+n kk kk+n+2' kk+ n+3
Clear (kk+n+, *+1)
Numerical (kk+ni2, I(f(y,y2, .. yn)) 0, 0, *1)
Addition (kk+n+3, 0, 0, r0(n+3)+1)
Then the algorithm (L' 1 0 < i r0(n+3)+l } defines the function
f : X" X.
CHAPTER VI
THE MULTIPLICATION AND DIVISION OPERATORS
In this chapter the multiplication and division operators will
be defined for each binary fixed point computer number set of the form
X = X(k,j;2) where k 2 1 and j & 0. These operators will be defined by
flow charts for their respective computer number sets. In the case of
the binary fixed point computer number set X = X(5,3;2), a computer
system will be defined with numerical and logical operators and the
multiplication and division algorithms determined. In Chapter VII these
multiplication and division operators will be used to define computable
polynomials and rational polynomials.
To define the multiplication and division operators, one must
first define the computer addition function. In the case of the binary
fixed point computer number set X = X(k,j;2), an associative computer
addition function would be the standard binary addition function where
the high order carry, if present, is neglected. A esum overflow con
dition occurs when the high order carry is present. Hence, if the
Ssum overflow condition is not present, then the computer sum and the
true sum are equal.
6.1 DEFINITION: Let
X = X(k,j;2) =[sgn x1. .xk.xk+ ...xk+j sgn = + or and xi 0 or 1 ,
x,y G X with
x = sgnx1x2. ..xk.xk+1...xk+j,
y = sgn2Y1Y2." 'k'Yk+l' .Yk+j
and z = x + y = sgn Zlz 2. ..Zk. k+1...zk.j
Define the computer addition function for the fixed point computer
number set X (D : XxX X by
x Dy = sgn ZlZ2...Z*k.k+l...k+j.
A Dsum overflow condition is said to exist in the Tsum if z0 # 0.
Also, in the number x, xl is the high order digit of information while
xk is the low order digit of information.
6.2 THEOREM: Let x,y E X(k,j;2). If Esum overflow condition does
not exist in the (Dsum, then x + y = x D y.
Fixed point multiplication is performed in the computer by a
series of shift and add operations. A shift left numerical operator
would shift all binary digits one place left. In this operation, the
left most binary digit would be lost while the right most binary digit
of the resulting number would be set to zero. A shift right numerical
operator would shift all binary digits one place right. The right most
binary digit would be lost while the left most binary digit of the
resulting number would be set to zero. These two numerical operators
would work along with a series of logical operators which would deter
mine whether a binary digit is one or zero. Also, operators would be
provided to determine the correct sign of the product.
The multiplication operator *: XxX X, for all binary fixed
point computer number sets of the form X = X(k,j;2) where k 1 and
j 0, is defined by the following flow chart.
6.3 FLOW CHART: Let
X = X(k,j;2) = (sgn x ...x .Xk+l...xk kj  sgn = or and xi = 0 or 1
where k 1 and j 0. Define the multiplication operator *: XxX X by
a *b
S TART
^7^^ N
NO
a(l) = I
YES
Block
AA
x b x = a
y a y b
I
NO
xy 0 '
YES
'1 k___J
Block x l x I x +1 x
BB ,I
Block
CC
Block
DD
An overflow condition can exist in the multiplication
operation.
6.4 DEFINITION: Let
X = X(k,j;2) = [ sgn xl...Xk.xk.l. ..xk+j I sgn = or and xi = 0 or 1},
x,y E X with
x = sgnlx12...xk.Xk+l...Xkj',
y = sgn2Y1Y2." 'YYk'Ykl+" Yk+j
and z xy = sgn zlz2...Z2k. Z2k+l ...2k+2j'
A pr oduct overflow condition is said to exist in the *product of x
and y if there exists a zi # 0 where 1 < i < k.
In the flow chart one can think of x as the multiplicand and
y as the multiplier. In Block AA, the multiplicand is loaded with
either a or b to obtain, if possible, a high order zero. If this high
order zero is obtained in the multiplicand, then Gsum overflow is pre
vented during the add operation in Block CC. In Chapter VIII another
multiplication operator will be defined which prevents this Esum
overflow with a low order zero in the multiplicand. The sign of the
product is determined in Block BB. In Block CC, the sum is shifted
right to yield the correct binary point position in the product. In
Block DD, the multiplicand is shifted left to obtain the correct value
to be added to the sum. If there is Gsum overflow in the addition
operation in Block DD, then there is *prcduct overflow in the multi
plication operation. Also, *product overflow can occur in the multi
plication operation if there is a one lost in the shift left operation
of the multiplicand and later a one is detected in the digit being
checked in the multiplier in this block.
This multiplication operation has the following properties
which will be used in Chapter VII.
6.5 THEOREM: Let X = X(k,j;2) where k 2 1 and j 0. If
(a,b) E XxX n [ 0,1]
then (1) 1 ab a*b < uX,
(2) a*b = b*a, and
(3) 1 a*bl al
Proof:
The proof of the theorem follows from the fact that a*b and b*a
are the true products of a and b correct to j binary places. In the case
where k > 1, ( sum overflow is prevented in the first addition operation
in Block CC since there is a high order zero in the multiplicand. At
this step there is also a high order zero in the sum. This high order
zero in the multiplicand exists in the case k 1 except when a 1.0
and b = 1.0. In this special case, sum overflow does not occur at
this step. If a sum overflow occurred at the second addition
operation in Block DD, then the *product overflow condition would be
present in the multiplication operation. The restriction on b to be
between one and zero prevents this *product overflow condition on the
product. This restriction on b also prevents a significant digit from
being lost in the multiplicand shift left operation in this block prior
to the sum being completed.
Fixed point division is performed in a computer by a series of
compare, add, and shift operations. The compare logical operator
would compare two numbers neglecting the signs. The shift numerical
67
operators would be the same as used to define the multiplication
operator. These operators would be used along with a series of numerical
operators which would set a certain digit of a number equal to one.
Also, operators would be provided to determine the correct sign of the
quotient.
The division operator 4: XxX X, for all binary fixed point
computer number sets of the form X = X(k,j;2) where k 1 and j 0,
is defined by the following flow chart.
6.6 FLOW CHART: Let
X = X(k,j;2) = sgn xl...xk.xk.1...xk+j I sgn = + or and xi 0 or 1 )
where k 1 and j 0. Define the division operator 6: XxX X by
a b =
START
x +j aJ
y= 
Block
AA SUM = x
z = 0
L= 0
Y
Block
BB
Block
CC
Block
DD
Block
EE 1
Block [ t.1
z = z z =+
FF
FF  l" +
SUM = z
SSTOP
As in the multiplication operation, an overflow condition can
exist in the division operation.
6.7 DEFINITION: Let
X = X(k,j;2) = [ sgn x ...xk.xk+1...X.k+j sgn = + or and xi 0 or 1 ],
x,y E X with
x = sgnlx1x2*...xk.k+l ...k+j'
y = sgn22lY2.. YkY k+l. Yk+j # 0,
and z = sgn zlz2... zkj.zk+j+l...z+2j
be the quotient of x over y to j binary places. A 6quotient overflow
condition is said to exist in the quotient of x over y if there exists
a zi # 0 where 1 i j.
In the flow chart x is the dividend and y is the divisor. In
the first block, the dividend, divisor, and quotient are loaded. The
quotient, z, is initially loaded with zero. In Block BB the divisor
is shifted left until a one is detected in the high order digit. The
number of shifts required to obtain this high order one is important to
determine the correct binary point position in the quotient. In Blocks
CC and DD the divisor is shifted back to the right until the original
divisor is obtained. If the comparison operator is satisifed in Block
CC, then 4quotient overflow has occurred in the division operation.
In Block DD the appropriate digit is set equal to one in the quotient
as the comparison is performed. One should note that no significant
digit is lost in the divisor during the shift operations in both of these
blocks. In Block EE the division is completed as the sum is shifted
left. Also, the appropriate digit is set equal to one in the quotient
as the comparison is performed. If the high order digit of the divisor
is not zero, then a significant digit could be lost during the shift
operation in this block. In Chapter VIII a new division operator will
be defined which prevents the loss of a significant digit in this
operation by requiring a low order zero in the dividend and divisor.
Block FF determines the sign of the quotient. One should note that if
the divisor is zero, then the quotient is equal to the absolute value
of the dividend.
This division operator has the following property which will be
used in Chapter VII.
6.8 THEOREM: Let X = X(k,j;2) where k 1 and j 0. If a,b E X with
Ia / b < 2k and b1 = 0, then
la / b a 6 b < UX.
Proof:
The proof of the theorem follows from the fact that a 6 b is the
true quotient of a dividend by b to j binary places. The requirement
that Ia / b j < 2k prevents 6quotient overflow in the division
operation. The overflow is prevented since the comparison operation in
Block CC would never be satisfied. The requirement that bl 1 0 prevents
a significant digit from being lost during the shift left operation in
Block EE.
In the remaining portion of this chapter the flow charts and
algorithms of the multiplication and division operators will be developed
for one computer system. This computer system
(X, 01, 02, L1, L2)
has the following components:
(1) X = X(5,3;2) = x sgn x1X2X3X x5.x6x7x8  sgn = + or and
x. = 0 or 13 .
1.
S: XxX X as defined in Definition 6.1.
01(X) = s. 1 < j < 13} where
O.
s (sgn
s2(sgn
s3(sgn
s4(sgn
s5(sgn
s6(sgn
s7(sgn
s8(sgn
x1x2X3X4X5.x6X7x8)
x 2x 3x4 x5 .x6x7x8)
x1x2x3x4x5.x6x 7x3)
x 2::3x4x5 .x6x7x8)
x 1x.x 3x4x5. x6x<7:<8)
xix2x3x4x5.x6x7x3)
x iX2X3`4 5' x 6x 7x8)
= sgn 1 x2x3x4x5.x6x7x3,
= sgn xl 1 x3x4x5.x6x7X8,
= sgn x1x2 1 x4x5.x6x7xs,
= sgn xlx2x3 1 x5.x6x7x8,
= sgn x1x2X3x4 1 .x6x7x3,
= sgn x1x2x3x4x5. 1 x7x3,
Ssgn x1x2x3x4x5.x6 1 x8,
= sgn x1x2x3x4X5.x6x7 1,
s9(sgn x1x2x3x4x5.x6x7x8) = sgn x2x3x4x5x6.x7x80,
sl0(sgn x1x2X3X4X5.x6x7x8) = sgn 0 x1x2x3x4.x5x6x7,
(k) s11(x)
(1) sl2(x)
(m) sl3(x)
(4) 02(X) = the
(5) LI(X) = uj
(a) ul(x) =
(b) u2(x) =
(c) u3(x) =
(d) u4(x)
(e) u5(x)
(f) u6(x) =
(g) u7(x)
(h) U(x) =
(6) L2(X) = v.
(a) v1(x,y)
(b) v2(x,y)
0,
+I xI and
 x .I
empty set.
I 1 < j < 8 ) where
T if and only if xI = 1,
T if and only if x2 = 1,
T if and only if x3 = 1,
T if and only if x4 = 1,
T if and only if x5 = 1,
T if and only if x6 = 1,
T if and only if x7 = 1, and
T if and only if x8 = 1.
S1 < j 2 ) where
= T if and only if xy 0 ai
= T if and only if Ix I:
In the computer system one should note that the numerical
operators s9 and sl0 are, respectively, the shift left and shift right
operators. The flow chart and algorithm that follow are for the multi
plication operator for the computer system. The flow chart is a special
case of Flow Chart 6.4.
nd
y .
6.9 FLOW CHART: Let
X = X(5,3;2) = ( sgn x1x2x3x4X5.x6x7x8 I sgn = + or and xi = 0 or 1)
Define the multiplication operator *: XxX X by
a *b =
75
N O = 1
y(7) =
YES
SUM = SU x
SHIFT SUM RIGHT
NO
y(6) =1
YES
SUM = SUM x
SHIFT SUM RIGHT
NO
y(5) =1
YES
SUM = SUM G x
SHIFT x LEFT
y
76
NO
y(4) = 1
YES
SUM = SUM D x
SHIFT x LEFT
NO
N y(3) =1
YES
SUM = SM U> x
nir~i : 1  
SHIFT x LEFT
N O y(2) =
YES
SUM = SUM 0x
 I
SHIFT x LEFT
NO
YES
SUM = SUM x
STOP
6.10 ALGORITHM: Let
plication operator *:
INITIALIZING
LOGICAL
CLEAR
ADDITION
CLEAR
ADDITION
CLEAR
ADDITION
CLEAR
ADDITION
LOGICAL
NUMERICAL
NUMERICAL
CLEAR
LOGICAL
ADDITION
NUMERICAL
LOGICAL
ADDITION
NUMERICAL
LOGICAL
ADDITION
NUMERICAL
LOGICAL
X = X(5,3;2). Define the algorithm for the multi
XxX i X by
2
3,4
3
3
4
3
SUM
4
3
SUM
4
3
SUM
4
S lP14
SlIM
S DII
6,+ 1
*+1
*+1
*+1
10
*+ 1
*+1,12
13
*+1
*+l
*+ 1
*+1,23
*+
*+1
*+1,26
ADDITION 24 3 
NUMERICAL 25 9 3 3 +
LOGICAL 26 4 4 *+1,29
ADDITION 27 3 *+1
NUMERICAL 28 9 3 3 *+1
LOGICAL 29 3 4 *+1,32
ADDITION 30 3 *
NUMERICAL 31 9 3 3 *+1
LOGICAL 32 2 4 *+1,35
ADDITION 33 3 *+1
NUMERICAL 34 9 3 3 *+i
LOGICAL 35 1 4 *+1,37
ADDITION 36 3 *+1
STOP 37
The flow chart and algorithm which follow are for the division
operator for the computer system. The flow chart is a special case of
Flow Chart 6.7.
6.11 FLOW CHART: Let
X = X(5,3;2) = ( sgn x1x2x3x4x5.x6x7x8 sgn = + or and x = 0 or 1 .
Define the division operator 6: XxX X by
79
a b=
80
SHIFT y LEFT
YES
y(1) =1 Y
NO
SHIFT y LEFT
YES
y(1) =1 I D
NO
SHIFT y LEFT
YES
y(l1) =1  C
NO
SHIFT y LEFT
y(1) = 1 NO STOP
YES
NOy SUM
YES
SUM = SUM y
SHIFT y RIGHT
81
NO
YES
SUM = SUM e y
SHIFT y RIGHT
SUM = SUM y
M S U1. y
SHIFT y RIGHT
NO y sum
YES
SUi = SUM e y
SHIFT y RIGHT
NO
j SUM 
YES
SUM = SUM ( y
z(2) =1
If ^ 
82
SHIFT y RIGHT
NOy s UMI
 <^H^ SUI^Xs~c G
YES
SUM = SUM y
z(3) = 1
SHIFT y RIGHT
NO
Su H
YES
SUM = SUM G y
z(4) = 1
SHIFT y RIGHT
YES
SUM = SUM y
z(5) = 1
SHIFT SUM LEFT
YES
84
SUM = z
STOP
6.12 ALGORITHM: Let X = X(5,3;2). Define the algorithm for the
division operator 6: XxX > X by
INITIALIZING 0
NUMERICAL 1 12 1 4 *+1
NUMERICAL 2 13 2 5 *+1
CLEAR 3 *+1
ADDITION 4 4 3 *+1
NUMERICAL 5 11 3 3 *+1
LOGICAL 6 1 5 46,*+1
NUMERICAL 7 9 5 5 *+1
LOGICAL 8 1 5 42,*+1
NUMERICAL 9 9 5 5 *+1
LOGICAL 10 1 5 38,*+1
NUMERICAL 11 9 5 5 *+1
LOGICAL 12 1 5 34,*+1
NUMERICAL 13 9 5 5 *+1
LOGICAL 14 1 5 30, *+1
NUMERICAL 15 9 5 5 *+1
LOGICAL 16 1 5 27,*+1
NUMERICAL 17 9 5 5 *+!
85
LOGICAL 18 1 5 24,*+1
NUMERICAL 19 9 5 5 *+1
LOGICAL 20 1 5 *+1,65
LOGICAL 21 2 5, SUM *+1,23
ADDITION 22 5 *+1
NUMERICAL 23 10 5 5 *+1
LOGICAL 24 2 5,SUM *+1,26
ADDITION 25 5 *+1
NUMERICAL 26 10 5 5 *+1
LOGICAL 27 2 5,SUM *+1,29
ADDITION 28 5 *+1
NUMERICAL 29 10 5 5 *+1
LOGICAL 30 2 5,SUM *+1,33
ADDITION 31 5 *+1
NUMERICAL 32 1 3 3 *+
NUMERICAL 33 10 5 5 *+1
LOGICAL 34 2 5, SUM *+1,37
ADDITION 35 5 *+1
NUMERICAL 36 2 3 3 *+1
NUMERICAL 37 10 5 5 *+
LOGICAL 38 2 5,SUM *+1,41
ADDITION 39 5 +
NUMERICAL 40 3 3 3 +
NUMERICAL 41 10 5 5 *+1
LOGICAL 42 2 5,SUM *+1,45
ADDITION 43 5 *+l
NUMERICAL 44 4 3 3 *+1
NUMERICAL 45 10 5 5 +1
LOGICAL 46 2 5,SUM *+1,49
ADDITION 47 5 *+1
NUMERICAL 48 5 3 3 *+1
NUMERICAL 49 9 SUM SUM *+l
LOGICAL 50 2 5,SUM *+1,53
ADDITION 51 5 *+1
NUMERICAL 52 6 3 3 *+
NUMERICAL 53 9 SUM SUM *+1
LOGICAL 54 2 5,SUM *+1,57
ADDITION 55 5 *+1
NUMERICAL 56 7 3 3 *+1
NUMERICAL 57 9 SUM SUM *+1
LOGICAL 58 2 5,SUM *+1,60
NUMERICAL 59 8 3 3 +1
LOGICAL 60 1 1,2 *+41,62
NUMERICAL 61 12 3 3 63
NUMERICAL 62 13 3 3 +
CLEAR 63 *+
ADDITION 64 3 +
STOP 65
CHAPTER VII
COMPUTABLE POLYNOMIALS
In the last chapter the multiplication and division operators
were defined for all binary fixed point computer number sets. In this
chapter these operators will be used to define computable polynomials
and rational polynomials. The computable polynomials in composition
with the truncating function will be shown to be dense, with the uniform
norm, to the set of all polynomials with coefficients having finite
binary representation, to be called binary polynomials, defined on the
unit interval. Since these binary polynomials are dense in the set of
all continuous functions defined on the unit interval, then the com
putable polynomials in composition with the truncating function are
dense to the set of all continuous functions defined on the unit
interval. In the case of rational polynomials, the computable rational
polynomials in composition with the truncating function will be shown
to be dense to the set of all binary rational polynomials defined on
the unit interval.
Throughout this chapter one assumes all computer number sets
to be binary fixed point of the form X = X(k,j;2) where K 1 and
J 0. One assumes the unnumbered square bracket function, ] : R 4 X,
to be the truncating function defined in Chapter II. One also assumes
the symbols and 6 to be the multiplication and division operators,
respectively, defined in the last chapter for binary fixed point com
puter number sets.
Now a few definitions which will aid the notation.
7.1 DEFINITION: Let ( aj 0 < j < n+l} E X and x E X. Define
inductively the following operations:
0 n+l n
(1) a. = a ; a. = ( a.) an+l.
y=0 j=0 j=0
1 n+l n
(2) aj al a ) an+
j=1 j=1 j=1 n l*
0
(3) a0 x) = a .
k=1l
The binary polynomial
n
7 a.x
j0 J
(i.e., the a.'s have finite binary representations) leads directly to
its associative computable polynomial
n j
@ a. ( x).
j=0 k=l
Since the operators and require a computer number set X, then the
computable polynomial would be well defined for each x of X provided
that
( aj 0 j < n} e X.
Hence, the definition of a computable polynomial is obtained.
7.2 DEFINITION: Let A = (aal,...,an) E Xn+1. Define the computable
polynomial
n
P : X X
A
by
n n j
P (x) = a. ( x).
A j=O k=l
All computable polynomials of degree less than or equal to n can be
computed from the computable function
pn: Xn+2 X
defined by
n n
P (a la ,...,a ,x) = a. ( x).
j=0 k=l
Since Pn(x) = P (A,x),
A
n
then the computable polynomial PA is a computable function with A as
constant.
This definition leads to the major problem of this chapter.
n
MAJOR PROBLEM: Let f(x) = a.x on [0,1] be a binary polynomial
j=O J
and E > 0. Does there exist a binary fixed point computer number set
X0 = X0(KO',J;2) with
( aj 0 < j < n } c XO
such that
n j
If(x) a ( [x] ) I <
j=0 k=l
for every x of [0,1] and for any binary fixed point refinement X
of X0
One should note that a binary polynomial has many, in fact,
an infinite number of associative computable polynomials. This is due
to the fact that the operators and are dependent on the computer
number set or the computer system. The unit interval, [0,1] was
selected to minimize the overflow analysis. With a binary polynomial
defined on the unit interval, overflow can only occur in the associative
computable polynomial during an addition operation and not during the
multiplication operation. The solution of a subproblem will lead to the
solution of the major problem.
SUBPROBLEM: Let f(x) = axn on [0,1] where a has a finite binary
representation and E > 0. Does there exist a binary fixed point com
puter number set X = XO(K ,J0;2) with a an element of X0 such that
n
f(x) a ( [x ]) E
j=1
for every x of [0,1] and for any binary fixed point refinement X of
X0
In the solution of this subproblem, one first defines the error
inherent in the multiplication operation for an associative computable
polynomial of a binary polynomial.
7.3 DEFINITION: Define
E M = MAX ( I xy x y II (x,y) E XxX n [0,1] .
In the last chapter, the following four properties of the
multiplication operator were proved.
7.4 THEOREM:
(1) E u
n
(2) If ( x. 1 < j n } n X n [ 0,1] then x. E X O [0,1].
j=1l
(3) If (x,y) E XxX n F0,l1 then x y = y x.
(4) If (x,y) E XxX n [0,1] then x y x
The first property states that the error EM is bounded by the
mesh of the computer number set. Since the mesh of the computer number
set can be selected arbitrarily small, then this error can be made
arbitrarily small. The second property states that the multiplication
operator is closed in the set X n [0,1] In the case of an associative
computable polynomial of a binary polynomial defined on [ 0,1] the
third property states that the product a x can be premultiplied or
k=l
postmultiplied by a. with the same result. The fourth property prevents
overflow during the multiplication operation.
The solution of the subproblem requires two lemmas.
7.5 LEMMA: Let x. E X n [O,1] for 1 < j < n. Then
n n
I F x j < (n1)EM.
j=l j=1l
Proof:
The proof is by induction on n. If n=l, then
1 1
x *x = x l = 0 = (n) EM.
j=l j=l 1 0
Assume the theorem is true for 1 < n < k. If n = k+1, then
k+l
j=l j
k
 ( xj)k
j=l
+ ( x.)x I
j11 J k+1I
j=1 1
k
I x I 1 x
j+1 j=l 3J
k
* xI
j=1 J
< (kl) EM + E= M
7.6 LEMMA: Let x. E [ 0,11 for 1 < j < n.
j
n
n x
n
 n
[x l I
Then
nuX
Proof:
The proof is by induction on n. If n=l, then
1
j=1
[x l I = I x1 [xI]I
Assume the theorem is true for 1 < n n k. If n = k+1, then
k+l
 [x.] I
j=1
k+l
S x.
j=1
k
(j
j1
[x.I ) Xk1
1 Xk+1
+ ( n [x] )xk+1
j=1
k+1
j=1
IXk+1l Ix. 1 [x ]
j=1 j= l
< 1 ku + 1 u = (k+l)u .
X X X
k
I + I [x ]
j=1
I I k+l [xk+ll
k+l
I x.
j=1 j
k+1
 x j
j=l
k+1
 I
j=l 1
+ M
.M
k+1
= x.
j=1 ]
