
Citation 
 Permanent Link:
 https://ufdc.ufl.edu/UF00097748/00001
Material Information
 Title:
 Computable functions
 Creator:
 Williams, Louis Francis, 1932
 Publication Date:
 1970
 Copyright Date:
 1970
 Language:
 English
 Physical Description:
 vii, 119 leaves : ill. ; 28 cm.
Subjects
 Subjects / Keywords:
 Algorithms ( jstor )
Computer systems ( jstor ) Copyrights ( jstor ) Flow charts ( jstor ) Identifiers ( jstor ) Logical operators ( jstor ) Logical theorems ( jstor ) Numbers ( jstor ) Polynomials ( jstor ) Zero ( jstor ) Dissertations, Academic  Mathematics  UF Electronic digital computers ( lcsh ) Mathematics thesis Ph. D Recursive functions ( lcsh )
 Genre:
 bibliography ( marcgt )
nonfiction ( marcgt )
Notes
 Thesis:
 Thesis  University of Florida.
 Bibliography:
 Bibliography: leaf 118.
 Additional Physical Form:
 Also available on World Wide Web
 General Note:
 Manuscript copy.
 General Note:
 Vita.
Record Information
 Source Institution:
 University of Florida
 Holding Location:
 University of Florida
 Rights Management:
 Copyright [name of dissertation author]. Permission granted to the University of Florida to digitize, archive and distribute this item for nonprofit research and educational purposes. Any reuse of this item in excess of fair use or other copyright exemptions requires permission of the copyright holder.
 Resource Identifier:
 022060084 ( AlephBibNum )
13493457 ( OCLC ) ACY4897 ( NOTIS )

Downloads 
This item has the following downloads:

Full Text 
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 ]

Full Text 
PAGE 1
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
PAGE 2
wflllliw
PAGE 3
To my wife
PAGE 4
ACKNOWLEDGMENTS The author wishes to extend his appreciation to Dr. Ralph G. Self ridge for his helpful suggestions in the preparation of this paper, and to acknowledge 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. 111
PAGE 5
TABLE OF CONTENTS Page ACKNOWLEDGMENTS iil ABSTRACT v Chapter I. INTRODUCTION 1 II. POSSIBLY COMPUTABLE FUNCTIONS OF ONE VARIABLE 9 III. POSSIBLY COMPUTABLE FUNCTIONS OF MANY VARIABLES 22 IV. QCOMPUTABLE FUNCTIONS 31 V. COMPUTABLE FUNCTIONS 41 VI. THE MULTIPLICATION AND DIVISION OPERATORS 61 VII. COMPUTABLE POLYNOMIALS .87 VIII. COMPOUND COMPUTABLE FUNCTIONS 102 IX. CONCLUSION 113 BIBLIOGRAPHY 118 BIOGRAPHICAL SKETCH 119 IV
PAGE 6
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, 19 70 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 1 7 1 2 computer system is represented by a sextuple (X, Â© , ,0 , 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 computer addition function. The ordered pair (X, Â©) 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 components are sets of singular and binary, respectively, logical operators . The fixed point and floating point number sets are two important 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
PAGE 7
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 qcomputable functions. The evaluation of a qcomputable function at any point is defined to be a finite Â© sum of numbers from X. During the Â© sum operation numerical operators are allowed to generate numbers from X for the sum. These qcomputable functions are shown to be closed under functional composition. A standard type algorithm is used to define a computable function. In the evaluation of a computable 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 consideration. Different options are available in the calculating process through the use of logical operators. These computable functions are shewn 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
PAGE 8
point computer number sets. Then these operators are used to define computable polynomials and rational polynomials. The computable polynomials 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. Vll
PAGE 9
CHAPTER I INTRODUCTION This is an abstract mathematical study of a modern digital computer and its computable functions. In a digital computer the basic operation is addition. The three other arithmetic operationsÂ—subtraction, multiplication, and divisionÂ—are obtained from special electronic circuits which make use of the addition circuit. The computable 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 15 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
PAGE 10
make the most efficient use of this type flew of information. In this study the follov/ing 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 terra of this study. 1.1 DEFINITION: Define the sextuple (X, Â© , 1 , 2 , L 1 , L 2 ) to be a Â£Â°JTi2ii t Â£?L_Â£X5.^Â£iI! where (1) X = I x. i = ,+1 , +2 , . . . ,rv J is a computer number set, (2) Â© :XxX > X is a computer addition function for X, (3) L (X) { s^X Â» X  1 ^ i ^ rj) is a set of singular numerical operators for X, (4) 2 (X) = { t.:XxX Â» X  1 ^ i < r 2 l is a set of binary numerical operators for X, (5) L 1 (X) { u L :X > { T,F }  1 < i ^ r 3 } is a set of singular logical operators for X, and (6) L 2 (X) = { v t :XxX > { T,F }  1 < i < x ^ } 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
PAGE 11
lation 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 elements 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 ,Â±>'iy2yk j;.x 1 x 2 ...x j b
PAGE 12
where the x^ and y^ 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 Â±x 1 x 2 ...x v y 1 y 2 ...y j where the x^ and y^ are digits in the base b number system. The computer addition function Â© :XxX * X is the basic function of the computer. The other three arithmetic operationsÂ—subtraction, multiplication, and divisionÂ—are 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 = +.x lX2 x 3 lO7172 where x.'s and y^'s are digits in base 10 and x. = if and only if x = 0, then 02 _ 02 _ 01 (.104 10 Â© .204 10 ) Â© .314 10 (.303 10~Â° 2 Â© .314 10" 01 ) .345 10" 01 and .104 10~ 02 Â© (.204 10" 02 Â© .314 10" 01 ) (104 10" 02 Â© .334 10" 01 ) .344 lO 01 . Since Â© is an addition function, then one requires that x Â© = x for every element x of X. One should note that (X,Â©) would be an Abelian group if Â© wore 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
PAGE 13
computer the calculations can be considered a3 compositions of these singular addition functions. An element of the sets of singular or binary numerical operators 1 2 (X) or (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(+x 1 x 2 X3.y 1 y 2 y 3 ) = Â±xz*3yi y2y3Â°o) s(+x 1 x 2 x 3 .y 1 y 2 y 3 ) = Â± x i x 2 1 yiy2y3* The first operator would be used in subtraction, the second in multiplication, and the third in division. An element of the sets of singular or binary logical operators L (X) or L (X) , respectively, would also represent a special electronic circuit within the computer to check a certain condition. Examples would be (1) u(+x 1 x 2 x 3 .y 1 y 2 y3) ~ T if and only if x 3 0. (2) v(x,y) T if and only if xy Â£ 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
PAGE 14
(3) the numbers obtained from operators In 0^(X) and (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 available 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 Â®, 1 (X) , 2 (X) , L L (X) , and L 2 (X) . In the case of 1 (X), 2 (X), L (X), and L (X) there are only a finite number of different 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 :X n Â» XÂ™ where X n and X m ctre 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 :X n > X n1 and the ordered pairs (n,m) are countable, then there are only countably many different 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 computable 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
PAGE 15
n m g: x [ a.,b ] x [ c. ,d. ] . ll i=l A qcomputable function on the computer number set X will be defined in Chapter IV. In this definition the evaluation of a qcomputable function at any point would be a finite Osum of numbers from X of the form f(x 1 ,x 2 ,...,x n ) y k y k _i.y2yi(Â°) y k Â©(y k _ 1 Â©(..(y 2 Â®(y 1 Â©0))...)). 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 functionThese 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 frcra 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 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. 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
PAGE 16
8 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 polynomials 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 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. 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. Thi'cugh the use of compound computable functions, a floating point computer number set will be thought of as two fixed point computer 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 .
PAGE 17
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 = Â£x Â± I i = 0,+l,+2,...,+r ) to be a computer number set where (1) r * 1, (2) x =0, (3) x. = x_j for IS i ^ r, and (4) x jL _ 1 < x. 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 x Â•= ;!;.x 1 x ? . . .x, b~ X i k
PAGE 18
10 where the x.'s and the y^'s are digits in the base b number system and x = 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 = +XP2. . .x k .y 1 y 2 . . .yj where the x.'s and y^'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 Â£ 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 LEMMA: 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 { x Â£  1 0,+l,+2,...,+r } . An important property of X is the maximum spacing between its elements.
PAGE 19
11 In a fixed point number sat the spacing between elements is constant, while in a floating point number set several different spacings exist. 2.6 DEFINITION: Define u x to be the mesh of X where u x = MAX { x t x L _ x  1 s i ^ r } . Let [a,b] =ixa^x^b}SR where x_ r < a < b < x r . Define x = MIN { x 6 X  x s b } and x MAX { x Â€ X  x ^ a } . Then define u x a ' to be the mesh of X for [a,b ] where u x a ' b MAX { x t x i _ 1  x s x i _ 1 < 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 a^, a^_ be real numbers with a, < a^ and Â€ > 0. If b is an integer greater than one, then there exists a floating point L fixed point J computer number set with base b such that (1) x_ r a 2 , and (3) u x ^ Â€. 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 conditions (1) and (2), then j be selected sufficiently large to satisfy condition (3) . Since functions defined on X with their range contained
PAGE 20
12 in X are the only candidates for computable functions, then one has the definition of a pcomputable function. 2.8 DEFINITION: Define a function f to be a pcc.nputable function on X if f : X > X. The set of all pcomputable functions on X is C(X) { Â£ t : X X  1 * i * (2r + 1) } . Tvo important functions which are dependent on X are the truncating and rounding off functions for X. 2.9 DEFINITION: Define the trunca ting function for X [ ].: R >X by [y ]j Â« MAX { x 6 X  x <. y } if y =>and [ y ] = MIN { x 6 X  x >. y } if y < 0. Define the rounding off f unction f or X I JÂ„: R _> X by L yJ = z if there exists a unique z Â£ X such that  y z  = MIN {  y x   x Â€ X } and [y ]~ = [ y ] , 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 Â€ R and x_ r < y < x r , then  y C y 1 1 1 < u K and  y L y ] 2  Â£ u^/2. The following definitions will aid the notation. 2.11 DEFINITION: Define [a,b] to be w ithin X if x < a < b < x r .
PAGE 21
13 Define the function g: [ a,b] Â» Lc,dJ to be wiJ^hjLnJC if [ a,b] and C c,dJ are within X. Let [a,b] be within X. Define t k Â± \ i 0,+l,+2,...,+r ) to be the par tition of [a,b] induced by X where A. {y 6 [a,b]  [y^ x Â£ ] . The fact that seme of the sets of this partition of la,bJ have no maximum or minimum element is an important property which will be used later. 2.12 LEMMA: Let Ca,b] be within X and Â£ A Â±  i = Oj+1,+2, . . . ,+r } be the partition of La,bJ induced by X. (1) If a c < b, c s 0, and c Â€ A. , then there exists d 6 A t with d > c. (2) If a < c^ b, c^O, and c 6 A. , then there exists d 6 A. with d < c. This property follows from the set A. 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 computable functions. 2.13 DEFINITION: Let g: [a,b] Â» [c,d] be within X and Â€ >0. Define the function g to be pcomputable within 6 on X if there exists a pcomputable function f on X such that for every y G [ a,b]  s(y) f( [y] x )\ Â£ 6 Â• This definition leads to the elementary theorem about the refinement of a computer number set.
PAGE 22
14 2.14 THEOREM: Let Y be a refinement of X, g: [ a,b] > [c,d] be within X, and 6 > 0. If g is pcc mputable within Â€ on X, then g is pcomputable within Â€ on Y. Proof: Let g be pcomputable within Â£ on X by f. Define h: Y ~* Y by h(y) f( Cy]*). Let y Â€ [ a ,b ] . Since [ L y 3 *] X = C y] X , then g(y) h(Cy ]J)  I g(y) f( C [y];i X )  1 1 =  g(y) f( C y] X ) s Â€ . Hence, g is pcomputable within Â£ 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 i nto [ a,b] [ ] : X Â» [ a,b ] by [x ] b if x >b, [ x ] = xifa^x^b, and [x]=aifx
PAGE 23
15 2.16 THEOREM: Let g: [a,b ] Â» Cc,d] be continuous and G >0. Then there exists a floating point [fixed point] computer number set X for any base such that g is pcomputable within 6 on X. Proof: Since g is continuous on [a,bJ , then g is uniformly continuous on La,bJ . Since g is uniformly continuous on [a,b] , then there exists 6 > such that x, y Â€ [a,b] and  xy  < 6 implies I g(x) g(y)  < 6/2. Let YMINI 6,6]. By Lemma 2.7 there exists a floating point [ fixed point] computer number set X for any base such that x_ r < MIN { a,c] < MAX { b,d } < x and u x ^ y/2. Define f : X X by f(x) = [ g( [x 3 ) ] r Let y 6 [ a,b] . Then I g(y)f([y3 1 ) ! = I g(y)[g(C [ y^ \)1 2  * g(y)g(CCy\] 3 )+ g([Cy] 1 ] 3 )Cg([Cy] 1 3 3 )] 2  Â£ 6/2+6/2=6 since  y [[ y] ^  < ^ < Y/2 < Y * 6 . Hence, g is pcomputable within 6 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 discontinuity to rational numbers. 2.17 THEOREM: There exists a piecewise continuous function g: L a ,b J * Lc,dJ with an irrational point of discontinuity such that for every 6 , < 6 < (d c) /2, g is not pcomputable within 6 by any X.
PAGE 24
It) Pr oof : 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 s 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 Â£ or  g(x) fCLx]^ > Â£ . Hence, g is not pcoinputable within 6 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 6 , < Â€ < (d c) /2, g is not pcomputable within Â€ by any X. Proof : Case 1: If b > 0, then let e be rational with e > a and < e < b . Define g: "a,b ] * [ c,d ] by g(x) = d if x ^ e and g(x) " c if x > e. Let y be such that a < e < y < b and [e] = [ y] . There exists such a y by Lemma 2.12. Then by the same argument as in Theorem 2.17, g is not pcomputable within G by any X. Case 2: If b ^ 0, then let e be rational with a < e < b < . This time define g: La,b] > L c,d] by g(x) = c if x s e and g(x) = d if x < e. Also, let y be such that a < y < e < b and [ y] a [el. Then by the same argument, g is not pcomputable within Â£ by any X.
PAGE 25
17 In the case of an irrational point of discontinuity, one should note that it makes no difference whether the function is continuous 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,bJ Â» Cc.dl be piccewise continuous with lz. I 1 : i s n J rational points of discontinuity and ^ > . Let (1) ? { z.  1 * i * n] . (2) If z^ > 0, then g is continuous from the right at z.. (3) If z. < 0, then g is continuous from the left at z. . Then there exists a floating point [ fixed point ] computer number set X such that g is pcomputable within 6 on X. Proof: Let a = z Q < Zj^ < z 2 < . . . < z Q < z . = b. If e is taken to be the least common multiple of the integral denominators of the rational numbers [z^  1 < i < n] , then there exists X Q (e; j Q , k Q ) [ x (k Q , j Q ; a) ] such that {z Â± \ 1 ^ i < n } s X Q . Define g Â£ : Ca,b] Â» [ c,d] 1 < i L1M , . r ,1 , gj = g(x) on L z ., b J , and 1 X  z 4 x
PAGE 26
1Â« LIM / n r i g i " x+s^ S0<) Â° n U ' Z il J * By Theorem 2.16 there exists X^e; j^ k.) [x.(k,, j . ; e) ] for 1 Â£ i < n i1 such that g^^ is pcomputable within Â£ on X.. Define X X(e; j , k) [ X = x(k, j; e) ] where j = MAX { j 1 1 Â£ i < n + 1 } and k " MAX { k .  s i <; n + 1 } . Since X is a refinement of Xj for l^iS n+1, then by Theorem 2.14 g^^ is pcomputable within Â£ on X by f . . Define f : X X by f(x) f 1 (x) if x< z v f(x) = f n+l (x) if x > V f(x) b f t (x) if z i _ 1 < x < z., Â£(z/)~ f i (z i ) if g is continuous from the left at z., and f(z i )= ^i+i( z i) if 8 is continuous from the right at z . . i Let y ^ La,b J . Case 1: Let z. . < y < z . If z, < [ yL < 2 . , then i~l l i1 ^ 1 i' g(y) f( L y\)  I g.(y) f Â£ ( Cy] x ) < Â€ . If LyJ z., then z < (g continuous from the left at z.) and g(y) f( Cy^)  g Â± (y) f Â± ( [y] ) * 6 . If LyJ z._., then z, , > (g continuous from the right at z. ) and g(y) f( [y] L ) g.(y) f.( [y^)! Â£ 6 .
PAGE 27
19 Case 2: Let y z.. If g is continuous from the left at z,, then i t  s(y) f( h\) I I s.(y) fi< [y\) ^ 6 . If g is continuous from the right at z., then  g(y) f( Cy\)   g i+1 (y) f. +1 ( Ey^) ^ . Hence, g is pcoroputable within Â€ 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 { k i  i 0,+l,+2,...,+r } be the partition of Ca,b] induced by X. Define u to be the variation of g on X where u = MAX ( Y  i = 0,+l,+2, . . . ,+r 3 5 J. and Y . = SUP { g(x)  x Â£ A. } INF { g(x)  x 6 A, ) . In the above definition, one assumes SUP = and INF 00. The closeness which a function can be approximated by a computable function is indicated to seme degree by its variation on X. 2.21 THEOREM: Let g: Ca,b] ^> [ c,d ] be with u > variation on X, 3 If < ' < u,,/2, then g is not pcomputable within Â£ on X . Proof: Let 6 > such that Â€ < uÂ„/2 6/2 Â» (u 6)/2. Then there exists x, y Â€ [a,b ] such that  S(x) g(y)  > u g 6 and [ xl = Eylj.
PAGE 28
Let f be any pcomputable function on X. Then u 6 <  g(x) g(y)  8  g(x) f( Cx] x )  +  fCCy]^ g(y) . Then g(x) f(Cx3,) * (v. 6 )/2 > Â€ 1 o or g(y) f( Cyl^l s (u g 6)/2 > 6 . Hence, g Is not pcomputable within ^ on X. Also important in the approximation of a function by a computable function is the maximum slope of the function. This property, of course, is not dependent on X. 2.22 THEOREM: Let g: Ca,b 1 " Cc,dl be dif ferentiable and within X, If g'(x) " M on La,bJ , then g is pcomputable within r a,b c Â» d /0 t M u x + u^ /2 on X. Proof: Define f: X Â» X by f(x) = C g( Cx] )L. Let y b A ^uÂ„ and  g(y) f( [y3 x ) =  s(y) Cg(C ^y\\)\  s  s(y) g( C [ y^lj)+ s( CC yl^) [g(C[y] i ] 3 )] 2  5 M y CCy3 1 D 3 l + uÂ£' d /2 s M u + u x ' /2.
PAGE 29
21 2.23 COROLLARY: Let g: Ca.bl Â» Cc,dJ be differentiate and within X. If I g'(x)  ^ M on Ca,b] , then g is pcomputable within 6 = (M+ 1/2)1^ on X.
PAGE 30
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 : X n Â» X m where X n and X ra 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 { x t  i = 0.+1.+2, . ..,Â±r: ) . 3.1 DEFINITION: Define a function f to be a (n,l) pconputable function on X if f: X + X. The set of all (n,l) pcomputable functions on X is C^(X) = U.: X n X  1 * i * (2r + 1) C(2r + ^l . Again one restricts all closed bounded intervals of interest to be within the range of the computer number set. 3.2 DEFINITION: Define x [a.,b.] to be within X if [a.,b.] for 1=1 1 <. i ^ n are within X. Define the function g: x La.j,b. J " Lc,dJ i=l X 22
PAGE 31
23 n to be within X if x [a.,b.J and Lc.dJ are within X, i= l * i These functions defined on the Cartesian product of closed bounded intervals are to be approximated by pcorr.putable functions. 3.3 DEFINITION: Let g: x [a.,b.] " Cc,d] be within X and Â£ > 0. i=l L X Define the function g to be pcompu table within Â€ on X if there exists a (n,l) pcomputable function f on X such that for every (y 1 ,y 2 >Â»y n ) 6 . x C a i> b ^ 8(y r y 2 ,...,y n ) nh 1 \,^y 2 \,Sy n \)\ * 6 . The following extension of definitions from Chapter II will aid the notation in this chapter. 3.4 DEFINITION: Define the truncating function for X n [ ] : R n > X n by l ty]j C(y 1 ,y 2 ,...,y n )] 1 (Ly^ l} [y 2 \, Â• ,ty n \) Â• The L J ' 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_x" [ 1 : R n ~> X n by Cy] 2 = [(y l' y 2'*" y n )] 2 = tfyiV^V''^nVLet x La. ,b.J be within X. Define the embedding function for i=l X 1 "" Xl [ ] 3 s X""> J^a.b.] by [yl 3 = Uy v y 2 ,...,y n )l 3 = (Cy^.Cy^, . . ., Cy n ] 3 ) .
PAGE 32
The [ ] ' s on the righthand side in the above equation are obviously the embedding function of X into La.,b.J . 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 LEMMA: Let the norm on R be the uniform norm where I! (x 1 ,x 2 ,...,x n ) II u MAX t  x t \ lM 5 n). Let x Ca.jbj] be within X. If y = (y 1 ,y 2 , . . . ,y n ) Â£ x Ca^bJ , i=l x ~*then yCy\ll u < v llyECyl^ll^V and  y [y]  u < ^\/2. By selecting the uniform norm for R n , the last lemma follows from the fact that the inequalities hold componentwise. Since the "standard" norm for R n m li r n 2 , 1/2 II (x ,x 2 ,...,x n ) {E x J i=l is related to the uniform norm by llxll * IUII *Â» 11*11 , 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.
PAGE 33
25 3.6 THEOREM: Let Y be a refinement of X, n g : x L a . , b . J "* [ c , d J i=l be v/ithin X, and Â£ > 0. If g is pcomputable within ! ~ on X, then g is pcomputable with ^ on Y. Proof : Let g be pcomputable within Â€ on X by h. Define f : Y n "* Y by f(y) h([yj[). Let y 6 x [a ,b ] . Since [Ly] Y ] X Cyf, then g(y) f(Cy]J)  s(y) h(CCy]^)  =  8(7) h(CyP)  *Â€ . Hence, g is pcornputable within ^ 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 cornposition with the truncating function. 3.7 THEOREM: Let g: x C a^b ] Â» [c,d] be continuous and Â€ > 0. i=l Then there exists a floating point L fixed point] computer number set X for any base such that g is pcomputable within Â£ on X . Proof: Since x La.,b. J is compact and g is continuous, then g is i=l uniformly continuous. Since g is uniformly continuous on x La.,b.J , i=l x x
PAGE 34
II then there exists 6 > such that x,y 6 x [a.,b.] and i1  x y  < 6 implies  g(x) g(y)  < 6/2. Let Y MIN {6 , 6 } . u By Lemma 2.7 there exists a floating point L fixed point J computer number set X for any base such that (1) x_ < MIN [ { a. .  1 Â£ i < n } U { c }], (2) x r > MAX [ 1 b t  1 s i ^ n 3 U { d }], and (3) u x * Y/2. Define f: X n Â» X by f(x) = [ g(Cx] )] . Let y 6 x [a.,b ] . 3 Z i=l x Then g(y) fCCy]^   s(y) CgClIy]^)^ 1 *  s(y) s(CCy] 1 l 3 ) + g([Cy] 1 ] 3 ) [gCCCy]^)^ Â£ 6/2 +6/26 since  y ~[[y] ]  < u ^ Y/2 < Y Â° . Hence, g is pcomputable 1 J U A within Â£ on X. 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. J 3.3 DEFINITION: Let x [a.,b.] be within X. Define i1 {A.. . . J r^i.^r and 1 < j ^ n n r i to be the part ition of x La.,b. J induced by X where i1 A = [y 6 x [a.,b.]  [y] (x. ,x J _ , ....Xi ) }
PAGE 35
27 3.9 DEFINITION: Let g: x [a ,b ] "* Cc,d3 be within X and 11 x X { A, . . . x \ r ^ i . ^ r and 1 ^ j ^ n } v. 1 lÂ» 1 2Â» Â• Â• Â• i *n' ^ n r , be the partition of x La.,b.J induced by X. Define u to.be the i=l 1 1 s vari atio n of g on X where u Â« MAX g ( Y , Â• , \ I r s i. s r and 1 * j s n 3 and y,. . , . = SUP { g(x) 1 xG A,. . . J INF { g(x)  x <= A . } . ^ L l ' 1 2 > ' ' " ,l n' 3.10 THEOREM: Let g: x [a.,b.] * [c,d] have u > variation 1=1 ^ X S on X . If < Â£ such that Â€ < u /2 6/2 = (u 5)/2. Then there n r i exists x,y Â€ x La.b.J such that 11 L X \g(x) g(y) 1 > u 6 and [x ] = [ y] , s 11 Let f be any pcomputable function on X. Then u g 6 < \ g( x ) g(y) 1 *  g(x) fCW^I +  f([y] 1 ) g(y) . Then g(x) fCCxl^J > (u 6)/2 > 6 or g(y) f(Cy] x > > (u g 6)/2> g. Kence, g is not pcomputable within G on X.
PAGE 36
28 The remainder of this chapter deals, with the general theory where functions of the form f: X n X 1 are studied, 3.11 DEFINITION: Define the function f to be a (n,m) pcomputable function on X if f : X n Â» X m . The set of all (n,m) pcomputable functions on X is C n (X) [f,: X n Â»X m 1 1 * i * C(2r + l) ni ] C(2r + ^ }. m i The hth component function of f is f, it h f : X n > X for 1 ^ h ^ m where rr Â• X > X is the hth projection function, h n m 3.12 DEFINITION: Define g: x La.,b.J Â» x lc.,d.] to . , Li . , ii i=l i=l n in be within X if x L a .,b. J and x Ec ,d ] are within X. 1=1 X L i=l * * n r i m r , 3.13 DEFINITION: Letg: x La.,b.J Â» x Lc.d. be within X and Â° , , i' l . . i' i i=l i=l S > 0. Define the function g to be pcomputable wit hin Â£ on X if there exists a (n,m) pcomputable function f on X such that the hth component function of g is pcomputable within Â€ 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 Lc.,d.J be within X and i=l x L i=l l 6 > 0. Then the function g is pcomputable within 6 on X if and only if there exists a (n,m) pcomputable function f on X such that for n r i every y Â£ x L a . ,b . J i=l X L
PAGE 37
29 g(y) Â£([y] )  ^ Â€ 1 u Definition 3.13 was selected over this equivalent concept to aid in the development of Chapter IV. n m 3.15 THEOREM: Let g: x La.,b.J Â» x l.c.,d.J be continuous and 11 X l 1=1 X X Â£ > 0. Tli en there exists a floating point [fixed point J computer number set X for any base such that g is pcomputable within Â€ on X . Pr oof : n Let g^ n hg: , La.,b.. La^b.J * L c^,d u J be the hth component function of g where 1h : m. Since g is continuous, then g, is continuous. By Theorem 3.7 there exists X, (b; j, ,k.) L X< (kj , jL; b) J such that g. is pcomputable within Â£ on X, . Define X = X(b; j, k) [ X = X(k, j; b)l where j MAX { J h \ 1 s h * m ) and k = MAX { k h \ 1 Â£ h ^ m } . Since X is a refinement of X,, then by Theorem 3.6, g^ is pcomputable within Â€ on X by f, for 1 ^ h ^ m. Define f: X * X m by n Â£ = f^ for 1 ^ h ^ m. Hence, g is pcornputable within Â£ on X by f. n r , m r 3.16 DEFINITION: Letg: x La.b.J Â» x Lc.,d] be within X and 1=1 X L i1 r 1 (A.. . . \ r * i. < r and 1 ^ j =2 n } O^i?,...,^) J be the partition of x [a.,b.] induced by X. Define u to be the i1 *' * 3 variation of g on_X where u = MAX { u \ 1 Â£ i < r.i } 8 Z t and u is the variation of the ith component function of g on X .
PAGE 38
30 n m 3.17 THEOREM:, Let g: x L a ,,b. J Â» x Lc.,d.J have u > i=l i=l x x s variation on X. If < Â£ < u_/2, then g is not pcomputable within 6 on X. Proof : Let u =Â» u where uÂ„ is the variation of the hcomponent S g h S h function of g on X. By Theorem 3.10, g is not pcomputable within Â€ on X. Hence, g is not pcomputable within Â£ on X.
PAGE 39
CHAPTER IV QCOMPUTABLE FUNCTIONS In Chapters II and III pcctr.putable functions of the form f: X 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 determine 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 Â© : XxX * X to be a computer addition function for X if for every x,yÂ€ X (1) Commutative law: x Â© y = y Â©x. (2) Identity law: x Â© = x. (3) Inverse law: xÂ© x = 0. By holding the first argument fixed in this computer addition function a new addition function y X > X is obtained for each element y of X. 4.2 DEFINITION: Let Â©: XxX * X be a computer addition function for X and y G X. Define y X > X to be the yth addition function on X where y(x) y Â© x 31
PAGE 40
32 for every x Â€ X. Also, define o = X Â» X by o(x) = to be the clear (o r zero) funct ion on X . The information which follows is developed for the general computer system (X, Â©, 1 , 2 , L 1 , L 2 ) where (1) X = { x i  i = 0,*1 ,+2, . . . ,+r } is a computer number set, (2) Â© : XxX * X is a computer addition function for X, (3) 1 (X) { s^ X * X  1 5 i < r. } is a set of singular number ical operators for X, (4) 2 (X) t t Â± : XxX"* X  1 Â£ i * r ? } is a set of binary numerical operators for X, (5) L 1 (X) In.: X + [t,F) l^ i < r 3 } is a set of singular logical operators for X, and (6) L 2 (X) = [v t : XxX Â» [t,F } 1 < i < r^ } 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 functio n on X I: P(X) > P(X) where P(X) is the power set of X by I(S) S U S L U s 2
PAGE 41
33 where s i%,e U o 13(s) is the set of numbers available from the singular numerical operators and S, = U 2 t(SxS) I t c 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 : X n > X is a(n,l) qcomputable function on X if for each (x, ,X2> . . . ,x n ) Â€ X there exists a finite sequence { y^ 1^ i < j] SX such that f( Xl> x 2 ,...,x n ) y y ^y h 'Y Jl+ i vy^.'hh^O where y t e I(S t ) lÂ£ i < j. The S.'s are defined inductively by s 1 { Xi  1 < i< Â„ } U {0} , S ? _ = S l U { ypWj] , and s k+i ;= s k u t y k Â» w kl where w fc = ^...y^i oy^ . . .y^y^) . In this definition the computability of a function is dependent on the computer system since the available number function is dependent
PAGE 42
34 1 o on X, (X) , and '(X) of the system. The definition assumes that numbers once calculated in the computer aire 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 (x,,X2> . . . ,x n ) can be reduced to the form f( Xl ,x 2 ,...,x n ) = y j y j _ 1 y k+1 y k (o) = Yj e (yj_ L e (Â•Â•Â•(yk+i Â© (yy. Â© Â°)) Â•Â•)) which is a finite Â©sum 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 o be any permutation of the first n integers. If the function f is qcomputable, then the function g: X n ~> X defined by g(x 1 ,x 2 ,... > x n ) = Â£(x 0(1) ,x a(2) ,...,x a(n) ) is qcomputable. Proof: Let (x 1 ,x 2 ,...,x n ) 6 X n . Since (x^q > x a (2) Â» Â• Â• Â• Â» X (j(n)* G X " and f is qcomputable, then there exists the finite sequence ( y, l ^ i ^ j] S x such that f(x a(D' x a(2)Â»x a(n) ) B yyro h 2 'y h +i z h l 'y 2h%a) ) ' Define the finite sequence { z^  1 < i ^ j+1 } by z, = x .,> and z. = yj_i for 2 < i <: j+1. Since yi (x a(D ) " ^l x (l)' 6(Xl) = MlÂ°< x l>Â»
PAGE 43
35 % a then g(x 1 ,x 2 ,...,x n ) = z j + i 2 jÂ•Â•Â°\Â• z 2 2 iÂ°( x 1 )Hence, g is computed by { z . \ 1 < i < j+l} at the point; (x, ,x ? , . . . ,x ) . 4.6 THEOREM: If the functions f: X n Â» X and g: XÂ™^ X are qcomputable, then the function h: x nri ' n ~ 1 Â» X defined by h(x 1 ,...,x m> ...,x mHi _ 1 ) = f(g(x 1 ,...,x m ) > x art . 1 ,...,x IBHl . 1 ) is qcomputable. Pr oof: Let (x 1 ,...,x n] ,...,x iT ,. n . ]L ) Â€ X" 1 '11 " 1 . Since (x^, . . . ^ 6 X 01 and g is qcomputable, then there exists the finite sequence { \r t  1 ^ i < j } c x such that x ~ S^ x i> x 2Â» ' ' ' ' x m^ = w. ...Wi . ..w* +{oWs Â• Â• .w ? w, (x.) . j J2 J i Ji * Since ( x oÂ» x mflÂ» * * * Â» x mfnl^ ^ *" and f is qconiputable, then there exists the finite sequence { z^l l^i^k}sx such that f ( V X nril" ' " Â• 3 Wnl ) = *k' Â° S k 2 Â«k 1 +l S Â«k 1 Â•Â•Â«2*1
PAGE 44
36 4.8 THEOREM: If the functions f: X n Â» X and g: X m > X are qcomputable and 1 ^ j ^n, then the function h: X"'''"" 1 Â» X defined by f(x 1 ,...,Xj_ 1 ,g(y 1 ,...,y m ) ,x . , . . . Â»x n .{) is qcomputable. Proof: Define the function f Q : X n Â» X by f 0^ x ,X l' * ' * ,X nl/ f ( x i> Â• Â• Â• > x j 1 > x ,x j * ' ' ' ,x aP ' By Theorem 4.5 the function fÂ„ is qccmputable. Define the function h Q : X m ' n ~ l Â»X by h (y l"" >y ra' x l'" x n^l ) = f o< s(y l'"" y m>> x l"" x nl ) By Theorem 4.6 the function hg is qcomputabie. Since h(x 1 ,...,x.. 1) y 1 ,... ) y ui ,x.,...,x a _ 1 ) = f (g(y 1 ,....y m ),x 1 ,...,x n _ 1 ) = b (y 1 ,...,y m ,x 1 ,... s x n _ 1 ), then by Theorem 4.5 the function h is qcomputable. 4.9 COROLLARY: If the functions f: X n "Â» X and g: X m * X are qcomputable where 1 < m < (n1) , then the function h: X > X defined by 'U x i > Â• Â• Â» x ,,> Â• Â• Â• > x Â„ i ' = i in n 1 f (x r . . . ,v 8(x i* ' ' Â• >\? ' V:i' Â• Â• Â• > x ni> is qcomputable. Pr oof : Define the function h n : X " > X by
PAGE 45
37 h (Xp Â•Â•Â•Â» x m .yi>Â•Â•Â»y : ,i> x I Tr!l>* ' Â» x nl^ = f(x 1 , . . . ,x m ,g( yi , . . . ,y in ) ,x mn , Â• Â• Â• ,x n _ 1 ) . By the theorem the function \\q is qcoinputable. Let (x, , . . . ,x , . . . ,x n _i) Â€ X n ~ . Since (x.,...,x ,x. , . . . ,x ,x . ,,..., x ,) 6 x^" 11 " 1 and the 1 ml m mrl n1 function hÂ„ is qcornputable, then by Definition 4.4 of a qcoraputable function, there exists the finite sequence { y l^i^j} which computes the value of the function h^ at the point (x , . . . ,x ,Xp...,x ra ,x , . . Â•,x n _ 1 ) . This same sequence { y^^  1< i< j } computes the function h at the point (x,,...,x ,x ,.,..., x ,) . Hence, 1 in rrtr 1 n i 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: X n Â» X tn by requiring that the component functions be qcomputable. 4.10 DEFINITION: The function f : X n * X ra is a (n,m) jg^cjm^utabl function on X if the component functions of f, f. =* TT f : x n " X for 1 ^ i ^ m, are (n,l) qcomputable functions on X. Clearly a permutation of the component functions of a qccmputable function leads to a qcomputable function. 4.11 THEOREM: Let f: X n ~> X ra and a be any permutation of the first m integers. If the function f is qcomputable, then the functi g: X * X defined by component functions on is qcomputable. m
PAGE 46
33 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: X n > X m and a be any permutation of the first n integers. If the function f is qcomputable, then the function g: X n > X 171 defined by g(x 1 ,x 2 ,...,x n ) f ( x ( 1 )> x u (2)Â»"> x a ( n ) ) is qcomputable. Proof: The theorem follows from Theorem 4.5 being applied to the component functions of g. Then the composition of qcomputable functions is again a qcomputable function. 4.13 THEOREM: If the functions f: X n Â»X ra and g: X k > xJ are qcomputable where 1 j ^ n, then the function h: X n "J > X defined by h(x l' Â• ' * Â» x k' x k+lÂ» " ' Â• ,x k+nj* = t'CgCx^ Â• Â• Â• >x k ) ,x k+1 , . . . Â» x k ... n _ j) is qcomputable. P roof : 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 theorem is true for j. Let f: X n + X m and g: X < * X^
PAGE 47
39 where 2 s j!l n. Define gÂ„: X Â» X J such that the ith component X k Â» X j su function of g~ is equal to the ith component function of g for 1 * i ^ j. Define h Q : X k+n " j Â» X m by h (x 1 ,x 2 , . . . ,x k ,x k+1 , . . . Â»x k+n _j) =Â» f (8 (x 1 , Â• Â• Â• >x k ) Â» x k+ i> Â• Â• Â• Â» x k+nj ) which is qcomputable by the hypothesis. Define h: X lV * * X by h(x 1 ,x 2 ,...,x k ,x k+1> . Â•Â•Â»Xi pKn .j.i) h (x 1 ,...,x k ,TT j+1 ,g(x 1 ,...,x k ) tX k+1 ,.. Â•Â»Â« efn _j.i) f (S (x 1 , . Â• Â• ,x fc ) ,n jJrl ,g(x 1> . . . ,x k ) ,x k+1 , . . . Â»x 1 .., rn _j_ 1 ) = f (g(x 1> . . . ,x k ) ,x k+i , . . . ta^.j.j) 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 computable functions are closed under functional composition. 4.14 THEOREM: If the functions f: X n > X m and g: X k Â» yJ are qcoinputable where 1 < j Â£ n and 1 < i < (nj J rl) , then the function h: X k+n "J > X m defined by h(x,, 1' ' el ; 1 ''k e' ' nj' Â£(X 1 Vl' 8(y i V' X e Vj 5 is qcomputable. Proof: Define the function f Â„ : X n > X m by V y l>">y.j> x l>"> x nj> = '^b Â• Â• Â• > X Q_][ >Y\> Â• Â• Â• >7 ; s x e> Â• Â• Â• Â» x nÂ•
PAGE 48
40 By Theorem 4.12 the function f is qcomputable. Define the function v khnj m h : X J X by h (y l>" y k> x l>"> x nj> a Â£ (g(y 1 t Â• . ,y k ) ,x 1( . ...x n ,) . By Theorem 4.13 the function h Q is qcomputable. Since h(x 1 , . . . Â»x e _ 1 ,y 1 , . . . Â»y k ,x e , . . . ,x n _ ) f (X V . . . ,X e _ 1 ,g(y 1 , . . . ,y k ) ,x e , . . . s x n _ .) = ^Qvsv.y^ > Â• Â• Â• >yyj > x i Â» Â• Â• Â• Â» x n _ j) = h ^l" Â•Â•>ykÂ» x l>"Â» x nj^> then by Theorem 4.12 the function h is qcomputable.
PAGE 49
CHAPTER V COMPUTABLE 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 compos it ion. A connection is then made between these computable functions and the qcomputable functions of Chapter IV. 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 Â©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 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,Â©, 1 , 2 , L 1 , L 2 ) be a computer system where (1) X { x^ i ,+1 ,+2 , . . ,+r } is a computer number set, (2) Â© : XxX > X is a computer addition function for X, (3) (X) = { s jL : X > X  1 <. i < r^ } is a set of singular numerical operators for X, (4) 2 (X) = { t Â± : XxX > X  1 <; i < r Â£ } is a set of binary numerical operators for X, 41
PAGE 50
42 (5) L*(X) [u.: X ~> [T,F]  1 <; i <. r 3 } is a set of singular logical operators for X, and (6) L 2 (X) { v Â£ : XxX > {T,FJ  1 < i < r 4 } 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 (x.x,...^ ) of X , the initializing operation when executed causes the number x. to be loaded into storage location i where 1 < i ^ n, the number x, to be loaded into the sum register, the number zero to be loaded into storage location zero, and ill other storage locations to be emptied. (2) ADDITION OPERATION: An addition operation is a quadruple of natural numbers \ J i Â» J 2 Â» J 3 Â» J a' where (a) j, is the identifier number, (b) j~ and j^ are storage locations, and (c) j, is the next identifier number. The addition operation when executed causes the number loaded in storage location j~ to be added to the sum register and the new sum to be loaded into storage location j~. (3) SINGULAR NUMERICAL OPERATION: A singular numerical operation is a quintuple of natural numbers CJ 1 .J 2 ,J 3 ,J 4 ,J 5 ) where (a) j, is the identifier number, (b) j_ is the singular numerical operator number,
PAGE 51
43 (c) j_ and j, are storage locations, and (d) j, is the next identifier number. The singular numerical operation when executed causes the jÂ„ numerical operator, s. , where 1 < J2 < r, to operate on the number loaded in storage location jj. The result is loaded into storage location j/ . (4) BINARY NUMERICAL OPERATION: A binary numerical operation is a sextuple of natural numbers where (a) j, is the identifier number. (b) j~ is the binary numerical operator number, ( c ) J3> J4> an d J5 a ^e storage locations, and (d) j is the next identifier number. o The binary numerical operation when executed causes the j~ numerical operator, t. , where 1 < j 2 < rÂ„ to operate on the numbers loaded J 2 * in storage locations j 3 and j^. The result is loaded into storage location (5) SINGULAR LOGICAL OPERATION: A singular logical operation is a quintuple of natural numbers where (a) j is the identifier number, (b) j 2 is the singular logical operator number, (c) j is a storage location, and (d) j. and j,. are next identifier numbers.
PAGE 52
44 The singular logical operation when executed causes the j~ logical operator, u. , where 1 <. j <, r, to operate on the number loaded in J2 Li storage location jj. If the result is T, then the next identifier number is ja. Otherwise, the next identifier number is j<. (6) BINARY LOGICAL OPERATION: A binary logical operation is a sextuple of natural numbers \ ji Â» J2> J3Â» J/j,* J5Â» Jfi' where (a) j 1 is the identifier number, (b) J2 is the binary logical operator number, (c) j and \ t are storage locations, and (d) jc and j^ are next identifier numbers. The binary logical operation when executed causes the j^ logical operator, v. , where 1 < jo ^ r A to operate on the numbers loaded in storage locations j^ and j, . If the result is T, then the next identifier number is jr. Otherwise, the next identifier number is j,. (7) CLEAR OPERATION: The clear operation is a pair of natural numbers (W where (a) j 1 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
PAGE 53
45 where j is the identifier number. The stop operation when executed causes the procedure to come to a stop. I ? 1 2 5.2 DEFINITION: Let (X, Â©, , 0", L , L ') be a computer system. An aJjjojrJLthim for a function from X n into X is a finite sequence of operations, { L.  Â£ j Â£ k } , where (1) the first operation, L~, is an initializing operation, (2) the last operation, Li , 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,,x ? ,...,x ) of X n . The initializing operation of the sequence loads the point (x. ,x , . . . ,x ) into storage, loads the number zero into storage location zero, loads the number x, 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 X 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 *+l 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
PAGE 54
46 term SUM in place of a natural number in an operation. The value of the algorithm for the point (x.,x ,...,x ) is the number in the sum 12 n register when the stop operation is executed. The algorithm defines the function f: X > X where f (x. ,x_, . . . ,x ) is this number in the sum register when the stop operation is executed. 5.3 DEFINITION: A function f: X n > X is defined to be a lnJj__corapu table 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. 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: X n > X defined by g(x.,x t ... y x ) = f(x ,x , ...,x ) 12 n a (l) (2) u(n) is computable. Pro of: Let {L. I <. j < kk } be the algorithm which defines the function f: X n >X. One should note that L is an initializing operation and L, , is a stop operation. Define the algorithm f L"f I < i < 2(n+2)lkk1 kk L j J as follows: (1) Let the operations L S and L^, 1 < k < n be 2k 1 2k Clear (2kl, *+l) Addition (2k, a (k) , n+l+k, *+l) . (2) Let the operations L^ ,, and lA , Â„ be 2n+l 2nf2
PAGE 55
47 Clear (2ntl, *+l) Addition (2n+2, 0, n+1, *+l) . (3) Let the operations Lx ,_ and LÂ° . be 2n+3 2nl4 Clear (2n+3, *H1) Addition (2n+4, n+2, n+2, *+l) . o (4) Let the operation \Jt. . be the same type of operation as L where 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 { L .  ^ j ^ kk } defines the value of the function f for the point (x /1N ,x , . . . ,x , then the algorithm aU) a(2) a(n) { L, < j < 2(n+2)+kk } defines the value of the function g for the point (x ,x , . . . ,x ). Hence, the algorithm { L: < j < 2(n+2)+kk } defines the function g: X > X. 5.5 THEOREM: If the functions f: X n > X and g: XÂ™ > X are computable, then the function h: X 1 ' > X defined by h(x 1 , . . . ,x m , . . . ,x mfn _ 1 ) : f (g(x 1 , . . . ,x m ) ,x mfl> . . . ,x mfn _ 1 ) is computable. Proof : Let the algorithm { L.  < j < kk } define the function g: X > X, and the algorithm { L. < j <. kkk } define the function f: X > X. Let G: Nx {1,2} > N where N is the sat of natural numbers be a onetoone and onto map such that (J) G(j,l) = j f or <: j
PAGE 57
49 function h for the point (x. ,xÂ„, . . . ,x , ,) . Hence, the algorithm 12 ra+n1 Â° { L h I ^ j < 3+kk:kkk ) defines the function h: x"^" 1 > X. J 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 : x" > X and g: XÂ™ > X are computable and 1 < j < n, then the function h: x 1 '' 1 "'" 1 " 1 > X defined by nQx. , . . . > x }_i>y^ >Y2 ' " ' ' ^m'* j Â» * Â• Â• > X n1' ~ Â•^i i Â• Â• Â• > X 4_]>Â§'yiÂ» Â• Â• Â• '^V/ > x ; > Â• Â• Â• ,X n 1' is computable. Proof : The proof is identical to that of Theorem 4.8. 5.3 COROLLARY: If the functions f: X n ~> X and g: XÂ™ Â•> X are computable where 1 < m <. (n1) , then the function h: X n ~ > X defined by *Â»(*!,. Â• Â• ,x n _!) f(x 1 , . . . > x in ,g(x 1 ,. . . ,x m ) , Xmfl , . . . ,x n _ 1 ) is computable. Proof: Define the function h : X > X by V x l' Â• ' * Â»*mÂ»*lÂ» ' Â• ' >>V x m:l> ' ' * ^nl) = f (x p . . . ,x m ,g( yi , . . . ,y m ) ,x mfl , . . . ,x n _ 1 ) . By the theorem the function h is computable. Let the algorithm [ Lj  ^ j < kk } define the function hÂ„ . Define the algorithm { L  < j < 2n:kk } as follows:
PAGE 58
50 (1) Let the operations L and L for 1 < k < (n1) be 2kl 2k Clear (2kl, *+l) Addition (2k, nk, m+nk, *+l) . (2) Let the operations L and I, be 2nl 2n Clear (2nl, *+l) Addition (2n, 1, 1, *f 1) . v. (3) Let the operation L be the same type of operation 2n+k as L. where the identifier number and the next identifier number have been increased by 2n for 1 S k < kk. Since the algorithm [L.  Â£ j < kk } defines the value of the function h. for the point (x,,...,x ,x, . . . . ,x ,x ,.,... .X ,), 1ml m' n+1' ' n1 then the algorithm { L  < j < 2n+kk } defines the value of the function h for the point (x.,...,x ,x . , . . . Â»x n _i) Â• Hence, the algorithm { L h  <, j < 2n+kk } defines the function h: X n ~ Â» X. 5.9 DEFINITION: The function f : X n > XÂ™ is a (n,m) computable function on X if the component functions of f, f . ^.f : X n _> X for 1 ^ i :Â£ m, are (n,l) computable functions on X. 5.10 THEOREM: Let f : x" > XÂ™ and X m defined by component functions g i (x 1 ,x 2 , . . . ,x n ) = f a (l)( x l> x 2' Â• ' # > x n^ 1 <: i < m is computable.
PAGE 59
51 Proof: The proof of this theorem follows directly from Definition 5.9 of a (n,m) computable function. 5.11 THEOREM: Let f: X n > X m and a be any permutation of the first n integers. If the function f is computable, then the function g: X n > X m defined by 1 2 n q(1) a(2) a(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 : X n > X rn and g: X k > X^ are computabli where 1 < j < n, then the function h: X n " J ~> XÂ™ defined by h(x 1 , . . . ,x k ,x kHl , . . . ,x k+n _j) f (g(x 1> . . . ,x fc ) ,x k+1 , . . . ,x k+n _ j) is computable. Proof: The proof is identical to that of Theorem 4.13. 5.13 THEOREM: If the functions f : X n > X m and g: X k > X j are computable where 1 < j < n and 1 < e < (nj+1) , then the function h: X k+n ~J Â•Â» X m defined by h(x i'"Vl' y i \> X e Vj' = f(x 1 ,...,x e 1 ,g(y 1 ,...,y k ) ,x c ,...,x n _j) is computable.
PAGE 60
52 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 qcompu table functions. 5.14 THEOREM: If the function f : X n > X is a computable function, then f is a qcomputable function on X. Proof : Let the algorithm { L , <. j < kkk] define the function 1 ,* 2 ,...,x n ) G X n . Let [L z . I 1 < I < kkk} be th< f: X Â» X and (x.. ,x., , . . . ,x finite sequence of addition, numerical, and clear operations executed in order in the evaluation of the algorithm for the point (x. ,x_ , . . . ,x ) . 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 { y 2il  1 *= i Â£ kkk } , { y ? .  1 < i < kkk } , and { Wj .  1 Â£ i < kkk } as follows: (1) In the case where L. is a Clear Operation, define w. 0, J l l y. "0, and y, . In the case where L. is an Addition Operation, 1 Z Jl define w, = zÂ©x, , y, z, and y^ where z is the number in the storage location referenced in the operation. In the case where L. J l is a Numerical Operation, define w. = x, , y. = s (z) or y, = t (^i> z o)Â» and y~ = Wi where r is the numerical operator number and z or (z,,z,) are the numbers in the stora.ee locations referenced in the operation.
PAGE 61
53 (2) In the case where L, is a Clear Operation, define w, =0, Ji i v., . . ~ 0, and y_. = 0. In the case where L, is an Addition Operation, Zx1 2i j. define w. = zÂ®\j.^ t y 2 _i ~ z > an( * y? Â• ~ where z is the number in the storage location referenced in the operation. In the case where L. is a Numerical Operation, define w. = w. i, y~ . . s (z) or y^ii = t (z,,z 2 ), and y~. w^ where r is the numerical operator number and z oc (z,,z~) are the numbers in the storage locations referenced in the operation. The sequence { y^  1 < i < 2kkk } then satisfies the conditions in Definition 4.4 of a qcomputable function. 5.15 THEOREM: Let f: X n X be a qcomputable function and x = (x ,x 2 j . . . ,x ) G X . Then there exists a computable function g: X n + X such that f(x) g(x) . Pr oof : From Definition 4.4 of a qcomputable function, there exists a sequence { y.  l
PAGE 62
54 where w = y . . .y. + ,oy * * * y 2^1^ X l^ * tet G: Nx t 1,2,3 } "* N where N is the set of natural numbers be a cnetoone and onto map such that G(i,l) = i for ^ i ^ n. With the aid of this map, a storage convention 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 y. for 1 < i < n, and (4) G(i,3) is the storage location number of w. for 1 < i ^ j. In an algorithm, the numbers yfor 1 < i < j are generated by numerical operations and the numbers w. for 1 < 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 { L7 I <. i <. kk} can be determined 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 X . This modification is possible if there is a binary equality logical operator. 5.16 DEFINITION: Let V Â£ L (X). The v is a binary equ ality logical operator if v(x,y) = T if and only if x Â™ y for every (x,y) 6 XxX.
PAGE 63
5.17 THEOREM: Let f: X n *X be a computable function, g: X n > X be a qcornputable function, and y (y .y^, . . . ,y n ) Â€ X . If there is a binary equality logical operator in L~(X), then there exists a computable function h: X > X such that f (x) = h(y,x) for every x g X n { y } and g(y) = h(y,y) . Proof: Let the algorithm { L.  < i <> kk } define the function f: X 1 Â» X, and the algorithm { L.  ^i < kkk } , obtained from Theorem 5.15, define the function %'. X Â» X such that g n (y) g(y) . Assume that the binary equality logical operator has the operator number of 1. Define the algorithm [L.  < i < kk+kkk+n+2 } as follows: (1) Let the operations L for 1 < i < n1 be i Logical (i, 1, i, nii , *+l, n!l) . (2) Let the operations L , L , , , L ,_. and L , Â„ be n n+1' n+2 n+3 Logical (n, 1, n, 2n, n+kk+3 *+l) Clear (n+1 *+l) Addition (n+2, 0, n, *+l) Addition (n+3, n+1, n+1, *+l) . (3) Let the operation L . be the same type of operation as n+3+i L. where the identifier number and the next identifier number have been increased by n+3, and the storage location numbers have been increased by n for 1 < i <, kk1. Then any next identifier number of n+kk+3 is changed to kk+kkk+n+2 .
PAGE 64
56 (4) Let the operation L ,,, ,_.. be the same type of operation n+kk1211 as L. where the identifier number and the next identifier number have i been increased by nikk+2 for 1 ^ i < kkk. Then the algorithm { L ]  < i ^ kk+kkk+n+2 } defines the function h: X > X such that f(x) = h(y,x) for every x Â£ X {y} and g(y) = h(y,y) . One should note that the function h: X " n > X is defined for all points of X " . In the case where { z,x} Â£ X , if z r x then h(z,x) = f (x) . While if z = x, then h(z,x) = g (x) . 5.18 THEOREM: Let f: X n > X be a computable function, g: X n > X be a qcomputable function, and {y. 1 < j < k} Â£ X n . If there is a binary equality logical operator in L (X) , then there exists a computable function h: x^' 1 ) 11 > X such that f(x) = h(y k ,y k _ 1 ,...,y 1 ,x) for every x t X n {y^  1 < j < k} d g(Yj) h (y k ,y k _ 1 ,...,y 1 ,y. j ) for 1 < j < k. an 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 { y.  1 < j < ki1 } G X n . Let the algorithm { L Â°  <; i < kk } define the function h^: X > X such that f(x) h (y k ,y kl ,...,y 1 ,x) for every x 6 X n { y  1 < j y l Â» y j) for ! ^ < k * This algorithm exists from the hypothesis. Let the algorithm { L^O I <. i Â£ kkk} , obtained from Theorem 5.15, define the function g Q : X n Â» X such that gCy^^) = Co^ y k+l^ " Assunie that the binary equality
PAGE 65
57 logical operator has the operator number of 1. Define the algorithm { L 1?  ^ i <: kk+kkk+n+2 } as follows: (1) Let the operations L. for 1 < i ^ n~l be Logical (i, 1, i, (kfl)nH, *+l, n+1). (2) Let the operations L , L , L and L . . be v ' * n' n+1 n+2 n!3 Logical (n, 1, n, (k+2)n, n+kk+3, *+l) Clear (n+1, *+l) Addition (n+2, 0, n, *+l) Addition (n+3, n+1, n+1, *+l) . i. (3) Let the operation L be the same type of operation as n+3+i h L where the identifier number and the next identifier number have been increased by n+3, and the storage location numbers have been increased by n for 1 ^ i <. kk1. 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 a i L. where the identifier number and the next identifier number have been increased by nlkk+2 for 1 < i < kick. r h , Then the algorithm [ L .  ^ i < kk+kkk+n+2 J defines the (k+2) n function h: X ' > X such that f(x) = h(y k+1 ,y k , . . . .y^x) for every x Â€ ^ { Yj  1 < j ^ k+1 } and g(y..) h(y k+1 ,y k , . . . , y]L ,y ) for 1 <, j < k+1. One should note that the function h: X * X is defined for all points of X^ ^ n . In the case where [Zj < j <, k+1] G x n , then h(z k+1 ,z k> . . . ,Zj ,* Q ) = h Q (z k , . . . ,z 1 ,z () ) Wlille if z k+1 z Q , then h(z k+1 ,z k , . . . , Z] _ ,z Q ) = g Q (z k+1 ) .
PAGE 66
58 In the above theorem, the point (y, ,y, , ,... ,y.) 6 X n can be thought of as a constant during calculation. Then the function h: X > X would compute the function f: X* * X with the function g: X > X option at points {y.  1 ^ j < k ) G X n . In this sense, every function of the form f: X X is computable. 5.19 DEFINITION: Let f: X n X and x Â£ X m . Define f to be a computable function on X with X q as constant if there exists a computable function g: X nfm X such that f(x) g(x Q ,x) for every x 6 X . 5.20 THEOREM: Let f: XÂ° ~*X. If there is a binary equality logical operator in L (X) , then f is a computable function on X with some Xq as constant. Pr_oof : Since the cardinality of X is finite, then x can be selected such that every element of X is a component of x_. Then with the binary equality logical operator, the different points of X 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,
PAGE 67
59 then one would think that most of the functions f : X n > X would be computable. In fact, in soma computer systems all functions f: X > X are computable. 5.21 DEFINITION: Define the computer system (X, Â©, 1 , 2 , L 1 , L 2 ) tc be comp lete if every function f : X n > X is computable. 5.22 THEOREM: Let X be a computer number set and Â© : XxX > X be a computer addition function. Then there exists a complete computer system (X, 8, 1 , 2 , L 1 , L 2 ) . 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 Â£ X, define u I(x) : X[T.F] by u r / x \(y) = T if and only if x = y. Also, for each x G X, define s T , , : X > X by I(x) ' s (y) x for every y 6 X. Define l (X) { 3 j: X Â» X  I < j < r } , ~2. N (X) = empty set, 1/v L X (X) = {u:XÂ» {T,F} I 1 < j < r } , and 2, Â„ L (X) = empty set. Let T Q : X n Â•> N be an enumeration of X n and r Q r n the cardinality of X n Define the algorithm { L f  <; i < r Q (n+3)+l} by (1) Let (y i ,y 2> ...,y n ) Â€ X n , I (y 1 ,y 2 , . . . ,y a ) = k, and kk (kl)(n+3) .
PAGE 68
60 f (2) Define operations L for 1 ^ j ^ n by kk+j Logical (kk+j, I(y), j, **1, kk+n+4) . f f f (3) Also, define operations L . L , and L by r kk+n+1 kk+n+2j kk+n+3 J Clear (kk+n+1, *+l) Numerical (kk+rrf2, I(f (y,y 2 , . . . ,y n )) , 0, 0, *+l) Addition (kk+n+3, 0, 0, r Q (iri3)+l) . Then the algorithm {L.  < i <, r (n+3)+l } defines the function f : X n > X .
PAGE 69
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 S 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 Â©sum overflow condition occurs when the high order carry is present. Hence, if the Â© sum 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 x j^ Â• Â• Â• x i c ,x kMl ' " ' x k+i I sgn = + or " and x ~ Â° or * ) Â» x,y Â£ X with 61
PAGE 70
62 x sgn 1 x 1 x 2 ...x k .x k+1 ...x k+j , y s 8 n 2 yiy2y ky k+ryk+j' and z = x + y = sgn ^z^. . .V z k+1 . .z k+j . Define the computer addition function for the fixed poin t computer number set X Â© : XxX Â» X by x ffiy = sgn a 1 z 2 '2 k' Z k+l" Z k+jA Â©sura overflow condition is said to exist in the Â©sum if z n Â£ 0. Also, in the number x, x is the high order dig it of information while x, is the low order digit of info rmation . 6.2 THEOREM: Let x,y 6 X(k,j;2). If Â©sum overflow condition does not exist in the Â©sum, then x + y = x Â© 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 determine 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 s 1 and j ^ 0, is defined by the following flow chart.
PAGE 71
63 6.3 FLOW CHART: Let X X(k,j;2) = [ sgn x . . ,x, .x . . .x. .  sgn = !or and x, = or 1 ] where k ^ 1 and j ^0. Define the multiplication operator *: XxX > X by a * b Block AA Block B3 NO
PAGE 72
64 Block CC Block DD * NO SHIFT SUM RIGHT L Ll SUM SUM Â© x
PAGE 73
65 An overflow condition can exist in the multiplication operation. 6.4 DEFINITION: Let X = X(k,j;2) = [sgn x^ . x^x^. . .x k+ j  sgn = !or and x Â£ or 1}, x,y Â£ X with x = sgn 1 x 1 x 2 ...x k .x k+1 ...x k+j , y 8gn 2 y 1 y 2 ...y k .y ta . 1 ...y w . j , and z = xy = sgn z^. . .* 2k .* 2 feUÂ• ' z 2k+2j ' A "product overf low c ondition is said to exist in the "product of x and y if there exists a z. ^ 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 Â©sum overflow is prevented during the add operation in Block CC . In Chapter VIII another multiplication operator will be defined which prevents this Â© sum 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 Â©sum overflow in the addition operation in Block DD, then there is 'product overflow in the multiplication operation. Also, *pro duct overflow can occur in the multiplication 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.
PAGE 74
66 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 a 1 and j SO. If (a,b) Â£ XxX [0,1] then (1) ab a*b Â£ u x , (2) a*b b*a, and (3) a*b < a . 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 Slock 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 s 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 overflew 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
PAGE 75
67 operators would be the seme 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 Â£>: XxX * X , for all binary fixed point computer number sets of the form X X(k,j;2) where k ^ 1 and j s 0, is defined by the following flow chart. 6.6 FLOW CHART: Let X = X(k,j;2) = { sgn x { where k ^ 1 and j s 0. Define the division operator $: XxX X by Â• X k* X k+l'" X k+j I 3 S n = + or and x Â± = or 1 ) a $4 b = Block AA C START J x +  a y  b SUM = x z L T
PAGE 76
68 Block BB * Block CC NO YES NO NO SUM = SUM Â© y SHIFT y RIGHT L l.l F
PAGE 77
69 Block DD < Block EE NO YES SUM = SUM y z(KL) a 1 SHIFT y RIGHT L = Ll YES SUM = SUM Â© y z(KiL) = 1 SHIFT SUM LEFT L = L+l
PAGE 78
70 /Â• Block FF YES z =
PAGE 79
71 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 ^quotient overflow has occurred in the division operation. Ii\ 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 cf these blocks. In Block ES 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 > . If a,b 6 X with  a / b < 2 k and b 1 0, then a / b a Â£ b ^ " x
PAGE 80
72 Proof : The proof of the theorem follows from the fact that a *S b is the true quotient of a dividend by b to j binary places. The requirement that  a / b  < 2 prevents fiquotient overflow in the division operation. The overflow is prevented since the comparison operation in Block CC would never be satisfied. The requirement that b.. == 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, Â© , 1 , 2 , L 1 , L 2 ) has the following components: (1) X = X(5,3;2) = { sgn x,x 2 x 3 x,x,.x^x ? Xg  sgn = + or and Xj = or l] , (2) Â© : XxX > X as defined in Definition 6.1, (3) 1 (X) { s.  1 < j < 13} whe lere j (a) 3 1 (sgn x 1 x 2 x 3 x 4 x 5 .x 6 x 7 x 8 ) = sgn 1 x 2 x 3 X 4 X 5Â« X 6 X 7 X 8Â» (b) s 2 (sgn Xjx 2 x 3X4X5 .xgXyXs) = sgn *i 1 X3X4X5.X6X7X8, (c) s 3 (sgn x 1 x 2 x 3 x 4 x 5 .x 6 x 7 x 3 ) = sgn xjx 2 1 x 4 x 5 .x 6 x 7 x 8 , (d) s 4 (sgn x 1 x 2 x 3 x 4 x 5 .x 6 x 7 x 8 ) == sgn x x x 2 x 3 1 x 5 .x 6 x 7 x 3 , (e) s 5 (sgn x x x 2 x 3X4X5. x 6 x 7 x 8 ) sgn x 1 x 2 x 3 x 4 1 .x 6 x 7 x 3 , (f) s 6 (sgn x jX 2 x 3X4X5 .x & x 7X3) = sgn :< 1 x 2 x 3 x 4 x 5 . 1 x 7 x 8 , (g) s 7 (sgn x 1 x 2 x 3 x 4 x 5 .x & x 7 x 8 ) = sgn x 1 x 2 x 3 x 4 x 5 .x 6 1 x 8 , (h) s 8 (sgn x x x 2 x 3x4x5 .x 6 x 7 x 8 ) sgn x 1 x 2 x 3 x 4 x 5 .x 6 x ? 1,
PAGE 81
73 (i) s 9 (sgn x 1 :< 2 x 3 x 4 x 5 .x (3 x 7 x 8 ) sgn x 2 x 3X4X5X5 .XyXgO , (j) s 1Q (sgn x jX 2 x 3X4X5 .x 6 x 7 x 8 ) sgn x 1 x 2 x 3 x 4 .x 5 x 6 x 7 , (k) s u (x) 0, (1) s 12 (x) = + x , and (m) s 13 (x) = I x I . 2 (4) (X) ^ the empty set. (5) L ] (X) { u. I 1 < j < 8 } where (a) u^x) = T if .and only if Xj^ = (b) u 2 (x) = T if and only if x 2 = (c) uJx) = T if and only if x^ =Â» (d) u^(x) = T if and only if x^ = (e) u,(x) = T if and only if x,= (f) u^(x) = T if and only if x & = (g) u^(x) = T if and only if x, = (h) u 3 (x) = T if and only if xÂ„ = (6) L 2 (X) {v. I 1 < j < 2 } where (a) v (x,y) = T if and only if xy ^ and (b) v 2 (x,y) T if and only if x <; y  . In the computer system one should note that the numerical operators s g and s 1Q are, respectively, the shift left and shift right operators. The flow chart and algorithm that follow are for the multiplication operator for the computer system. The flow chart is a special case of Flow Chart 6.4. and
PAGE 82
7A 6.9 FLOW CHART: Let X = X(5,3;2) a { sgn X 1 X 2 X 3 X 4 X 5 ' X 6 X 7 X 8 I scn = + or " and ". = ot 1} Define the multiplication operator *: XxX > X by a * b = NO x = x (
PAGE 83
75 NO YES SUM = SUM Â© x SHIFT SUM RIGHT NO YES SUM = SUM Â© x SHIFT SUM RIGHT SUM = SUMÂ© x SHIFT x LEFT T
PAGE 84
76 NO
PAGE 85
77 6.10 ALGORITHM: Let X = X(5,3;2). Define the algorithm for the multiplication operator *: XxX > X by INITIALIZING
PAGE 86
78 *+l *+l *+l,29 *+l *fl *+l,32 *+l *+l *+l,35 *+l *+l,37 *+l The flow chart and algorithm which follow are for the division operator for the computer system. Tlie flow chart is a special case of Flow Chart 6.7. 6.11 FLOW CHART: Let X = X(5,3;2) = { sgn x x x x.x .x,x 7 x,a I sgn = + or and x. = or 1} . Define the division operator ^: XxX Â» X by ADDITION
PAGE 87
79 i> b = C START D x = +  a y b SUM = x z SHIFT y LEFT YES O SHIFT y LEFT YES 0 YES
PAGE 88
80 NO 1 SHIFT y LEFT SHIFT y LEFT SHIFT y LEFT SHIFT y LEFT YES i = sum e y SHIFT y RIGHT
PAGE 89
81 NO
PAGE 90
82 1 SHIFT y RIGHT NO YES SUM = SUM Â© y z(3) = 1 SHIFT y RIGHT NO YES SUM = SUM Â© y z(4) = 1 SHIFT y RIGHT NO YES SUM = SUM Â© y z(5) = 1
PAGE 91
83 NO YES SUM = SUM y z(6) = 1 SHIFT SUM LEFT NO YES SUM = SUM Â© y z(7) = 1 SHIFT SUM LEFT NO YES z(8) = 1 z = zl YES z = + izl T
PAGE 92
SUM = z 84 C STOP 3 6.12 ALGORITHM: Let X = X(5,3;2). Define the algorithm for the division operator f>: XxX Â» X by INITIALIZING
PAGE 93
35 LOGICAL
PAGE 94
86 NUMERICAL
PAGE 95
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 computable 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 5 0. One assumes the unnumbered square bracket function, [ ] : R Â» X, to be the truncating function defined in Chapter II. One also assumes the symbols * and & to be the multiplication and division operators, 87
PAGE 96
88 respectively, defined in the last chapter for binary fixed point computer number sets. Now a few definitions which will aid the notation. 7.1 DEFINITION: Let { a. < j < n+l} S X and x 6 X . Define Inductively the following operations: n+l n (1) Â© a. = a Q ; Â© a. ( Â© a.) Â© a . . y=0 J j=0 J j=0 J 1 n+l n (2) *a . lS *a = (*Â«> *a n+1 . j=l j=l j=l (3) a * ( * x) a . u k=l u The binary polynomial n : a.x^ j=0 (i.e., the a.'s have finite binary representations) leads directly to its associative computable polynomial n j Â© a * ( * x) . j=0 J 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 {a.  0
PAGE 97
89 7.2 DEFINITION: Let A = (%,&, * n ) 6 X n+1 . Define the computable poly nomial P : X > X A by n n 3 P (x) Â© a * < * x) . A j=0 J k=l All computable polynomials of degree less than or equal to n can be computed from the computable function P n : X n+2 > X defined by i. P (aÂ„,a, Â« ,Jt) e a * ( * x) . 01 n j=0 J k=l Since P n (x) = P (A,x) , A n then the computable polynomial P is a computable function with A as A constant. This definition leads to the major problem of this chapter. n 1 MAJ OR PROBLE M: Let f(x) F a .x J on [0,1] be a binary polynomial j=0 J and Â£ > 0. Does there exist a binary fixed point computer number set X = X (K 0' J ;2) wiCh { aj  < j < n } S X() such that n j  f(x) Â® a. * ( * [x] )  5 6 j=0 J k=l
PAGE 98
90 for every x of [0,1] and for any binary fixed point refinement X of X Q ? 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) = axÂ° on [0,1] where a has a finite binary representation and 6 > 0. Does there exist a binary fixed point computer number set X = X,(K ,J 2) with a an element of X n such that n  f(x) a * ( * [x]) <; 6 J=l for every x of [0,1] and for any binary fixed point refinement X of V 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 Â€ MAX [  xy x * y   (x,y) 6 XxX fl [0,1] } .
PAGE 99
91 In the last chapter, the following four properties of the multiplication operator were proved. 7.4 THEOREM: (1) 6 m*V n (2) If { x.  1 < j <: n } c X fl [ 0,1] , then * x. Â€ X ("I [0,l], (3) If (x,y) Â€ XxX n ro.ll , then x * y y * x. (4) If (x,y) 6 XxX fl [0,1] , then  x * y  <  x  . The first property states that the error Â£ M 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 fl [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 * 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. 6 X fl [0,1] for 1 < j < n. Then n n  n x * x. < (nl)6 j=l J j=l J M Proof : The proof is by induction on n. If n=l, then 1 1 I n *j " **Â«  xx  = = (n1) 6 j=l j=l J M
PAGE 100
92 Assume the theorem is true for 1 < n < k. If n = k+1 then k+1 k+1 k+1 k I n x *x . <  n x . ( * x )x  j1 J Jl J jl J j=l J Mi k+1 + ' ( * X J )X k+l " * X 1 ' jl J kH1 jl J k k + 6. M x. I n x. * x. J +1 ji J ji J < (kl) 6 + Â€ kÂ€ . M MM 7.6 LEMMA: Let x. G [ 0,1] for 1 < j < n. Then n n I n x. n [x.i  < nu Y . Jl J jl J x P roof : The proof is by induction on n. If n=l, then 1 1 I n x n [x ]  =  x [x ] < u ji J j=i J l * x Assume the theorem is true for l^n
PAGE 101
93 The first lemma gives an upper bound to the propagation error in the multiplication operator restricted to X fl [ 0,1] . The second lemma gives an upper bound to the error in multiplication due to the use of the truncating function. Through the use of these two lemmas, one obtains the solution of the subproblem. 7.7 THEOREM: Let f(x) = ax where a has a finite binary representation and 6 > 0. Then there exists a binary fixed point computer number set Xq = Xq(Kq,Jq;2) with a an element of Xq such that n  f(x) a * ( * [x] )  < e jl for every x of [0,1] and for any binary fixed point refinement X of X n> Proof : n ax n a * ( * [x] ) <  ax n a( * [x] )  j=l j=l n n +  a( * [x] ) a * ( * [x]) j=l j=l < a  xÂ° * [x]  +Â€ j=l M < I a  [I x n [xf  +  [xf * [x] I ) +g 1 = 1 M < a  { n u x + (n1) ^ } + Â€Â„ " l a I n u x + CU I ( n D + i } e M . Let X Q be the binary fixed point computer number set such that (1) a 6 X Q . (2)  a  n u x <, f/2 or u x < 6/(2 a n) .
PAGE 102
94 (3) {  a  (n1) + 11 e n < 6/2 or u Y < 6/{ 2  a  (n1) + 2 }. x Then n  f(x) a * ( * [x] ) < 6/2 +6/2 = 6 for every x of [0,1] and for any binary fixed point refinement X of X Q . One now returns to the solution of the major problem. In this problem care must be taken to prevent overflow during the addition operation. This overflow can be prevented by the selection of a computer number set with a maximum element greater than some predetermined value. With overflow prevented, one has two lemmas: I n I I 7.3 LEMMA: If { x. I < j <; n ) C, X and Â£ IxJ < MAX { x g X), J j=0 J then n n j=0 J j=0 J Proof : The proof is by induction on n. If n=0, then Â£ x . = x n = Â®x.. J0 J Â° jo J If n=l, then Â£ x. = Â© x . by Theorem 6.2. Assume the theorem is true j=0 J j=0 J for 1 < n Â£ k. If n=k+l, then k+1 k k k k+1 e x = ( Â© x.) e x = ( s x ) e x = Â£ x . + x = T x j=0 J j=o J k+1 j=o J k+1 j=o J k+i j=0 J
PAGE 103
95 since k k k+1 I r x  +  x  s E  x  +  x  = T I x  < MAX {x Â£ X} . j=0 J K l j=0 J 1<+i j=0 J n 7.9 LEMMA: Let {x.  < j <; n} c X and E  x.  < MAX {x 6 X } . If then Proof: j=0 <  x. y. < 6 for ^ j < n, n n ex.Y y  < (n+l)Â€ Â• j=0 J j=0 J n n lex,i y . =  e x. e yÂ« I s (x r y.) j=0 J j=0 J j=0 J j=0 J j=0 J J n <: E x y  < (n+l)6 . j=0 J J Through the use of this last lemrna and the solution to the subproblem, one obtains the solution of the major problem. n 7.10 THEOREM: Let f(x) ~ 7 a.x J on [0,1] be a binary polynomial j=0 J and Â£ > 0. Then there exists a binary fixed point computer number set X = V K 0> J ;2) with [a., I 0^ j < n } c X Q such that n j  f(x) e a, * ( * [x] )  ^ 6 j=0 k=l for every x of [0,1] and for any binary fixed point refinement X of V
PAGE 104
96 Proof: Let e = Â€/(n+l). Let the computer number set Xbe such that (1) (a. I < j ^ n 1 c X Q . (2)  a.x j a. * ( I [x] ) ^ Â£ for every x of [o,l] and for < j 5 n. n (3) Z  a,  <; MAX{x6X n ] . 10 ' J ' Â° n J Since T  a. * ( * [ x] )  < Z  a  ^ MAX {x Â£ X } , then by j=0 J k=l j=0 J Lemma 7.9  7. a x j Â© a, * ( * [x] ) ^ (iri1) 6 = e j=0 J j=0 J k=l Â° for every x of [0,1] and for any binary fixed point refinement X of X f This theory of computable polynomials can be extended to computable rational polynomials. The binary rational polynomial n ra E a.x J / 7 b.xJ j=0 J j=0 J (i.e., the a.'s and b.'s have finite binary representations) leads directly to its associative computable rational polynomial n j m j Â© a . * ( * x) j4 Â© b * ( * x) . j=0 J k=l j=0 J k=l Since the operators Â© , *, and b require a computer number set X, then the computable rational polynomial would be well defined for each x of X provided that [a.  0^j
PAGE 105
97 Hence, the definition of a computable rational polynomial is obtained. 7.11 DEFINITION: Let P n : X > X and P m : X > X be computable polynomials, A B Define the computable rational polynomial A R B : X X by Ax) = p"(x) i> PÂ°(x) . a A d All computable rational polynomials with the numerator of degree less than or equal to n and the denominator of degree less than or equal to m can be computed from the computable function R n : X n+mf3 4 X m defined by n n J m j R (a ,a , . . . ,a ,b . . ,b x) = 9 a . * ( * x) *S Â© b * ( * x) . j=0 J k=l j=0 J k=l A n Since R (x) = R (A,B,x) , o m then the computable rational polynomial R is a computable function with (A,B) as constant. In this definition of a computable rational polynomial, there is no requirement that the denominator not equal to zero. This is due to the fact that the algorithm for the division operator is written to give a result for this case. In the analysis of the approximation of a binary rational polynomial where the denominator is required not to equal to zero on the unit interval, then the denominator of the associative computable rational polynomial must not equal to zero for an accurate approximation. This condition can be satisfied by the selection of the proper associative computable rational polynomial.
PAGE 106
98 Now to the problem of the approximation of a binary rational polynomial by its associative computable rational polynomial. n . m . PROBLEM: Let f(x) = E a.x J and g(x) = Â£ b x J on [0,l] be binary j=0 J j=0 J polynomials with g ^ on [0,1] and Â£ >0. Does there exist a binary fixed point computer number set X_ ~ Xq(Kq,Jq;2) with { a  < j < n} U { b  < j ^ m} Â£ X Q such that n j id j f(x)/g(x) Â© a { * ( * [x] ) s6 Â© b * ( * [x] ) I < Â€ j=0 k=l j=0 J k=l for every x of [0,1] and for any binary fixed point refinement X of V In the solution of this problem, one first defines the error inherent in the division operation for an associative computable rational polynomial of a binary rational polynomial. 7.12 DEFINITION: Let L, 6 > 0. Define \^ = MAX {  x/y xrfy   (x,y) Â€ X D [ L,L] xX (1 [L.L] (6,6)} With the restrictions in the above definition on (x,y), one obtains tbat under certain conditions the mesh of the computer number set is an upper bound for this inherent division error. 7.13 THEOREM: There exists a binary fixed point computer number set X Q = X (K ,J ;2) such that L 6 C D X for any binary fixed point refinement X of Xq.
PAGE 107
99 Proof : Let K Q be such that L/6 < 2 Â° and L < 2 u . Then by Theorem 6.8 L 6 Â°* %*\ for any binary fixed point refinement X of XÂ„. The solution to the problem requires a lemma which is very similar to the uniform continuity of the division operator. 7.14 LEMMA: Let Â£ > 0, x Q Â€ [ a,bl , and y Q 6 [ c,d] where c > or d < 0. Then there exists a 6 > (not depending en x or y n ) such that  xx Q  < 6 and  yy Q  < 6 implies  x Q /y x/y  ^ Â€. Proof : Let 6 c/2 if c > or 6 = d/2 if d < 0, a = a6 , b.. = b+ 6,, c = c6. , and d. = d+ 6,. The lemma follows from the fact that the division operator is uniformly continuous on [a.. ,b ] x [c.,d ]. One should note in the last lemma that there is no requirement that x $ [ a,b] or y Â£ [ c >d] . From this lemma and the denseness of the associative computable polynomials to their binary polynomial, one obtains the solution to the problem. n m 7.15 THEOREM: Let f(x) Â£ a.x J and g(x) Â£ b .x J on [0,1] be j0 J j=0 J binary polynomials with g H on [0.1] and Â£> 0. Then there exists a binary fixed point computer number set X~ = Xq(Kq,Jq;2) with { a  < j < n } U { h.  <; j ^ m } e X Q such that
PAGE 108
100 J < 6 I f(x)/g(x) Â® a * ( * [xl ) j> Â© b. * ( * [x] ) I j=0 J k=l j0 J k=l for every x of [0,1 J and for any binary fixed point refinement X of X Q . Proof: Let a MIN { f (x)  x Â€ [0,1] } , b = MAX (f(x)  x Â€ [0,1] ) , c = MIN (g(x)  x e [0,1] 1 , and d = MAX [g(x)  x 6 [0,1] } . From Lemma 7.14, let 6~ > be such that x~ Â£ [a,b] , y^ Â£ [c,d] , xx Q  < 6 , and  yy Q  < 6 Q implies  x Q /y x/y <.Â£/!. From Theorem 7.10, let X, = X,(K, ,J.;2) be such that f(x) Â© a * ( * [x] ) < 6^ j=0 J k=l for every x of [0,1] and for any binary fixed point refinement X of X . From Theorem 7.10, let X 2 = XC^,^; 2 ) be such that m j  g(x) Â© b * ( * [x] ) < 6 A j=0 J k=l Â° for every x of [0,1] and for any binary fixed point refinement X of XÂ„. Let 6 = c5 if c > or 6= d6 if d < 0. One should note Â™ \J u from the proof of Lemma 7.14 that 6> 0. Let L = MAX { a6J , b+6 l , c6 Q  , d+6 Q l }. From Theorem 7.13, let X3 = X 3 (K 3 ,J 3 ;2) be such that L 6 Â€^u x ^ 6/2. for any binary fixed point refinement X of X^.
PAGE 109
101 Let K Q = MAX {K  1 ^ j ^ 3} and J Q MAX {j. 1 < j < 3} . Then n j m j  f(x)/g(x) Â©a. * ( * [x] ) h Â©b * ( * [x] ) Â£ j=0 J k1 j=0 J k1 ni  f(x)/g(x) Â©a. * ( * [xl ) / Â©b. * ( * [x] ) + j=0 J k=l j=0 J k=l n j m j  Â© a . * ( * [x] ) / Â©b * ( * [x] ) j=0 J k=l j=0 J k=l n j m j Â© a * ( * [x] ) 4 Â© b. * ( * [xl )  j=0 J k=l j=0 J k1 for every x of [0,1] and for any binary fixed point refinement X of V
PAGE 110
CHAPTER VIII COMPOUND COMPUTABLE FUNCTIONS In this chapter multiplication and division operators will be defined for binary floating point computer number sets. In the case of floating point computer number sets, the theory of computable functions must be extended to include compound computable functions. A compound computable function allows for more than one computer number set. 8.1 DEFINITION: Let X and Y be computer number sets. Define A to be an interface function from X into Y if A: X Â» Y. Also, if A: X Â» Y is an interface function, then define A : X * Y by n J A n (x 1 ,x 2 ,. ..,x n ) = (A(x x ) ,A(x 2 ),...,A(x n )) . 8.2 DEFINITION: Let g: Y n Y m be a computable function, and A: X > Y and B: Y > X be interface functions. Define the function f : X + X by f = B Â»A to be a (n,m) comnutable function with A and B as interface mÂ° n * Â— *Â— ' e fu nction s . 8.3 DEFINITION: Define a c ompound computable function to be any proper composition of computable functions and computable functions with interface functions. The binary floating point computer number set X X(2;k,j) { + .x 1 ....x.2yi **' yk [ xj and y L or 1 and Xj iff x } 102
PAGE 111
103 can be thought of as two binary fixed point computer number sets. One of these fixed point computer number sets would be used to perform operations on the fraction field of the floating point numbers. The other would be used to perform operations on the characteristic field of the floating point numbers. Also, these supplemental fixed point computer number sets could allow for extra high and low order bits of information. To define the multiplication operator for a binary floating point computer number set, one first defines a new multiplication operator for the fixed point computer number set X X(0,j;2) = { + .x lX2 ...Xj  x t = or 1 } . The multiplication operator defined by Flow Chart 6.2 required a high order zero for proper operation. The multiplication operator defined by Flow Chart 8.4 requires a low order zero for proper operation. 8.4 FLOW CHART: Let X X(0,j;2) = {+ .XjX^.x.  x Â£ = or 1 } where j s 2. Define *: XxX Â» X by a * b C START 3 x = a y = b
PAGE 112
104 Block AA ^ Block BB Block CC Block DD < NO NO YES x = + x x = X SUM = L = J SHIFT x RIGHT NO YES sum a sum a x SHIFT SUM RIGHT L = Ll NO SUM = SUM Â© x C STOP >
PAGE 113
105 By restricting the domain of definition of this multiplication operator to numbers in normal form with a low order zero, one has that the product of two numbers is correct to j binary places. 8.5 DEFINITION: Let X = X(0,j;2) = { + .x^..x,  x = or 1 } where j s 2 and 1 < k ^ j1. Define X = X (0,j;2) = { + .lx ? x 3 ...x.  x. = or 1 2 < i < k and x t = i > k} U {0} . 8.6 THEOREM: Let 1 < k < j1. If x,y Â€ X k = X k (0,j;2), then x*y is correct to j binary places. P roof : The proof of the theorem follows from the fact that Â©sum overflew conditions are prevented in the flow chart under this restricted domain. In Block BB the number x is shifted right to obtain a high order zero from the low order zero. The Â©sum overflow condition is prevented in Blocks CC and DD due to a high order zero in both x and SUM. 8.7 COROLLARY: Let j = 2k ^ 2. If x,y
PAGE 114
106 8.8 DEFINITION: Let X X(2;j,k) where j ,k s 1 and a,b,c Â£ X with a 2 ^2 c 2 a a, 2 , b b,2 , and c = c^2 . Define the function p: XxXxX > X d 2 by p(a,b,c) Â« d,2 where d, = a, and d 2 = a.? Â© (^2 Â® c t) ' This operator determines the proper characteristic of the product of two numbers when overflow and underflow conditions are not present during the operation. A floating point Â® product overflow condition is present in the operation when there is a Â©sum overflow condition in the Â©sum of the characteristic fields with a plus sign. On the other hand, a floating point Â® product underflow condition is present when the Â©sura overflow condition exists with a minus sign. With the aid of the operators defined by Flew Chart 8.4 and Definition 8.8, one can now define the multiplication operator for a binary floating point computer number set. This multiplication operator is a compound computable function. 8.9 DEFINITION: Let j,kH and y,yÂ« yu X = X(2;j,k) = { + .XjX^. . .x.2 x. and y. = or 1 and x. = iff x = } Y Y(0,j+1;2) ={+ . Xl x 2 ...x  x. = or 1} . Define A: X > Y by +yiy2Â• Â•Yv A(+ .x,x ? ...x.2 ) =+ .XjX2...x.O. Define B: Y Â» X by B (4* Â»lx,*x.iÂ»Â»Â»x>c.ji) ~ + .lx,~x ...x,^ . Â— 2 3 j j+1 Â— 2 3 j B(+ .01x 3 . . .:
PAGE 115
107 Define the floating point multipl ication op erator Â®: XxX > X by x @ y p(B(A(x)*A(y)),x,y). This multiplication operator has the following important property. 8.10 THEOREM: Let X = X(2;j,k) where j,k :> 1 and x,y 6 X. If f loating point Â® product overflow and underflow conditions are prevented in the characteristic field of the multiplication operation, then x y is correct to j binary significant digits. Proof: The proof of the theorem follows from the facts: (1) The product A(x)*A(y) of the fraction fields of x and y is correct to ji1 binary places by Theorem 8.6. (2) Since 0.01 < A(x)*A(y) < 1.0 if A(x)*A(y) i 0, then A(x)*A(y) has at least j significant digits. (3) The product B(A(x)*A(y)) of the fraction fields of x and y is correct to j binary significant digits. (4) The product p(B(A(x) *A(y)) ,x,y) of the floating point numbers x and y is correct to j binary significant digits if floating point Â® product overflow and underflow conditions are prevented in the characteristic field of the multiplication operator. To define the division operator for a binary floating point computer number set one first defines, as in the case of the multiplication operator, a new division operator for the binary fixed point computer number set
PAGE 116
108 X = X(l,j;2) = { x 1 .y 1 y 2 . . .y  Xj and y^ = or 1 } . The division operator defined by the Flow Chart 8.11 requires a high order zero for proper operation. 3.11 FLOWCHART: Let X X(l,j;2) = { Xj.xje,. . .x. ,  x^Oocl] where j s 1. Define &: XxX > X by a ^ b = Block AA Block BB C START x = +  a yb SUM = x z L 1 1 SUM = SUM e y z(L) = 1 NO SHIFT SUM LEFT L L+l
PAGE 117
109 Block CC This time restricting the domain of definition of this division operator to numbers with a high order zero, one has that the quotient is correct to j binary places. 8.12 DEFINITION: Let j Â£ 1 and X X(l,j;2) = { +x 1> x 2 x 3 ,,,x  k X = k X(l,j;2) = { +0.1x 2 x 3 ...x j  x. = or 1 } . Define for 1 ^ k ^ j x. Â— or 1 2 < i < k and x. = i > k] U { 0} . 8.13 THEOREM: Let 1 < k < j. If (x,y)6 X(l,j;2) x X(l,j;2) {0}, x ic then x b y is correct to j binary places. Proof : The proof of the theorem follows from the fact that Â©sum overflow conditions and shift errors are prevented in the flow chart
PAGE 118
110 under this restricted domain. In Block BB with the high order zero in y there will always be a high order zero in SUM at the time of the shift left operation. Also, since  y  <  SUM  , y < and SUM > at the time of the Â© sum operation, then the Â© sum overflow condition cannot occur in this block. Now an operator, which works on the characteristic field of floating point numbers, is needed to determine the proper characteristic of the quotient. 8.14 DEFINITION: Let X X(2;j,k) where j,k S: 1 and a,b,c Â£ X with ao bj cy a a.2 , b b 2 S and c = c.2 *, Define the function q: XxXxX Â» X do by q(a,b,c) = d 2 L where d =Â» a and d = a Â© (b 2 Â© c ). The operator defined by this definition determines the proper characteristic of the quotient of two binary floating point numbers when overflow and underflow conditions are not present during the operation. A floating point 0quotient overflow condition is present in the operation, as in the case of the multiplication operator, when the Â©sum overflow condition exists in the Â©sum of the characteristic fields with a plus sign. On the other hand, a floating point 0quotient underflow condition is present when the Â© sum overflow condition exists with a minus sign. With the aid of the operators defined by Flow Chart 8.11 and Definition 8.14, one can now define the division operator for a binary floating point computer number set. This division operator is a compound computable function.
PAGE 119
Ill 8.15 DEFINITION: Let j ,k si, X X(2;j,k) { + .x 1 x 2 ...x.2~ yiy2 " ' yk  x Â£ and y. = or 1 and x iff x = } , and Y = Y(l, j ;2) = { +y. .x x . . .x .  x. and y. =0 or 1 } . Define A: X > Y by A(+ .x x ...x.2 ) = +0.x x ...x Define B: Y X by ,+0...01 B(+l.x,x . . .x 4 ) = + ,lx 1 x^...x J ,2 B(+0.1x . . .x .) =+ ,lxÂ„xÂ„,,,x.2 **' , and B(y) for all other values y of Y. Define the floating point division operator 0: XxX > X by x y q(B(A(x) p A(y)),x,y). This division operator has the following important property. 8.16 THEOREM: Let X = X(2;j,k) where j,k > 1 and x,y 6 X with y i 0. If floating point ^quotient overflew and underflow conditions are prevented in the division operation, then x y is correct to j binary significant digits. Proof : The proof of the theorem follows from the facts: (1) The quotient A(x) p" A(y) of the fraction field of x and y is correct to j binary places by Theorem 8.13. (2) Since 0.1 < A(x) p" A(y) < 10.0 if A(x) fi A(y) $ 0, then A(x) h A(y) has at least j binary significant digits.
PAGE 120
112 (3) The quotient B(A(x) jÂ£ A(y)) of the fLaction field of x and y is correct to j binary significant digits. (4) The quotient q(B(A(x) A(y)),x,y) of the floating point numbers x and y is correct to j binary significant digits if floating point 0quotient overflow and underflow conditions are prevented in the characteristic field of the division operator.
PAGE 121
CHAPTER IX CONCLUSION In this study a computer system v/as represented by the sextuple (x, Â©, o 1 , o 2 , l 1 , l 2 ) 1 2 where (X) and 0"(X) are the sets of singular and binary, respectively, 1 2 numerical operators, and L (X) and L (X) are the sets of singular and binary, respectively, logical operators. An objective in the design of a computer system would be to minimize the number of elements in the 12 1 2 set , , L , and L . A parameter to be varied to achieve this objective would be the base of the number system for X. The computable functions of a modern digital computer were shown to be of the form f : X > X where the computer number set X was any finite subset of the rational numbers containing zero and closed under additive inverses. The basic circuit of the computer which is the adder circuit was represented by the binary addition operator Â© : XxX Â» X. The evaluation of a computable function at any point was considered as a finite Â©sum of numbers from X of the form f(x 1 ,x 2 ,...,x n ) = y^kl"'^^ ) = y k Â® (y kl Â® (, (y 2 Â® (y lÂ® Â°Â»"Â»' The numbers used in this finite Â©sum were obtained from special electronic circuits, represented as numerical operators, acting on numbers generated from the arguments of the function. Different 113
PAGE 122
114 options in the calculating process were available through the use of special electronic circuits, represented as logical operators, also acting on numbers generated from the arguments of the function. The present accepted computability concept* is through the use of the Turing machine. 9.1 DEFINITION: Let ty = {a.  1 < i < n } be a finite alphabet and a_ denote the empty symbol. Define a Turi ng ma chine M over 7^ to be a m(nil) by four matrix where m s 1 of the form c i a o b i,o c i,o c 1 a Â„ k, Â„ c.* 1 n L,n l,n c 2 a b 2,0 c 2,0 3Â„ b c, n Z,n 2,n C 3Ln b c ' m m> m,0 m n m,n m,n *Hans Hermes, Enumerabi lity, D ecidability, Comp utabilit y, trans, by G. T. Herman and 0. Plassmann (New York: Academic Press, Inc., 1965) , pp. 3159.
PAGE 123
115 where {c. 1 < i < m} are different step numbers, {c* I 1 < i < m, < j < n } c {c. I l^i Y to be a Turin gcomputable function if there exists a Turing machine M over a finite alphabet with ty G 1/ such that if
PAGE 124
116 VoVo"' a O W n where (Wj ,W 2 W n ) 6 Y n is printed onto the otherwise empty computing tape and the scanner is initially placed over an arbitrary square of the computing tape, then M will stop operating after finitely many steps behind the word f(w 1 ,w 2 ,...,w n ). This study of computable functions could be extended to the Turingcomputability concept in two different methods. Since the functions of this study are defined only on finite sets and since Turingcomputable functions are defined on countably infinite sets, then a minor modification is required of Definition 9.2. 9.3 DEFINITION: Let V be a finite alphabet and Y be a subset of the set of all finite words over y . Define f : Y n > Y to be a Tur ingcomputab le func tion if there exists a Turing machine M over y with K Â«= ty such that if Vo W 2 a O" a O W n where (W n ,W ,...,W ) 6 Y 1 i. n n is printed onto the otherwise empty computing tape and the scanner is initially placed over an arbitrary square of the computing tape, then M will stop operating after finitely many steps behind the word 12 n With this definition one obtains the theorem:
PAGE 125
117 9.4 THEOREM: Let K be a finite alphabet and Y be any finite subset of the set of all finite words over fy . If f: Y n > Y, then f is a Turingcomputable function. This theorem follows from the fact that the function f is only defined for a finite number of points. The Turing machine table would be drawn up to look for these points and after finding an acceptable point the value of the function would be printed on the computing tape. If an acceptable point is not found on the tape, then any fixed value could be printed on the tape. The first extension to this study would be to take It to be ' the digits and other special symbols required to represent the numbers of the computer number set X in their bary representation. The second extension would be to take the letters of V to be the numbers of X. In this second extension a function f : X Â» X would be considered as being a nary function defined on all the words of one letter. These extensions lead to the fact that all functions of the form f: X Â» X are Turingcomputable functions. The requirement that a function f: X n > X m to be a Turingcomputable function must have Turingcomputable component functions leads to the conclusion that all functions of the form f : X n Â» X m are Turingcomputable functions.
PAGE 126
BIBLIOGRAPHY Hermes, Hans. Enumerability, Decidability, Computability . Translated by G. T. Herman and 0. Plassmann. New York: Academic Press, Inc., 1965. SUPPLEMENTARY READINGS Dorn, William S., and McCracken, Daniel D. Numerical Methods and Fortran Programming . Nov; York: John Wiley and Sons, Inc., 1964. Kuo, Shan S. Nu mer i cal Methods and Comput ers. Reading, Massachusetts: AddisonWesley Publishing Company, Inc., 1965. Rice, John R. The A pp roximati on o f Functio ns. Vol. I: Linear Theory . Reading, Massachusetts: AddisonWesley Publishing Company, Inc., 1964. . T he Approximat ion of Functions . Vol. II: Advan ced T opics. Reading, Massachusetts: AddisonWesley Publishing Company, Inc., 1969. Rogers, Hartley, Jr. Th eory of R ecursive Functio ns and E ffective Computabil ity . New York: McGrawHill Book Company, 1967. 118
PAGE 127
BIOGRAPHICAL SKETCH Louis F. Williams, Jr., was born December 17, 1932, at Washington, District of Columbia. In June, 1950, he was graduated from Balboa High School, Balboa, Canal Zone. In June, 1954, he received the degree of Bachelor of Science with a major in Electrical Engineering from The Citadel, Charleston, South Carolina. From 1954 to 1965 he served as an officer in the Corps of Engineers of the United States Army. From 1958 to 1960 while in the Army he attended the University of Michigan where he received the degree of Master of Science in Engineering with a major in Nuclear Engineering. From 1960 to 1962 he was assigned to the Army Reactors Group for duty with the United States Atomic Energy Commission. In 1965 he enrolled in the Graduate School of the University of Florida. He worked as a teaching assistant in the Department of Mathematics from September, 1965, to December, 1966. From January, 1967, until the present time he has worked as a research assistant in the Computing Center while pursuing his studies toward the degree of Doctor of Philosophy. Louis F. Williams, Jr., is married to the former Jane Ann Kroschwitz. He is a member of the American Mathematical Society. 119
PAGE 128
This dissertation was prepared under the direction of the chairman of the candidate's supervisory committee and has been approved by all members of that committee. It was submitted to the Dean of the College of Arts and Sciences and to the Graduate Council, and was approved as partial fulfillment of the requirements for the degree of Doctor of Philosophy. June, 19 70 4^L Deaiv, College of Arts (and Sciences Supervisory Committee: Dean, Graduate School Chairman , f Q ( n _J I I Kk & Â• ftz/*y\
xml version 1.0 encoding UTF8
REPORT xmlns http:www.fcla.edudlsmddaitss xmlns:xsi http:www.w3.org2001XMLSchemainstance xsi:schemaLocation http:www.fcla.edudlsmddaitssdaitssReport.xsd
INGEST IEID EK2397DNE_AWDJM3 INGEST_TIME 20170714T23:25:31Z PACKAGE UF00097748_00001
AGREEMENT_INFO ACCOUNT UF PROJECT UFDC
FILES

