Citation
Computable functions

Material Information

Title:
Computable functions
Creator:
Williams, Louis Francis, 1932-
Publication Date:
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 )
non-fiction ( 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 non-profit 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. Q-COMPUTABLE 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 b-ary representation of a fixed

number of digits before and after the b-ary point. A floating point








number set would contain all the numbers which have a b-ary scientific

representation in normal form of a fixed number of digits for the

fraction and characteristic fields.

In this study p-computable functions are defined to be functions

from a n-product space of X into a m-product space of X. The theory is

developed to study the approximation of functions defined on a n-product

of intervals into a m-product of intervals. In this theory p-computable

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 n-product of intervals.

A subset of the set of p-computable functions is the q-com-

putable functions. The evaluation of a q-computable 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 q-computable 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 operations--sub-

traction, multiplication, and division--are 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 b-ary

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 b-ary 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 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 = +.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 10-02 e .314 10-01) = .345 10-01

and .104 10-02 (.204 10"02 @ .314 10-01) -

-02 -01 -01
(104 10-02 .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, p-computable, 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 n-th and m-th, 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 q-computable function on the computer number set X will be

defined in Chapter IV. In this definition the evaluation of a q-com-

putable function at any point would be a finite O-sum of numbers from

X of the form

f(x1'x2,...,xn) = ykYk-1...y2yl(0)

= yk( (Yk-l( (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 q-computable

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 q-computable 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) xi-I < 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) x-r < 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 p-computable function.


2.8 DEFINITION: Define a function f to be a p-cc.utable function

on X if f: X -+ X. The set of all p-computable 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,1-l,+_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 p-Ocr.putable within E on X if there exists

a p-computable 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 p-computable within E on X, then g is

p-computable within E on Y.

Proof:

Let g be p-computable 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 p-computable 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 p-computable function in composition with the

truncating function or that the set of all p-computable 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 p-computable 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 p-computable 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 x-y < 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

x-r < 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 p-computable

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 p-computable 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 p-computable 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 p-computable 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 p-computable 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 p-computable 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 p-computable 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 p-computable 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 p-computable 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 p-computable 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 zi-l < 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 = i-1 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.i-1 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 p-computable 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 p-computable 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 p-computable 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 p-computable 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 p-computable 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 p-computable 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 n-th, respectively m-th,

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) p-computable 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 p-computable functions.

n
3.3 DEFINITION: Let g: x [a.,b.] [c,d] be within X and E > 0.
i-1 1
i=1

Define the function g to be p-computable within on X if there exists

a (n,l) p-computable 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 right-hand 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 right-hand 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 n-space.


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 p-computable within E on X, then g

is p-computable with E on Y.

Proof:

Let g be p-computable 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 p-computable 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 p-computable 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 p-computable 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 p-computable


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
i-i
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 p-computable 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 p-computable 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) p-computable

function on X if f: Xn -> Xm. The set of all (n,m) p-computable

functions on X is


n((X) (fi : X~ X \ 1 m i < [(2r + 1)m] [(2r + 1)n]
m i

The h-th component function of f is

fh rr hf: Xn -4 X for 1 < h m


where T h: Xm X is the h-th 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 p-computable within E on X if there

exists a (n,m) p-computable function f on X such that the h-th component

function of g is p-computable within E on X by the h-th 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
i--l i=l

E > 0. Then the function g is p-computable within E on X if and only

if there exists a (n,m) p-computable 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 p-computable 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 p-computable within E on X.



[ ch,dhI be the h-th 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 p-computable 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 p-computable

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 i-th component function o g on X.
and ugi is the variation of the i-th 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 p-computable within

E on X.

Proof:

Let u = u where u is the variation of the h-component
g gh Sh

function of g on X. By Theorem 3.10, gh is not p-computable within

E on X. Hence, g is not p-computable within E on X.














CHAPTER IV


Q-COIMPUTABLE FUNCTIONS


In Chapters II and III p-ccn-putable 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 q-computable. In

Chapter V, the complete computer system will be investigated to deter-

mine which of the q-computable 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 y-th 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: XxX-1 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 q-computable 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) q-computable 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 (yj-1 ('(yk-+l (Yk 0)) ...))

which is a finite (D-sum of numbers in X.

The following two theorems yield methods to derive new

q-computable functions from other q-computable functions.


4.5 THEOREM: Let f: X" X and a be any permutation of the first n

integers. If the function f is q-computable, then the function

g: Xn -. X defined by

g(x1,x2,...,xn) = f(xo(1),xo(2),...,x (n))

is q-computable.

Proof:

Let (xX2,)...,xn) E Xn. Since (xo(1),xo(2),...,xo(n)) Xn

and f is q-computable, 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 q-computable,

then the function h: X '-n-1 X defined by

h(xl,...,xm,...,xmn 1) = f(g(xl,...,xm), xml1,...,xm _n-1)

is q-computable.

Proof:

Let (x ,...,xm,...,x;m.n-) Xm1n-1. Since (x1,x2,...,xm) E Xm

and g is q-computable, 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.I-1 *, *xmn-l) E Xn and f is q-computable, then there exists

the finite sequence zi 1 \ i k i) X such that

f(x0'xn ..:-l'''xmI-n-) = 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.n-l) by

[ yi 1 i < j+k ) } X.


4.7 COROLLARY: The set of all (1,1) q-computable functions on the

computer number set X is a semigroup under functional composition.


These last two theorems lead to the theorem that q-computable

functions are closed under functional composition.








4.8 THEOREM: If the functions f: Xn- X and g: Xm X are q-computable

and 1 < j < n, then the function h: X'"'1 X defined by



f(x ,.) ,x. ,l),xj .. ,x )

is q-computable.

Proof:

Define the function f0: Xn - X by

f0(xO',xl ...,x' n-1) f(xl, ...,j-l x0,xj' ... ,xn-l)'

By Theorem 4.5 the function f0 is q-computable. Define the function

h0: X m.n-1 X by

h0 (Y1'...,Yrxl,*X...,xn) = f0(g(yl, " m),0xl,...',xn-l)

By Theorem 4.6 the function h0 is q-computable. Since

h(x1' ... ,xj, j- 'Y1, ',yxj ,...xj ,x -1)


f(x(...,Xj ,,(YX.."'n.,m),x,...,x-

fo((Y0 1 "'Ym xl' "1" .'Xn-l) '

hO(y"....,ymx1,...,xn-1

then by Theorem 4,5 the function h is q-computable.


4.9 COROLLARY: If the functions f: Xn X and g: X"- X are q-com-
n-i
putable where 1 < m < (n-l), then the function h: X -> X defined by

h(x1,...,xm,...,xn-1)

f(xl,. ..,xm,g(xl .' xm), x 1,..' '',xn-l)

is q-computable.

Proof:

Define the function h0: Xm"n-1 -* 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 q-computable. Let (xl,...,x ,..,xn-l)

E Xn-1. Since (x1,...,xm,xl,...,x ,xm+l,..., xn-_) Xmin-1 and the

function h0 is q-cornputable, then by Definition 4.4 of a q-computable

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 q-computable.


This last corollary will be used in the proof of Theorem 4.13.

Now one extends the theory of q-computability to functions of the form

f: Xn -*XmT by requiring that the component functions be q-computable.


4.10 DEFINITION: The function f: Xn -4 Xm is a (n,m) g-computable

function on X if the component functions of f, f. i= .f: Xn- X
1 1
for 1 < i < m, are (n,l) q-computable functions on X.


Clearly a permutation of the component functions of a q--com-

putable function leads to a q-computable function.


4.11 THEOREM: Let f: Xn -> Xm and a be any permutation of the first

m integers. If the function f is q-computable, then the function

g: Xn- Xm defined by component functions


1 i < m


gi(xl'x2',...,X) = f(1)(XlX2'''''Xn)

is q-computable.








Proof:

The theorem follows from Definition 4.10 of a (n,m) q-computable

function.

Also, a permutation of the arguments of a q-computable function

leads to a q-computable function.


4.12 THEOREM: Let f: Xn"- Xm and a be any permutation of the first n

integers. If the function f is q-computable, then the function

g: X"-> Xm defined by

g(x1,x2,...,xn) = f(xo(1),xo(2) ''.'xo(n)

is q-computable.

Proof:

The theorem follows from Theorem 4.5 being applied to the com-

ponent functions of g.


Then the composition of q-computable functions is again a

q-computable function.


4.13 THEOREM: If the functions f: Xn -> Xm and g: Xk-) Xj are

q-computable where 1 < j n, then the function h: Xk+n-j Xm defined by

h(xI .. .,x kxk.1 .. .,xk+n-j) =

f(g(xI: ..,xk ) ,Xk 1, ... k-I-n-j)

is q-computable.

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 i-th component

function of g0 is equal to the i-th component function of g for

1 i j. Define h0: Xk+n"j Xm by

h0(x1,X2, ... .,xk,xk+1, .. "k,xn-j) =

f(g0(x1, ...,x) xk),:-lX ... xk+n-j)

which is q-computable by the hypothesis. Define h: Xk+n'"j- -` Xm by

h(xl,x2,"...xkxk+l, ...,xk+n-j-1) =


h0(x1,' .. ,k'j+l,g(x, ... .,xk) ,xk, . ,Xk+n-j-) =

f(g0(x,...,x k) ',j+l' g(xl' ...x 'k)k+,l' k+1 'X.k+n-j-l) =

f(g(x ...,xk),x ,k+ ...,xk+n-j-l

which is q-computable 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

q-computable where 1 < j < n and 1 <- i (n-j+l), then the function

h: Xk+n-j Xm defined by

h(xl,...x -1Yl' "" l'Ykxe ) .x n-j) =

f( ... e-l' g( ...Yk),xe'.. n-j

is q-computable.

Proof:

Define the function f0: Xn -> Xm by

f0(Y ....yj ,xl,...,x )

f(xl,...,Xe-l l, 1 ... ,Y j,Xe, ... ',x-j)







By Theorem 4.12 the function f0 is q-computable. Define the function

hO: Xkn-j Xm by

h0 (Y1' Yk'Xl ...,)n-j) =

f0(g(Yl ".' k)'x) ... Xxn-j ).

By Theorem 4.13 the function h0 is q-computable. Since

(X1,... xe-l'yl".. yk'kxe... x n-j) =

f(x1,...,xe2lg(y1,...,yk),xe,...,xn-j)

f0o((Yl"...,yk),xl,-...,x_) =

hO(Y,1' ,Yk,1, ... ,xnj),

then by Thcorem 4.12 the function h is q-computable.













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 q-computable 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 D-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, , 01, 02, L1, L2) be a computer system where

(1) X { xil i = 0,+1,+2,..,-I-rl 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

k-1, 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
2k-1 2k

Clear (2k-l, *+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 2nI-4

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+n-1 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 one--to-one and onto map such that

(1) G(j,l) = j for 0 j < m,







(2) G(j-1,2) = mr-j for 1 j n-1,

(3) G(0,2) = rm--n, and

(4) G(1,2) = m+n+l.

Define the algorithm ( L1 I 0 j < 3+kk--kkk ) 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 < kk-1.

(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+kk--kkk defines the value of the
L*









function h for the point (xl,x2,...,x mn- ). Hence, the algorithm

SLh 0 < j < 3+kk-I-kkk defines the function h: Xm-n1 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"n-1 X defined by

h(x1,... Xj-l'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 < (n-1), then the function h: X -l- X defined by

h(xl,...,xn-1) = f(xl,...,Xm,g(xl,...,xm),xrt 1,,l ...,xn-1)

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 < (n-1) be
2k-1 2k

Clear (2k-1, *+1)

Addition (2k, n-k, mnl-n-k, ).

(2) Let the operations L and Lh be
2n-1 2n

Clear (2n-l, *+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''...Xn-1)

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 n-1
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+n-j X defined by

h(x1, ...,xk,xk,. ,xk+n-j) =

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 < (n-j+l), then the function

h: Xk+n-j -+ Xm defined by

h(x ...,x ,y .. xe,...,x -j
e-i l' yk,, ...,Xn-j)

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 q-computable functions.


5.14 THEOREM: If the function f: Xn X is a computable function,

then f is a q-computable 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

( y2i-1 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. = zDwi-l', Y2i-1 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 = .i-l, y2i- = Sr(z) or

y2i-1 = 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 q-computable function.


5.15 THEOREM: Let f: Xn X be a q-computable 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 q-computable function, there exists

a sequence ( yi | I i < j ] X such that

A A A A A
f(x ,x2 ...,xn) Yj yj2. y 1-y .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 one-to-one 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 q-computable 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+kkk-n+2 as follows:


(1) Let the operations Lh for 1 < i < n-l 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 < kk-l. 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+n1-2 ) 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

q-computable 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(YkYk-l,...,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(YkYky-1...,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 < n-1 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 (nl-2, 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 n-l-3, 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 = (k-l)(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+ni-2, 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 e-sum overflow con-

dition occurs when the high order carry is present. Hence, if the

S-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 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 D-sum overflow condition is said to exist in the T-sum 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 E-sum overflow condition does

not exist in the (D-sum, 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'Yk-l+" 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 G-sum overflow is pre-

vented during the add operation in Block CC. In Chapter VIII another

multiplication operator will be defined which prevents this E-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 G-sum 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... zk-j.zk+j+l...z+2j

be the quotient of x over y to j binary places. A 6-quotient 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 4-quotient 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 6-quotient 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

NO-y 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
j-0 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 < (n-1)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


< (k-l) 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
j-1


[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. Q-COMPUTABLE 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 b-ary representation of a fixed number of digits before and after the b-ary point. A floating point

PAGE 7

number set would contain all the numbers which have a b-ary scientific representation in normal form of a fixed number of digits for the fraction and characteristic fields. In this study p-computable functions are defined to be functions from a n-product space of X into a m-product space of X. The theory is developed to study the approximation of functions defined on a n-product of intervals into a m-product of intervals. In this theory p-computable 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 n-product of intervals. A subset of the set of p-computable functions is the q-computable functions. The evaluation of a q-computable 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 q-computable 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 b-ary 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 b-ary 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 ,±>'iy2---yk 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, p-computable, 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 n-th and m-th, 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. ] . l-l i=l A q-computable function on the computer number set X will be defined in Chapter IV. In this definition the evaluation of a q-computable function at any point would be a finite O-sum 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 q-computable 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 q-computable 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] =ix|a^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 p-computable function. 2.8 DEFINITION: Define a function f to be a p-cc.-nputable function on X if f : X -> X. The set of all p-computable 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 p-computable within 6 on X if there exists a p-computable 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 p-cc mputable within € on X, then g is p-computable within € on Y. Proof: Let g be p-computable 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 p-computable 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 p-computable 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 | x-y | < 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 p-computable 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 p-computable 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 p-computable function on X. Also, let x and y be such that a < x < e £ or | g(x) fCLx]^ > £ . Hence, g is not p-coinputable 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 p-computable 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 p-computable 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 p-computable 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 p-computable 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 i-l J * By Theorem 2.16 there exists X^e; j^ k.) [x.(k,, j . ; e) ] for 1 £ i < n -i1 such that g^^ is p-computable 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 p-computable 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 i-1 ^ 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 p-coroputable 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 0-0. 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 p-computable 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 p-computable 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 p-computable 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 n-th, respectively m-th, 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) p-conputable function on X if f: X + X. The set of all (n,l) p-computable 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 p-corr.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 p-compu table within € on X if there exists a (n,l) p-computable 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 right-hand 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 right-hand 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 n-space. 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 lly-ECyl^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 p-computable within ! ~ on X, then g is p-computable with ^ on Y. Proof : Let g be p-computable 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 p-cornputable 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 p-computable 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 p-computable 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 i-1 || 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/2-6 since || y ~[[y] ] || < u ^ Y/2 < Y ° . Hence, g is p-computable 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 i-1 {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 i-1 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 1-1 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 1-1 L X \g(x) g(y) 1 > u -6 and [x ] = [ y] , s 11 Let f be any p-computable 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 p-computable 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) p-computable function on X if f : X n -» X m . The set of all (n,m) p-computable functions on X is C n (X) [f,: X n -»X m 1 1 * i * C(2r + l) ni ] C(2r + ^ }. m i The h-th component function of f is f, it h f : X n -> X for 1 ^ h ^ m where rr • X -> X is the h-th 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) p-computable function f on X such that the h-th component function of g is p-computable within € on X by the h-th 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 p-computable within 6 on X if and only if there exists a (n,m) p-computable 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 1-1 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 h-th 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 p-computable 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 p-computable within € on X by f, for 1 ^ h ^ m. Define f: X -* X m by n £ = f^ for 1 ^ h ^ m. Hence, g is p-cornputable 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 i-1 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 i-1 *' * 3 variation of g on_X where u = MAX { u \ 1 £ i < r.i } 8 Z t and u is the variation of the i-th 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 p-computable within 6 on X. Proof : Let u =» u where u„ is the variation of the h-component S g h S h function of g on X. By Theorem 3.10, g is not p-computable within € on X. Hence, g is not p-computable within £ on X.

PAGE 39

CHAPTER IV Q-COMPUTABLE FUNCTIONS In Chapters II and III p-cctr.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 q-computable. 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 y-th 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 q-computable functions from other q-computable functions. 4.5 THEOREM: Let f : X -> X and o be any permutation of the first n integers. If the function f is q-computable, 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 q-computable. 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 q-computable, 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 q-computable, 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 q-computable. Pr oof: Let (x 1 ,...,x n] ,...,x iT ,. n . ]L ) € X" 1 '11 " 1 . Since (x^, . . . ^ 6 X 01 and g is q-computable, 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 mfn-l^ ^ *" and f is q-coniputable, then there exists the finite sequence { z^l l^i^k}sx such that f ( V X nri-l" ' " • 3 Wn-l ) = *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 q-computable 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 q-computable. Proof: Define the function f Q : X n -» X by f 0^ x ,X l' * ' * ,X n-l/ f ( x i> • • • > x j -1 > x ,x j * ' ' ' ,x a-P ' By Theorem 4.5 the function f„ is q-ccmputable. 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 n-l ) By Theorem 4.6 the function hg is q-computabie. 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 q-computable. 4.9 COROLLARY: If the functions f: X n "» X and g: X m -* X are q-computable where 1 < m < (n-1) , 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 n-i> is q-computable. 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 n-l^ = f(x 1 , . . . ,x m ,g( yi , . . . ,y in ) ,x mn , • • • ,x n _ 1 ) . By the theorem the function \\q is q-coinputable. 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 n-1 function h„ is q-cornputable, then by Definition 4.4 of a q-coraputable 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 q-computable. This last corollary will be used in the proof of Theorem 4.13. Now one extends the theory of q-computability to functions of the form f: X n -» X tn by requiring that the component functions be q-computable. 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) q-computable functions on X. Clearly a permutation of the component functions of a q-ccmputable function leads to a q-computable 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 q-computable, then the functi g: X * X defined by component functions on is q-computable. m

PAGE 46

33 Proof: The theorem follows from Definition 4.10 of a (n,m) q-computable 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 q-computable. Proof: The theorem follows from Theorem 4.5 being applied to the component functions of g. Then the composition of q-computable functions is again a q-computable function. 4.13 THEOREM: If the functions f: X n -»X ra and g: X k -> xJ are q-computable 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 q-computable. 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 i-th component X k -» X j su function of g~ is equal to the i-th 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 q-computable 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 q-coinputable where 1 < j £ n and 1 < i < (n-j J rl) , then the function h: X k+n "J -> X m defined by h(x,, 1' ' e-l ; 1 ''k e' ' n-j' £(X 1 Vl' 8(y i V' X e Vj 5 is q-computable. Proof: Define the function f „ : X n -> X m by V y l>-">y.j> x l>-"> x n-j> = '^b • • • > X Q_][ >Y\> • • • >7 ; s x e> • • • » x n•

PAGE 48

40 By Theorem 4.12 the function f is q-computable. Define the function v k-hn-j m h : X J X by h (y l>--" y k> x l>-"> x n-j> a £ (g(y 1 t • . -,y k ) ,x 1( . ...x n ,) . By Theorem 4.13 the function h Q is q-computable. 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 n-j^> then by Theorem 4.12 the function h is q-computable.

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 q-computable 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 j-j. 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 j-j. 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 k-1, 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)-l-kk1 kk L j J as follows: (1) Let the operations L S and L^, 1 < k < n be 2k -1 2k Clear (2k-l, *+l) Addition (2k, a (k) , n+l+k, *+l) . (2) Let the operations L^ ,, and lA , „ be 2n+l 2nf2

PAGE 55

47 Clear (2n-t-l, *+l) Addition (2n+2, 0, n+1, *+l) . (3) Let the operations Lx ,_ and L° . be 2n+3 2n-l-4 Clear (2n+3, *H-1) 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 one-to-one 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+n-1 ° { 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 <. (n-1) , 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> ' ' * ^n-l) = 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 < (n-1) be 2k-l 2k Clear (2k-l, *+l) Addition (2k, n-k, m+n-k, *+l) . (2) Let the operations L and I, be 2n-l 2n Clear (2n-l, *+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' ' n-1 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 q-compu table functions. 5.14 THEOREM: If the function f : X n -> X is a computable function, then f is a q-computable 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, Zx-1 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^i-i = 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 q-computable function. 5.15 THEOREM: Let f: X n X be a q-computable 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 q-computable 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 cne-to-one 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 q-cornputable 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 < n-1 be i Logical (i, 1, i, n-i-i , *+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 <, kk-1. 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+kk-12-1-1 as L. where the identifier number and the next identifier number have i been increased by n-ikk+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 q-computable 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 < k-i-1 } 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)n-H, *+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 <. kk-1. 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 n-l-kk+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 (k-l)(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+rrf-2, I(f (y,y 2 , . . . ,y n )) , 0, 0, *+l) Addition (kk+n+3, 0, 0, r Q (iri-3)+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 kM-l ' " ' 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 yiy2--y ky k+r--yk+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 L-l 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(K--L) a 1 SHIFT y RIGHT L = L-l YES SUM = SUM © y z(K-i-L) = 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 fi-quotient 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.| < (n-l)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 | = = (n-1) 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 | j-1 J J-l J j-l J j=l J Mi k+1 + ' ( * X J )X k+l " * X 1 ' j-l J kH1 j-l J k k + 6. M x. I n x. * x.| J +1 j-i J j-i J < (k-l) 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 . J-l J j-l 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 j-i 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 j--l 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 + (n-1) ^ } + €„ " 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 | (n-1) + 11 e n < 6/2 or u Y < 6/{ 2 | a | (n-1) + 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.. J-0 J ° j-o 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 ] . 1-0 ' 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] )| ^ (iri-1) 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 | x-x Q | < 6 and | y-y 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 j-0 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 j-0 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] , |x-x Q | < 6 , and | y-y 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 = X-C^,^; 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 , |c-6 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 k-1 j=0 J k-1 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 k-1 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 = L-l 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 ^ j-1. 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 < j-1. 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) = { + .X-jX^. . .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.j-i) ~ + .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 j-i-1 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 y-|b 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 b-j c-y 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 0-quotient 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 0-quotient 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 fL-action 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 0-quotient 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^k-l"'^^ ) = y k ® (y k-l ® (, -(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(n-i-l) 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. 31-59.

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 g-computable 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 Turing-computability 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 Turing-computable 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 b-ary 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 n-ary 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 Turing-computable functions. The requirement that a function f: X n -> X m to be a Turing-computable function must have Turing-computable component functions leads to the conclusion that all functions of the form f : X n -» X m are Turing-computable 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: Addison-Wesley Publishing Company, Inc., 1965. Rice, John R. The A pp roximati on o f Functio ns. Vol. I: Linear Theory . Reading, Massachusetts: Addison-Wesley Publishing Company, Inc., 1964. . T he Approximat ion of Functions . Vol. II: Advan ced T opics. Reading, Massachusetts: Addison-Wesley Publishing Company, Inc., 1969. Rogers, Hartley, Jr. Th eory of R ecursive Functio ns and E ffective Computabil ity . New York: McGraw-Hill 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 K-k & • ftz/*y\


xml version 1.0 encoding UTF-8
REPORT xmlns http:www.fcla.edudlsmddaitss xmlns:xsi http:www.w3.org2001XMLSchema-instance xsi:schemaLocation http:www.fcla.edudlsmddaitssdaitssReport.xsd
INGEST IEID EK2397DNE_AWDJM3 INGEST_TIME 2017-07-14T23:25:31Z PACKAGE UF00097748_00001
AGREEMENT_INFO ACCOUNT UF PROJECT UFDC
FILES