Citation

## Material Information

Title:
Computable functions
Creator:
Williams, Louis Francis, 1932-
Publication Date:
1970
Language:
English
Physical Description:
vii, 119 leaves : ill. ; 28 cm.

## Subjects

Subjects / Keywords:
Algorithms ( jstor )
Computer systems ( 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.
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 )

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.

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

(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.

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

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.

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

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

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.

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.

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)

(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)

(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

(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)

(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)

(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)

(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)

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

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

CLEAR

CLEAR

CLEAR

LOGICAL

NUMERICAL

NUMERICAL

CLEAR

LOGICAL

NUMERICAL

LOGICAL

NUMERICAL

LOGICAL

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

NUMERICAL 25 9 3 3 +

LOGICAL 26 4 4 *+-1,29

NUMERICAL 28 9 3 3 *+1

LOGICAL 29 3 4 *+1,32

NUMERICAL 31 9 3 3 *+1

LOGICAL 32 2 4 *+1,35

NUMERICAL 34 9 3 3 *+i

LOGICAL 35 1 4 *+1,37

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

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

NUMERICAL 23 10 5 5 *+1

LOGICAL 24 2 5,SUM *+1,26

NUMERICAL 26 10 5 5 *+1

LOGICAL 27 2 5,SUM *+1,29

NUMERICAL 29 10 5 5 *+1

LOGICAL 30 2 5,SUM *+1,33

NUMERICAL 32 1 3 3 *+

NUMERICAL 33 10 5 5 *+1

LOGICAL 34 2 5, SUM *+1,37

NUMERICAL 36 2 3 3 *+1

NUMERICAL 37 10 5 5 *+

LOGICAL 38 2 5,SUM *+1,41

NUMERICAL 40 3 3 3 +

NUMERICAL 41 10 5 5 -*+1

LOGICAL 42 2 5,SUM *+1,45

NUMERICAL 44 4 3 3 *+1

NUMERICAL 45 10 5 5 +1

LOGICAL 46 2 5,SUM *+1,49

NUMERICAL 48 5 3 3 *+1

NUMERICAL 49 9 SUM SUM *+l

LOGICAL 50 2 5,SUM *+1,53

NUMERICAL 52 6 3 3 *+

NUMERICAL 53 9 SUM SUM *+1

LOGICAL 54 2 5,SUM *+1,57

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 *+

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