0% found this document useful (0 votes)
4 views

computational

This manuscript discusses the connection between various computational complexity classes over real numbers and natural numbers, utilizing two new techniques called approximation and lifting. The authors present alternative proofs and extensions of previous results relating Kalmar elementary computable functions to function algebras over the reals, without restricting to C2 functions. The paper aims to provide general tools for investigating these computational issues and suggests broader applications for the introduced techniques.

Uploaded by

nyamora208
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

computational

This manuscript discusses the connection between various computational complexity classes over real numbers and natural numbers, utilizing two new techniques called approximation and lifting. The authors present alternative proofs and extensions of previous results relating Kalmar elementary computable functions to function algebras over the reals, without restricting to C2 functions. The paper aims to provide general tools for investigating these computational issues and suggests broader applications for the introduced techniques.

Uploaded by

nyamora208
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

Noname manuscript No.

(will be inserted by the editor)

The elementary computable functions over the real


numbers: Applying two new techniques

Manuel L. Campagnolo
D.M./I.S.A., Lisbon University of Technology
and SQIG/IT
· Kerry Ojakian
SQIG - IT and IST, Portugal

Received: date / Accepted: date

Abstract The basic motivation behind this work is to tie together various computa-
tional complexity classes, whether over different domains such as the naturals or the
reals, or whether defined in different manners, via function algebras (Real Recursive
Functions) or via Turing Machines (Computable Analysis). We provide general tools
for investigating these issues, using two techniques we call approximation and lifting.
We use these methods to obtain two main theorems. First we provide an alternative
proof of the result from Campagnolo, Moore and Costa [4], which precisely relates the
Kalmar elementary computable functions to a function algebra over the reals. Secondly,
we build on that result to extend a result of Bournez and Hainry [2], which provided
a function algebra for the C 2 real elementary computable functions; our result does
not require the restriction to C 2 functions. In addition to the extension, we provide an
alternative approach to the proof. Their proof involves simulating the operation of a
Turing Machine using a function algebra. We avoid this simulation, using a technique
we call lifting, which allows us to lift the classic result regarding the elementary com-
putable functions to a result on the reals. The two new techniques bring a different
perspective to these problems, and furthermore appear more easily applicable to other
problems of this sort.

Keywords Computable Analysis · Real Recursive Functions · Elementary Com-


putable

Manuel L. Campagnolo
Departamento de Matemática
Instituto Superior de Agronomia
Tapada da Ajuda, 1349-017 Lisboa
PORTUGAL
E-mail: [email protected]
Kerry Ojakian
Departamento de Matemática
Instituto Superior Técnico
Av. Rovisco Pais, 1049-001, Lisboa
PORTUGAL
E-mail: [email protected]
2

1 Introduction

This paper improves, corrects, and extends the ideas in our earlier paper [5]. We will
study classes of functions with respect to their computational complexity, showing
connections between different models of computation. The classic case is concerned
with classes of functions whose domain and range are the natural numbers, N, where
the functions are defined via Turing Machines or an equivalent model of computation.
In this case, there is one agreed upon concept of computation and computational
complexity with different models yielding the same set of functions. More recent work
has extended computational complexity to classes of functions over the real numbers, R,
but in this case there is not one agreed upon notion of computation. We will concentrate
on two models of computation over the reals, “The Real Recursive Functions” and
“Computable Analysis.” The former originated with Moore [9] (with some problems
corrected by Costa and Mycka in [10] and [11]) and the latter with Grzegorczyk [7].
In Computable Analysis, Turing Machines are used to characterize various classes of
functions over the reals, with the idea being that a real function is computable by a
Turing Machine if it can be approximated to the appropriate level of precision from
approximations to the input of the function. In the case of Real Recursive Functions,
classes of functions are defined using function algebras in which the discrete operations
of recursion are replaced by operations which find solutions to differential equations.
Our goal is to study connections between these three different kinds of function classes,
the classic ones over the naturals, the ones arising from Computable Analysis, and the
ones arising from Real Recursive Functions.
There have been a number of results tieing together these three different models of
computation. Campagnolo, Moore and Costa [4] describe a class of real functions (they
call L), defined via a function algebra in which the principle operation is to obtain the
solution of a system of linear differential equations. They show that the “discrete part”
(definition 23) of L is exactly the usual Kalmar elementary computable functions on
the naturals. Building on this, Bournez and Hainry [2] show that L extended by a
certain limit operation is the class of C 2 elementary computable functions on R. In
section 4, we provide an alternative proof of the result of [4]. In sections 5 and 6 we
extend the result from [2]; in particular, we show that L augmented by any of a number
of limit operations yields exactly the elementary computable functions on R, without
a restriction to the C 2 functions.
The novelty we bring to these problems are two new techniques, which we call
“approximation” and “lifting.” The first technique is used throughout the paper. The
basic idea of this technique is to define a general kind of approximation relation that
can hold between two classes of functions A and B. Roughly speaking we will say that
B approximates A, if for any required precision, any function of A can be approximated
to that precision with a function from B; this will be written, roughly, as A ¹ B. Our
approach to both the theorems of this paper is to first show that two classes of functions
approximate each other, and then derive the desired equality from the sufficiently close
approximation. Under the right conditions, the approximation relation will in fact be
a transitive relation, thus allowing us to break down an approximation into a series
of smaller and more natural tasks. Using approximation, our alternative proof of the
result from [4] follows more closely the inductive definitions of the function algebras in
question (discussed in more detail in section 4).
The second technique, lifting, is the main tool used in sections 5 and 6 to provide
a function algebra for the elementary computable functions on R. The lifting process
3

begins with a known complexity result on N, such as the fact that the elementary time
functions defined via Turing Machines are exactly the functions given by a particular
function algebra. The lifting can be seen as a two step process (discussed in detail
in section 5). First we lift the result on N to an analogous result on the rationals,
Q, where the model essentially treats the rationals as pairs of natural numbers. The
second step (the most involved one) is to lift this to a result on R. In the work of
[2], the proof involves coming up with a new Turing Machine simulation of the class of
elementary computable functions on R; we manage to avoid using a new Turing Machine
simulation, by re-using a classic result on N (which of course involves a Turing Machine
simulation) and lifting this to R.
We would like to claim that the advantages of these techniques are twofold. First,
they provide a different approach to some of these problems, which seems to facilitate
working on these problems, especially when dealing with function algebras. Second,
the techniques appear to be more amenable to generalization and wider application
than some of the earlier approaches. We claim this based on other work in progress,
and based on the character of the development. While some of lemmas are general, not
specific to the elementary computable functions, a number of others could (with some
adaptation) be stated in a more general way. The wider vision for this approach is a
collection of general tools with broad application. We present the beginning of such a
development.
The paper is organized as follows. In section 2 we define the main concepts that are
going to be used throughout the paper. In section 3 we discuss how those concepts can
be used with function algebras. In section 4 we consider the elementary computable
functions and prove our first main result. In section 5 we establish links with com-
putable analysis and present our second main result. To improve readability we leave
the more technical discussion to section 6. Finally, we point out some directions for
further research.

2 Approximation

To develop formally the definition of approximation we will need to be able to talk about
functions and their arguments in a precise way. If a function f (x1 , . . . , xk ) is defined
on exactly X k and takes values in X, we say it is an X−function, or equivalently, that
it has universe X; we do not consider vector valued functions. We always assume the
universe is a subset of R, and in fact the only particular cases we consider in this paper
will be N, Q, and R. To refer to function arguments precisely we will sometimes need to
speak more formally about the variables of a function. We use lower case letters to refer
to variables and put a bar over the letter, such as x̄, to refer to a finite list of variables (if
not stated or implied by context, a list may be empty). When we write lists of variables
separated by comas, within a function, such as f (x̄, ȳ), we intend that the variables
are all distinct. If we have lists of variables or numbers ā and b̄, the same lengths as
x̄ and ȳ, respectively, then by f (ā, b̄) we mean to substitute ā, b̄ for x̄, ȳ in order. The
key point is that given two functions, the notion of variables allows us to associate
the arguments of two different functions in any way we wish. Any classes of functions
we work with will be sufficiently strong that we can freely manipulate variables in
typical ways. For the approximation relation we will use functions to translate between
different universes.
4

Definition 1 Suppose A, B ⊆ R. An interpretation from A to B is a (possibly


partial) injection from A to B.

Notice that an interpretation is a function of one argument; if ω is an interpretation


and we write ω((a1 , . . . , ak )), we mean (ω(a1 ), . . . , ω(ak )). For a ∈ A, we call ω(a) ∈ B
the code of a, and conversely, for b ∈ B, we say that b codes ω −1 (b) ∈ A. We will now
define the approximation notion between classes of functions, building on the notion
of approximation between two single functions. Some examples follow the definitions.

Definition 2 Suppose A, B ⊆ R. Suppose f (x̄) is a function, on universe A, and


h(x̄, ȳ) is a function on universe B. Suppose ε(x̄, ȳ) is a function on universe R. Suppose
ω : A → B is an interpretation. By

f ¹ε,[ω] h,

we mean that for all x, y ∈ Domain(ω), h(ω(x), ω(y)) is in the domain of ω −1 , and the
following holds:
|f (x) − ω −1 ◦ h(ω(x), ω(y))| ≤ ε(x, y).

Definition 3 Let A, B, and E be classes of functions with universes A, B, and R,


respectively, such that A, B ⊆ R. Suppose ω : A → B is an interpretation.
– We write
E,[ω]
A ¹− B
to mean that for any f (x̄) ∈ A and ε(x̄) ∈ E, there is h(x̄) ∈ B, such that f ¹ε,[ω] h.
– We write
E,[ω]
A ¹+ B
to mean that for any f (x̄) ∈ A and ε(x̄, ȳ) ∈ E, there is h(x̄, ȳ) ∈ B, such that
f ¹ε,[ω] h.

Note that in the definition of approximation, the approximation condition is required


to hold for any precision ε ∈ E; in many applications it would suffice to just have one
ε ∈ E, yet it appears easier to inductively prove approximations for the stronger notion
we use. At the end of this section we comment more on this particular approximation
compared to other possibilities. Recalling that lists of variables may be empty, the
approximation with the “+” is stronger than the one with the “−”. Consider some
useful conventions regarding the approximation notation.

Remark 1 Suppose A and B are sets of functions on universes A and B respectively.


E,[ω]
Consider A ¹+/− B.

– If ω is missing we mean for ω = idA∩B (the identity function on A ∩ B).


– When it is clear that something is an interpretation, we may omit the square
brackets.
– If E is missing, we assume E = Zero, where Zero is the set of all R−functions that
have value 0 everywhere (i.e. the “approximation” must have no error).
– If we leave out “+” and “−”, we mean “−”.
– If we use “+/−” in a statement we mean that it holds for “+” substituted every-
where for “+/−”, or for “−” substituted everywhere for “+/−”.
E,[ω]
– For classes of functions Ai with universe A, we write A1 , . . . , Ak ¹+/− B to mean
E,[ω] E,[ω]
A1 ¹+/− B, . . . , Ak ¹+/− B.
5

For a simple example consider the expression A ¹ B, where A and B are classes of func-
Zero,[idA∩B ]
tions on universes A and B, respectively. By convention it abbreviates A ¹−
B. If A = B, then it just means A ⊆ B. If A ⊆ B then the expression means any
function of A can be extended to a function in B so that their values coincide on A. If
B ⊆ A then the expression means that B contains the restriction to B of any function
from A.
We now introduce the interpretation and related functions that we will work with
throughout this paper.
Definition 4
– Let pair(a, b) = (1/2)(a + b + 1)(a + b) + a (a bijection from N × N to N).
– When we say that a rational is presented in lowest terms we mean that it is
given to us as (−1)s (a/b), where either a = b = s = 0, or a, b ∈ N, s ∈ {0, 1}, with
a, b > 0 and a and b relatively prime.
– We define an interpretation λ : Q → N. For any rational (−1)s a/b presented in
lowest terms, let λ((−1)s a/b) = 2pair(a, b) + s.
Definition 5 We define some functions on universe N.
½
0, if n even;
– parity(n) =
1, if n odd.
– gcd(a, b) = the greatest common divisor of a and b (we let gcd(a, b) = 0 if a or b is
zero)
– top and bot are the unique functions from N to N such that for any rational (−1)s a/b
presented in lowest terms, top(λ((−1)s a/b)) = a, and bot(λ((−1)s a/b)) = b.
a
– code(a, b, s) = 2pair( gcd(a,b) b
, gcd(a,b) ) + s = λ((−1)s a/b), where we take “x/0” to
be 0 (this function is motivated in the following example).
We will now work out a more involved example which we will in fact use later (in
lemma 5).
Example 1 Consider the function mult(x, y) = xy, on Q. Suppose we want a function
mult∗ (n, m) on N, such that it interprets mult (via λ), i.e. mult ¹λ mult∗ , which by our
Zero,[λ]
convention means mult ¹− mult∗ , and, in this case, amounts to the property:
λ(mult(x, y)) = mult∗ (λ(x), λ(y)), for x, y ∈ Q.
Given 2 rationals presented in lowest terms as (−1)k (p/q), and (−1)c (a/b), their prod-
uct is arrived at by multiplying the tops of the fractions together, dividing by the
product of the bottoms, and taking account of the sign, to attain (−1)k+c pa/qb, where
the presentation may no longer be in lowest terms. To define mult∗ we carry out the
same kind of procedure, but on the natural numbers n and m which code rationals.
Thus the top should be top(n)top(m), the bottom should be bot(n)bot(m), and the sign
should be s(n, m) = delta(n)delta(m)parity(parity(n) + parity(m)), where delta(x) = 0
if x = 0 and 1 otherwise. Not only does mult∗ receive codes (n and m) as input, but
top(n)top(m)
it must output a code, thus the output should be λ((−1)s(n,m) bot(n)bot(m) ), so we
define mult∗ (n, m) = code(top(n)top(m), bot(n)bot(m), s(n, m)), which works by the
property of code noted above.
Here and throughout the paper, we will use the important technical idea of lin-
earizing a function defined on Z, that is extending it to domain R, by basically con-
necting the values on Z by straight lines; by bxc we mean the greatest integer less than
or equal to x, and by dxe we mean the smallest integer greater than or equal to x.
6

Definition 6 Suppose the domain of f (x1 , . . . , xk ) contains Z (its codomain may be


R), and r ≤ k. We define an operation which outputs an R−function h(x1 , . . . , xk ) =
LinR (f ; x1 , . . . , xr ) =

f (bx1 c, . . . , bxr c, xr+1 , . . . , xk )(bx1 c + 1 − x1 ) . . . (bxr c + 1 − xr )


+ f (dx1 e, bx2 c, . . . , bxr c, xr+1 , . . . , xk )(x1 − bx1 c)(bx2 c + 1 − x2 ) . . . (bxr c + 1 − xr )
..
.
+ f (dx1 e, . . . , dxr e, xr+1 , . . . , xk )(x1 − bx1 c) . . . (xr − bxr c),

where the intention is to range over all 2r combinations of b·c and d·e applied to the
xi ; corresponding to whether bxc or dxe is applied, we multiply f by (bxc + 1 − x) or
(x − bxc), respectively. We write fˆ to indicate the full linearization, LinR (f ; x1 , . . . , xk ).
We write LinQ to indicate exactly the same operation, except that the input function
must have codomain Q, and the function, h, that is output is only defined on Q.

Note that the values of f off of Z have no effect on fˆ. When we write just Lin it will
be clear from context whether we mean to linearize with respect to R (i.e. use LinR ),
linearize with respect to Q (i.e. use LinQ ), or refer to both simultaneously.

Proposition 1 Suppose f (x1 , . . . , xk ) is a function with a domain containing Z, and


we consider linearization with respect to R or Q.

– For x ∈ Z, fˆ(x) = f (x).


– fˆ is continuous.
– For any x̄ (in R or Q depending on which case we are considering), let
X (x̄) = {f (bx1 c, . . . , bxk c), . . . , f (dx1 e, . . . , dxk e)},
where we range over all 2k combinations of b·c and d·e. The following holds:

min(X (x̄)) ≤ fˆ(x̄) ≤ max(X (x̄))

We now come to some definitions that for the purpose of this paper we could
avoid. However, they facilitate some discussion and are are important for our goal of
developing generally applicable techniques. We will define the concepts of “bounding
class” and “error class.” Intuitively, a class of functions is a bounding class if it can be
used to measure the growth rate of some other class of functions. A class of functions
is an error class, if it can be used to measure the error when one class of functions
approximates another.

Definition 7 Suppose f (y, x̄) is a function on universe A. We say it converges uni-


formly to infinity in y if for every n > 0 there is m0 > 0 such that for any m, x̄ ∈ A,
m ≥ m0 , we have f (m, x̄) ≥ n.
½
f (a), if a ≥ 0;
Definition 8 For f : N → N, let f˜: Z → N be defined by f˜(a) =
f (−a), if a < 0.

Definition 9 Suppose B∗ is a class of functions on universe N, such that for any


f (x̄), g ∈ B ∗ :
1. f > 0
2. f is increasing in any variable.
3. f converges uniformly to infinity in any of its variables.
7

4. For any variables ȳ disjoint from x̄, there is f ∗ (x̄, ȳ) ∈ B ∗ such that f (x̄) ≤ f ∗ (x̄, ȳ).
5. There are h1 , h2 ∈ B ∗ such that f + g ≤ h1 and f ◦ g ≤ h2 .
ˆ
Then B = {f˜ | f ∈ B ∗ } is a bounding class.

We will be interested in a bounding class T W which contains functions that grow like
towers of 2, that is at the speed of the elementary functions.
(...)x1 +...+xk
Definition 10 Let T W ∗ be the set of N−functions of the form 2(2 )
, where
there is at least one power of 2 and we can choose any number of variables.
ˆ
Let T W = {f˜ | f ∈ T W ∗ }.

Proposition 2 T W is a bounding class.

There is some flexibility in how we could have defined the idea of a bounding class;
though the use of linearization could be avoided, we use linearization in other places
anyway and it makes some of the technical development easier. We will form error
classes by taking the reciprocal of a bounding class, i.e. for a set of functions F ,
1/F = {1/f | f ∈ F }.

Definition 11 An error class is either the set of functions Zero or the set of functions
1/B where B is a bounding class.

Now we justify the approximation notation by showing it is a partial order under


the right conditions, that is it satisfies transitivity; when we reference “transitivity” in
this paper we mean some application of the following lemma.

Lemma 1 (Transitivity) Suppose A, B, and C are classes of functions on universes


A, B, and C, respectively, E is an error class, and ω : B → C is an interpretation.
E,idA∩B∩C
1. If A ¹E+ B ¹E+ C then A ¹+ C
2. If Domain(ω) ⊆ A and A ¹E+ B ¹ω C then A ¹E,ω + C
3. If γ : A → B is an interpretation such that domain(ω) ⊂ range(γ), and A ¹γ B ¹ω
C then A ¹ω◦γ C.

Proof 1. Let f (x̄) ∈ A, α(x̄, ȳ) ∈ E and we need h(x̄, ȳ) ∈ C such that |f (x)−h(x, y)| ≤
α(x, y) for x, y ∈ A ∩ B ∩ C. Since E is an error class there is α∗ (x̄, ȳ) ∈ E such
that α∗ (x̄, ȳ) ≤ (1/2)α(x̄, ȳ). Let g(x̄, ȳ) ∈ B such that |f (x) − g(x, y)| ≤ α∗ (x, y)
for all x, y ∈ A ∩ B. Let h(x̄, ȳ) ∈ C such that |g(x, y) − h(x, y)| ≤ α∗ (x, y) for
x, y ∈ B ∩ C. Thus |f (x) − h(x, y)| ≤ α∗ (x, y) + α∗ (x, y) ≤ α(x, y), as required.
Note that we need “+” for the first approximation, but “+” or “−” works for the
second one.
2. Let f (x̄) ∈ A and α(x̄, ȳ) ∈ E and we need h(x̄, ȳ) ∈ C such that |f (x) − ω −1 ◦
h(ω(x), ω(y))| ≤ α(x, y) for all x, y ∈ Domain(ω). Let g(x̄, ȳ) ∈ B such that |f (x) −
g(x, y)| ≤ α(x, y) for all x, y ∈ A ∩ B. Let h(x̄, ȳ) ∈ C such that |g(x, y) − ω −1 ◦
h(ω(x), ω(y))| ≤ 0 for all x, y ∈ Domain(ω). Thus |f (x) − ω −1 ◦ h(ω(x), ω(y))| ≤
α(x, y) for all x, y ∈ A ∩ B ∩ Domain(ω), which is enough since Domain(ω) ⊆ A, B.
Note that the condition Domain(ω) ⊆ A also ensures that A ¹E,ω + C makes sense.
3. Similar to others.

A useful shorthand is the following “approximate equality.”


8

Definition 12 We write A ≈E+/− B to mean that both A ¹E+/− B and B ¹E+/− A


hold.

Note that with the definition of approximation (with its particular quantifiers) it is
important to read the definition in the right order. We use B ºE+/− A as another
way to write A ¹E+/− B. Another important kind of relationship between classes of
functions will be that of one class dominating another.

Definition 13 Suppose A and B are classes of functions on universes A and B, re-


spectively. We write A ≤ B if for every function f (x) ∈ A there is a function h(x) ∈ B
such that |f (x)| ≤ h(x) for all x ∈ A ∩ B.
1/T W
Much of the paper will consist of showing claims like “A ¹+ B”, for various
classes of functions A and B. As indicated earlier, such claims and the rest of the work
of this paper would in fact work fine with other notions of approximation. Another
possibility would be to define approximation so that for f ∗ (x̄, ȳ) to approximate f (x̄)
we only require |f (x̄) − f ∗ (x̄, ȳ)| ≤ α(ȳ), for some error function α(ȳ), which has no
variables x̄, but only “parameter” variables. Or going further in this direction, we could
require α to be exactly the function 1/y with f ∗ only having one extra parameter vari-
able y. For the purposes of this paper, the notions would work in the same manner
because if, for example, f (x̄) ¹1/t f ∗ (x̄, t), then f (x̄) ¹1/α(x̄,t) f ∗ (x̄, α(x̄, t)). Thus
if the classes of functions we work with are strong enough we can start with a func-
tion which approximates another one and improve the approximation by composition.
Without going into the details, each approach seems to have advantages and disadvan-
tages. We choose the particular definition we use since it both appears generalizable
and facilitates some of the technical development.

3 Function Algebras

We will use function algebras to define most of our classes of functions. They are defined
by giving some basic functions and closing the class under operations on functions.

Definition 14 Suppose A is a class of functions on universe A ⊆ R. An operation


with universe (A, A) is a function which takes as input some functions from A, and
outputs a single function from A. If A is all the functions with universe A, we say the
operation has universe A.

Note that we require the universe of an operation to consist of functions which all
have some fixed universe A; this A may not always be referred to explicitly. As an
example, we could define the typical operation (with universe N) of bounded sum,
P P
denoted by . The operation takes a function f (y, x̄) as input and returns g(z, x) =
Pz
y=0 f (y, x). Note that technically the operation should have some way of knowing
which variable to carry out the summation upon, but we will ignore this minor issue
here and for other operations.

Definition 15 Suppose B is a set of functions (called basic functions), and O is a


set of operations. Then FA[B; O] is called a function algebra, and it denotes the
smallest set of functions containing B and closed under the operations in O. For ease
of readability, we often list the elements of B or O simply as a list separated by commas.
9

An example of a function algebra we will use is the elementary computable func-


Q
tions defined via bounded sums and bound products. Let be the operation (called
bounded products) on universe N which takes a function f (y, x̄) and returns g(z, x̄) =
Qz
y=0 f (y, x̄). Let comp be the operation which takes some functions (with any uni-
verse) and composes them.

Definition 16 Let basicN be the following functions with universe N: +, . , P, 0, 1,


where P is the set of all projection functions on N and . is the usual cut-off sub-
traction, defined by (
x − y if x ≥ y
x.y= .
0 otherwise
P Q
Thus FA[basicN ; comp, , ] is the elementary computable functions.
P Q
Definition 17 Let the function algebra FA[basicN ; comp, , ] be abbreviated by
FAN .

Notice that for a function algebra, there can be 2 distinct ways to construct the
same function. This highlights the syntactic side of a function algebra, which will
become an issue in section 6.

Definition 18 Given a function algebra F , and f ∈ F , by a construction tree of f


we mean a tree which describes a construction of f in the function algebra. The leaves
of this tree are labeled by various basic functions in the algebra, and internal nodes
are labeled by operations in the algebra. Thus, we can think of the tree as specifying
how to build a function, starting with the leaves and moving up the tree, so each node
specifies a function in the algebra. For the tree to be associated to f , means that f is
the function associated with the root of the tree.

To compare function algebras it will be useful to talk about a class of functions, B,


approximating an operation; intuitively this means that if any functions are approxi-
mated by B then applying the operation maintains this approximation by B.

Definition 19 Suppose op is an arity k operation with universe (A, A), B is a class of


functions with universe B, and ω : A → B is an interpretation. We write op ¹E,ω+/−
B
to mean:
For any f1 , . . . , fk ∈ A, if f1 , . . . , fk ¹E,ω
+/−
B then op(f1 , . . . , fk ) ¹E,ω
+/−
B

The notational conventions for approximation (remark 1) continue to apply for the
approximation of operations; recall that by convention we can choose “+” throughout
or “−” throughout in the above definition. It will be useful here and later to define the
notion of restricting an operation to certain functions.

Definition 20 Suppose op is an operation on universe F and G ⊆ F . Furthermore,


suppose that op applied to functions in G yields a function in G. Then by op|G we mean
the same operation as op, except that its universe is G. We use a subset X of R in
place of G if we mean for G to be all the functions with universe X.

To make the definition more concrete consider “interpreting” composition.

Proposition 3 Suppose A, B ⊆ R and ω : A → B is an interpretation. Suppose B is


any class of functions with universe B, closed under composition. Then comp|A ¹[ω] B.
10

Proof Suppose f (t, x̄) and g(ȳ) are functions on universe A and f ω (t, x̄) and g ω (ȳ) are
functions in B such that f ¹ω f ω and g ¹ω g ω . Since B is closed under composition,
f ω (g ω (ȳ), x̄) ∈ B and it suffices to show that f (g(ȳ), x̄) ¹ω f ω (g ω (ȳ), x̄). Consider any
x̄, ȳ ∈ A and the following calculation finishes the proof:

ω −1 ◦ f ω (g ω (ω(y)), ω(x)) = ω −1 ◦ f ω (ω ◦ g(y), ω(x))


= ω −1 ◦ ω ◦ f (g(y), x)
= f (g(y), x)

The first equality follows by g ¹ω g ω and the second by f ¹ω f ω .

The following is an easy but repeatedly used lemma.

Lemma 2 Suppose B1 and B2 are classes of functions with universes U1 and U2 ,


respectively, and ω : U1 → U2 is an interpretation. Suppose O1 and O2 are sets of
operations whose universes are (F1 , U1 ) and (F2 , U2 ), respectively, for some F1 and
F2 .
E,[ω] E,[ω]
If B1 ¹+/− FA[B2 ; O2 ] and for every op ∈ O1 we have op ¹+/− FA[B2 ; O2 ]
E,[ω]
then FA[B1 ; O1 ] ¹+/− FA[B2 ; O2 ].

E,[ω]
Proof We show inductively on f ∈ FA[B1 ; O1 ] that f ¹+/− FA[B2 ; O2 ]. For the basic
functions B1 we are given that fact. For any other function op(f1 , . . . , fk ) ∈ FA[B1 ; O1 ],
E,[ω] E,[ω]
we inductively assume f1 , . . . , fk ¹+/− FA[B2 ; O2 ], so by the definition of op ¹+/−
E,[ω]
FA[B2 ; O2 ], we have op(f1 , . . . , fk ) ¹+/− FA[B2 ; O2 ].

The previous lemma demonstrates the utility of approximating an operation. The


straightforward approach to showing that some function algebra contains another (or
approximates another) is to work inductively on the particular function algebra in ques-
tion. For another related claim, the same process is carried out, typically starting from
scratch. With the concept of approximating an operation we can show once and for all
the resources needed to approximate an operation and then this fact can be re-used
in different contexts (e.g. proposition 3 is a simple case showing that the interpreting
class only needs to be closed under composition). This technical point fits in with our
vision of developing a collection of generally applicable tools, within the context of our
method of approximation. However, in many cases, to keep the work simpler, we have
not worried about limiting the resources to the least necessary.
We will want to show how composition can be approximated in a general way
(in this paper it will be used for two special cases). The approximation will use the
concept of modulus functions, which will appear throughout the paper. These functions
enforce a strong notion of continuity. It is well-known that the functions of Computable
Analysis are continuous on their domain, but they have a stronger property of having
modulus functions, which witness the continuity. We modify the usual notion to allow
the input x to function f (x) to also be input to the modulus function, in addition to the
usual “accuracy parameter” (Ko [8], for example, usually works over a compact domain
and so the modulus function for f (x) is a function m(z) with just one argument, an
accuracy parameter).

Definition 21
11

– |b̄ − ā| abbreviates |b1 − a1 | + . . . + |bn − an |.


– Suppose f (x) and m(x, z) are functions in which the universe of f is contained in
the universe of m. Then m is a modulus for f if the following two conditions hold:
– m is decreasing and m(x̄, z) > 0.
– For all x̄ and ȳ in the universe of f , and z > 0 in the universe of m, |x̄ − ȳ| ≤
m(x̄, z) implies |f (x̄) − f (ȳ)| ≤ 1/z.
– A class of functions M is a modulus for the class of functions F if for any f ∈ F ,
there is m ∈ M such that m is a modulus for f .

The particular definition of a modulus function is motivated by the following definition.


Definition 22 We say a function on universe Q is continuous if it can be extended
to a continuous function on universe R.
From the definitions we can conclude the following.
Proposition 4 If f is a Q−function which has a modulus, then f is continuous.
Now we show how the composition operation can be approximated.
Lemma 3 Let H and F be a classes of functions closed under composition and let B
be a bounding class.
1/B
If H ≤ B and H has a 1/B modulus then comp|H ¹+ F.

Proof Suppose f (u), g(x) ∈ H (one variable for simplicity) and h(x) = f (g(x)). For
r(x, y) ∈ B, we need h∗ (x, ȳ) ∈ F such that h ¹1/r h∗ . We will choose α1 ,α2 ∈ B
and let f ∗ , g ∗ ∈ F such that f ¹1/α1 f ∗ and g ¹1/α2 g ∗ , and define h∗ by composing
them.
Suppose the modulus of f (u) is 1/m(u, z) for m ∈ B. Suppose |g(x)| ≤ b(x) for
b ∈ B. Let α1 (u, x, ȳ) ∈ B such that 2r(x, ȳ) ≤ α1 (u, x, ȳ). Let α2 (x, ȳ) ∈ B such
that m(b(x), 2r(x, ȳ)) ≤ α2 (x, ȳ). Note that α1 , α2 ∈ B by the properties of bounding
classes.
Suppose |g(x) − g ∗ (x, ȳ)| ≤ 1/α2 (x, ȳ) and |f (u) − f ∗ (u, x, ȳ)| ≤ 1/α1 (u, x, ȳ). Let
h (x, ȳ) = f ∗ (g ∗ (x, ȳ), x, ȳ). Now we show h ¹1/r h∗ .

|h(x) − h∗ (x, ȳ)| ≤ |f (g(x)) − f (g ∗ (x, ȳ))| + |f (g ∗ (x, ȳ)) − f ∗ (g ∗ (x, ȳ), x, ȳ)|
1 1
≤ +
2r(x, ȳ) α1 (g ∗ (x, ȳ), x, ȳ)
1

r(x, ȳ)
Note that we obtain the second inequality by using the modulus on f and the definitions
of α1 and α2 .

4 The Elementary Computable Functions:


Applying Approximation

In this section we apply the ideas of approximation to reprove a result from [4], which
says that the “discrete part” of L, a set of R−functions, is exactly the elementary
computable functions on N.
12

Definition 23 (from [4]) Suppose F is a class of functions on R. We let

dp(F) = {f|N | f ∈ F and f|N has codomain N},

calling this the discrete part of F.

The key analog operation on R is the operation of obtaining a solution to a linear


differential equation.

Definition 24 LI is the operation which takes any g1 (x̄), . . . , gn (x̄), s11 (y, x̄), . . . , snn (y, x̄),
and returns h1 (y, x̄) where we have the following defining equations:

h1 (0, x̄) = g1 (x̄)


..
.
hn (0, x̄) = gn (x̄)

∂y h1 (y, x̄) = s11 (y, x̄)h1 (y, x̄) + . . . + s1n (y, x̄)hn (y, x̄)
..
.

∂y hn (y, x̄) = sn1 (y, x̄)h1 (y, x̄) + . . . + snn (y, x̄)hn (y, x̄)

Note that technically LI is not an operation in our sense because it does not have a fixed
arity; we can simply view it as a convenient way to refer to a set of operations, each
having a fixed arity. For k ∈ N, by C k we mean the k−times continuously differentiable
functions on R. The following basic functions are all C 2 .

Definition 25 Let basicR be the following functions with universe R: 0, 1, −1, π, P,


θ3 , where P is the set of all projection functions on R (note that independent of the
universe, we use the same notation for projection functions), π is the famous constant,
½
0, x < 0;
and for any k ∈ N (k > 0), θk (x) = , a C k−1 version of the discontinuous
xk , x ≥ 0.
function which indicates whether a number is to the left or right of zero.

The function algebra on the reals that we will now be concerned with is the following
(using the notation L from earlier papers).

Definition 26 Let L abbreviate the function algebra FA[basicR ; comp, LI].

The goal we are now aiming for is theorem 1:

dp(L) = FAN .

The proof in [4] proceeds by showing the two inclusions. The inclusion “⊇” (proposition
4.8 of [4]) is proved inductively on the construction of the functions in FAN , using the
operations of L at each step. The inclusion “⊆” (proposition 4.4 of [4]) is again proved
by induction, this time on the functions in L, but rather than using the operations of
FAN at each step, a Turing Machine is constructed, and it is shown how in elementary
time an appropriately close approximation can be carried out; of course this relies on
the well-known fact that the function algebra FAN corresponds to the elementary time
computable functions. We will give an alternative proof of this inclusion using our
method of approximation. Other than using the fact that FAN contains a few useful
functions (being a well known and powerful class), the proof will proceed naturally
using the operations of the function algebra itself, without reference to the elementary
13

computable functions. Furthermore, we re-use the main approximation results of this


section (namely corollaries 1 and 3) in proving the main theorem of the next section.
If one were to begin thinking about a proof along these lines, an apparent problem
presents itself. A function f ∈ dp(L) is in there due to some associated construction tree
(recall definition 18). While f (the function associated with the root of the construction
tree) is required to have natural number values on natural number inputs, there is no
such constraint on the functions associated with other nodes in the construction tree
(they may be real valued). To inductively show that f is in FAN , requires that we
deal with these non-root nodes in FAN ; however, it is unclear how to deal with real
number values in FAN . The way we get around this issue is to introduce an intermediary
function algebra with universe Q. This function algebra will naturally approximate L
(corollary 3). Then we can naturally interpret this function algebra on Q into FAN
(corollary 1). The theorem then follows, using the transitivity of the approximation
relation.
The main operations of the function algebra on Q will be a kind of bounded sum
P Q
(line ) and bounded product (line ) on the rationals. They are defined so that they
preserve continuous functions when applied to continuous functions. This property
is important for the next section, and while not important for this section, presents
little complication for it. We call the operation a line sum because it is defined as
the linearization of summation. For the definition, given a Q−function f (y, x̄), we
P
understand g(z, x̄) = zy=0 f (y, x̄) to be defined in the natural way for negative z ∈ Z,
P−2
e.g. y=0 f (y, x̄) = f (0, x̄) + f (−1, x̄) + f (−2, x̄). Furthermore, we understand g(z, x̄)
to be a function with values in Q where z ∈ Z and x̄ ∈ Q. The discussion for products
is similar.
P Q
Definition 27 We define operations line and line with universe Q. Suppose f (y, x̄)
is a function on universe Q.
P P
– line (f ) = Lin( zy=0 f (y, x̄); z)
Pbzc Pdze
(which = (1 + bzc − z) y=0 f (y, x̄) + (z − bzc) y=0 f (y, x̄))
Q Qz
– line (f ) = Lin( y=0 f (y, x̄); z).
P P
We sometimes write line (f ) as line zy=0 f (y, x̄) to express how we use variables,
Q
and likewise for line .
Definition 28 Let basicQ be the following functions with universe Q: 0, 1, −1, P, ∗,
+, div, θ1 , where P is the set of projection functions, θ1 is understood as a function
with universe Q (though it was originally defined for R in definition 25), and div(x) =
½
1/x, if x ≥ 1;
1, otherwise.
P Q
Definition 29 Let the function algebra FA[basicQ ; comp, line , line ] be abbrevi-
ated by FAQ (ctn).
Notice that all the functions in this class are continuous as indicated by “ctn”. We
explicitly indicate this because in the next section we will define an extension of this
function algebra which contains discontinuous functions (it will be called FAQ (disctn)).
If it appears to you that the basic functions are redundant, you are probably correct.
We should be able to derive ∗ and + in the class, as is typically done for these functions
in FAN . However, for us the classes on the rationals are merely a means to an end, so
we include possible redundancy to simplify the technical development. We define some
functions contained in FAQ (ctn).
14

Definition 30 We define some functions with universe Q.



 0, if x ≤ 0;
– Let sgn(x) = x, if 0 < x < 1;

1, if x ≥ 1.

 1 − x, 0 ≤ x ≤ 1;
– Let δ(x) = 1 + x, −1 ≤ x ≤ 0;

0, |x| ≥ 1.
– Let δu (x) = δ(x − u)
Since sgn(x) = θ1 (x) − θ1 (x − 1), it is in FAQ (ctn). We could continue to show various
simple functions (like δ) are in FAQ (ctn), but if we only care about the values on N, the
following simple proposition will be useful. It says in words, that FAQ (ctn) can exactly
capture FAN , when restricted to N.
Proposition 5 FAN ¹ FAQ (ctn)
Proof Note that we can define cut-off subtraction in FAQ (ctn) by x . y = sgn(x −
y)(x − y); the other basic functions can likewise be evaluated, thus we have basicN ¹
FAQ (ctn). Immediately from the definitions of line sums and line products, we have
P Q
, ¹ FAQ (ctn), thus by lemma 2 we are done.
Since we can essentially work with Z using N we will sometimes reference the previous
proposition for functions with universe Z. We can now conclude that FAQ (ctn) contains
a function that looks like δ on Z; to get exactly δ, we can linearize (recall definition 6),
which is allowed in FAQ (ctn) by the next lemma.
Lemma 4 FAQ (ctn) is closed under Lin.
Proof Suppose f (x1 , . . . , xk ) is in FAQ (ctn). Note that Lin has the following property
(follows by writing out the definition):
Suppose r < k. Then Lin(Lin(f ; x1 , . . . , xr ); xr+1 ) = Lin(f ; x1 , . . . , xr+1 ).
Due to this property it suffices to just show that Lin(f ; x1 ) is in FAQ (ctn). Thus we
P 1
just note that Lin(f ; x1 ) = line x
y=0 f (y, x2 , . . . , xk )δx1 (y).

Now we point out a series of facts, leading to corollary 1, which states that FAQ (ctn)
can be interpreted in FAN . Example 1 in fact shows how multiplication in basicQ can
be interpreted (via λ) in FAN ; the other functions of basicQ can be handled similarly,
thus we have the following lemma.
Lemma 5 basicQ ¹λ FAN
Q
Lemma 6 line ¹λ FAN
Proof Suppose f (y) is a function (we ignore arguments other than y) with universe
Qbzc
Q and h(z) = y=0 f (y). Assuming we have f λ (y) ∈ FAN such that f ¹λ f λ , we
will find hλ (z) ∈ FAN such that h ¹λ hλ , i.e. h(z) = λ−1 ◦ hλ (λ(z)). To interpret
Q Qdze
line then involves interpreting y=0 f (y) (which is similar to finding hλ ) and then
putting this interpretation together with hλ . Defining hλ will be similar to interpreting
multiplication in example 1 (we will again use the functions from definition 5). To find
the bounded product, we will find what the top and bottom of the resulting fraction
should be, along with its sign and put this together properly.
Consider the following N−functions:
15

Qw
TOP(w) = top ◦ f λ ◦ λ|N (y)
Qy=0
w λ
BOT(w) = y=0 bot ◦ f ◦ λ|N (y)
Pw
SIGN(w) = parity{ y=0 parity ◦ f λ ◦ λ|N (y) }

Note that
TOP(bzc)
h(z) = SIGN(bzc) ,
BOT(bzc)
for z > 0 (we are ignoring the case of z < 0, which could be handled by using a function
which chooses the case depending on the sign of z). Since λ|N , f λ ∈ FAN , so are TOP,
BOT, and SIGN. Let b ∈ FAN such that b(λ(z)) = bzc, so

TOP(b(λ(z)))
h(z) = SIGN(b(λ(z))) .
BOT(b(λ(z)))

We let hλ (u) = code(TOP(b(u)), BOT(b(u)), SIGN(b(u))) ∈ FAN , and thus hλ (λ(z)) is


the code of h(z) and λ−1 ◦ hλ (λ(z)) is as desired.

The proof for sums is similar, though finding the “top” is a bit more technically in-
volved.
P λ
Lemma 7 line ¹ FAN

Corollary 1 FAQ (ctn) ¹λ FAN

Proof By lemma 2, it suffices to show that basicQ ¹λ FAN , and that FAN interprets
the 3 operations in FAQ (ctn). The last two lemmas showed that both line sums and
products can be interpreted. Proposition 3 shows that composition can be interpreted.

The rest of the section is mostly devoted to the goal of proving corollary 3, which
states that we can approximate L by FAQ (ctn). Approximating the basic functions of
L is relatively straightforward, as is the following bound.

Proposition 6 T W ≤ FAQ (ctn).

1/T W
Lemma 8 basicR ¹+ FAQ (ctn)

Proof Except for θ3 and the constant π, all the functions and constants of basicR are
extensions of something in basicQ and so we approximate them with zero error on Q.
We can approximate θ3 with zero error since θ3 = θ1 ∗ θ1 ∗ θ1 . For π we carry out a
P
sufficiently long Taylor series approximation, which is simulated using line and other
simple functions from FAQ (ctn); notice the importance of div to express the Taylor sum.
The necessary length of the series will be a function from T W, which we can dominate
in FAQ (ctn), by proposition 6.

We will want to use Euler’s Method in FAQ (ctn) to approximate solutions to dif-
ferential equations; to carry this out, linear recursion will be a useful tool (we begin
with the definition on N).

Definition 31 LR is the operation which takes any functions on universe N, g1 (x̄), . . . , gn (x̄),
s11 (y, x̄), . . . , snn (y, x̄), t1 (y, x̄), . . . , tn (y, x̄) and returns h1 (y, x̄), where we have the
following equations:
16

h1 (0, x̄) = g1 (x̄)


..
.
hn (0, x̄) = gn (x̄)

h1 (y + 1, x̄) = s1n (y, x̄)h1 (y, x̄) + . . . + s1n (y, x̄)hn (y, x̄) + t1 (y, x̄)
..
.
hn (y + 1, x̄) = sn1 (y, x̄)h1 (y, x̄) + . . . + snn (y, x̄)hn (y, x̄) + tn (y, x̄)
P Q
Special cases of LR yield the operations and . It is relatively straightforward to
P Q
see that we can also obtain LR with and .
Proposition 7 FAN is closed under LR.
We define a linearized version of linear recursion for the rationals, as we did with sums
and products.

Definition 32 lineLR is the operation with universe Q which takes some input func-
tions f1 , f2 , . . . and returns:
h(y, x) = Lin(LR∗ (f1 , f2 , . . .); y),
where y is the recursion variable and we understand LR∗ to be defined just like LR
except that the functions fi can have values in Q, and for y < 0 (where the result of
LR would not be defined) we simply define the result of LR∗ to be zero.

The following lemma can be seen as a kind of “lifting” of proposition 7 to an analogous


claim on the rationals.

Lemma 9 FAQ (ctn) is closed under lineLR.

Proof We will use the following technical claim (note that we restrict to λ|N since it is
not possible for the discontinuous function λ to be in FAQ (ctn)):
FAQ (ctn) contains extensions (to Q) of λ−1 and λ|N .
For the claim, note the following:
– λ|N ∈ FAN , so by proposition 5 we have an extension in FAQ (ctn).
– For λ−1 , it suffices to show we can compute top and bot (recall definition 5).
Consider the main part of top, showing that the bijection p : N → N, defined by
p((1/2)(a + b + 1)(a + b) + a) = a can be extended to FAQ (ctn). The following
extension to Q works in FAQ (ctn):
z
X z
X
p(z) = line line yδz ((y + x + 1)(y + x) + y).
x=0 y=0

Now for the lemma, suppose f1 , . . . , fk ∈ FAQ (ctn) and let h = lineLR(f1 , . . . , fk ).
By corollary 1, we have interpretations f1λ , . . . , fkλ ∈ FAN . By proposition 7, we can use
LR in FAN , and show that hλ ∈ FAN and so by proposition 5 we have an extension of it
in FAQ (ctn). By the above claim, we have λ|N , λ−1 ∈ FAQ (ctn) and so on the naturals,
h = λ−1 ◦ hλ ◦ λ|N ∈ FAQ (ctn); to finish we linearize, allowed by proposition 4.
17

To apply Euler’s Method we will need appropriate bounds on the functions used.

Definition 33 Suppose F is a class of differentiable functions. Then F 0 = {h0 | h ∈


F}, where by h0 we mean that h is differentiated with respect to any one variable.

The following is proved inductively (observed in proposition 4.3 of [4]).

Proposition 8 L, L0 ≤ T W

The last proposition allows us to conclude the following (since if the derivative of a
function is bounded by T W, there is a 1/T W modulus).

Corollary 2 L has a 1/T W modulus.

Since we are concerned with LI in L, restricting our attention to LI|L is fine; in fact
to prove the next lemma, we could replace L by any class of C 2 functions F satisfying
F, F 0 ≤ T W.

1/T W
Lemma 10 LI|L ¹+ FAQ (ctn)

Proof Suppose f1 , f2 , g1 , g2 ∈ L and we use LI to define h1 via the following linear


differential equations (for ease of readability, we just consider 2 equations):


∂x h1 (x, ȳ) = f1 (x, ȳ)h1 (x, ȳ) + f2 (x, ȳ)h2 (x, ȳ) = F1 (x, h1 , h2 )

∂x h2 (x, ȳ) = g1 (x, ȳ)h1 (x, ȳ) + g2 (x, ȳ)h2 (x, ȳ) = F2 (x, h1 , h2 )

Suppose that 1/α(x, ȳ, z̄) ∈ 1/T W is the desired approximation accuracy, and we need
to find h∗1 (x, ȳ, z̄) ∈ FAQ (ctn) such that h1 ¹1/α h1 .
The function h∗1 will be defined by essentially simulating Euler’s method, using
sufficiently good approximations f1∗ , f2∗ , g1∗ , and g2∗ of f1 , f2 , g1 , and g2 , respectively.
The simulation will be carried out on the interval [0, x], using the partition 0 = x0 <
x1 < . . . < xn = x, where |xi+1 − xi | = δ(x, ȳ, z̄) = 1/b(x, ȳ, z̄), for a function
δ ∈ FAQ (ctn) that goes to 0 quickly enough (b is a fast growing function in FAQ (ctn),
larger than 1, so that δ = div(b) ∈ FAQ (ctn)). Note that we only consider x > 0, but
for x < 0, we would be able to carry out the same procedure and we could then use
a function in FAQ (ctn) to choose the procedure, depending on the sign of x. To carry
this out we use lineLR to obtain h∗1 from the following system of equations (we drop
the parameters ȳ, z̄).

h∗1 (u + 1) = h∗1 (u) + δ(x){f1∗ (uδ(x))h∗1 (u) + f2∗ (uδ(x))h∗2 (u)}


h∗2 (u + 1) = h∗2 (u) + δ(x){g1∗ (uδ(x))h∗1 (u) + g2∗ (uδ(x))h∗2 (u)}

Notice that we use a new variable u to keep track of the steps in Euler’s Method.
The function δ keeps x as its input since to obtain the desired accuracy, the partition
depends on the final point, x. The other functions have appropriate parameters substi-
tuted, so that the value of h∗1 (u) is the approximation of h1 (xu ). Thus h∗1 (x · b(x, ȳ, z̄))
approximates h1 (x). Note that the arithmetic functions +, ∗, and div are sufficient to
define these equations (in particular, div is essential).
18

To check that the error really is bounded by 1/T W, we follow the standard error
analysis for Euler’s method. Consider some fixed x, ȳ, z̄ and the partition of [0, x]
discussed above. In the usual way we write

h1 (xi+1 ) = h1 (xi ) + δF1 (xi , h1 , h2 ) + δτ


h2 (xi+1 ) = h2 (xi ) + δF2 (xi , h1 , h2 ) + δτ,

where the local error τ can be bound by δd, where d is a bound on h00 00
1 (x) and h2 (x).
Since the fi and gi from which h1 and h2 are defined have T W bounds, so do h00 1 (x)
and h00
2 (x). Because F1 and F2 are defined in terms of fi and gi with T W bounds, there
is L(x, ȳ, z̄) ∈ T W which is a Lipshitz function for F1 and F2 , i.e. for u ∈ [0, x], we have
(2) (2) (1) (1) (2) (1) (2) (1)
|F1 (u, h1 , h2 ) − F1 (u, h1 , h2 )| ≤ L(|h1 − h1 | + |h2 − h2 |), and likewise for
F2 . The global error can then be calculated recursively in the usual way (i.e. the error
ei+1 at step i + 1 is calculated in terms of the error at step i, ei = |h1 (xi ) − h∗1 (i)|). We
arrive at the error bound of exL (|e0 | + δd + r), where r is the error incurred by using
the approximation to the derivative at each step in Euler’s method, as opposed to the
exact derivative (i.e. we use fi∗ and gi∗ rather than fi and gi to define the h∗i ). We now
see that we can make this error less than 1/α because starting with T W bounds on L
and d, we can choose arbitrarily good 1/T W bounds on r, δ, and |e0 |.

1/T W
Corollary 3 L ¹+ FAQ (ctn)

1/T W
Proof By lemma 2, it suffices to note that basicR ¹+ FAQ (ctn) (by lemma 8), and
that FAQ (ctn) approximates the 2 operations LI|L and comp|L . Lemma 10 shows we
can approximate LI|L . For composition, we can apply lemma 3, since we know L ≤ T W
(proposition 8) and L has a 1/T W modulus (corollary 2) .

We can now finish the alternative proof of the theorem from [4].

Theorem 1 dp(L) = FAN

Proof – ⊇: This direction is carried out inductively in proposition 4.8 of [4] (we make
no modification to the existing proof).
– ⊆: By corollaries 3 and 1, respectively, we have:
1/T W
L ¹+ FAQ (ctn) ¹λ FAN .
1/T W,λ
By transitivity we have L ¹+ FAN . Let f (x) ∈ dp(L), and take any α(x, y) ∈
1/T W, so we have f ∗ (x, y) ∈ FAN such that f ¹α,λ f ∗ . By fixing y to a large
enough number, we have α(x, y) ≤ 1/3 for all x and can obtain h(u) ∈ FAN such
that for x ∈ N, |f (x) − λ−1 ◦ h ◦ λ(x)| ≤ 1/3. Since f (x) ∈ N for x ∈ N, f (x) =
nearest(h(λ(x))) ∈ FAN , where nearest(a) returns the closest natural to the rational
coded by a. The last function is in FAN because both nearest and λ|N are in FAN .

Consider again our alternative proof of dp(L) ⊆ FAN . Despite the fact that we were
liberal in assuming that FAN contained certain functions, our approach allowed us to
work more naturally with the function algebra itself, avoiding the characterization of
FAN as the elementary computable functions. In fact our methods could be used in a
natural way for function algebras which do not have any known corresponding com-
putational classes, highlighting a particular advantage of our approach when working
with function algebras.
19

5 Connection to Computable Analysis: Applying Lifting

We will begin by introducing the technical framework, and then we discuss explicitly
the idea of lifting in the proofs of the theorems. We will use standard notions from
Computable Analysis, as described in Ker-I Ko [8] and Weihrauch [12], though following
more closely the former. For the most part Ker-I Ko restricts his attention to functions
defined on a finite interval, while we consider functions defined on all of R. Thus in this
work, the main difference is that a number of notions will depend on both the input
value to the function, as well as the usual accuracy parameter (as in, for example, the
case of the modulus functions). We will be concerned with the elementary computable
functions over N, Q, and R.
Let E(N) be the usual elementary computable functions on N, defined via Turing
Machines. By E(R) we mean the total R−functions f (x) which can be computed to
accuracy 1/n (n ≥ 1) in time t(x, n), where t ∈ T W. The real input x is given by an
oracle which gives x to any demanded precision as a dyadic rational (the set of dyadic
rationals is denoted D); the precision 1/n is given by putting n on the input tape (we
call this the accuracy input). Note that we use the approximation of the form 1/n
rather than 1/2n , since for elementary computable functions such distinctions have no
effect. For Q we will define a class of functions E(Q) which essentially treats rationals
as pairs of integers. The following definitions of a kind of denominator, numerator, and
sign function will be convenient.

Definition 34 We define functions from Q to Z.

– For a rational (−1)s a/b presented in lowest terms, let:


D((−1)s a/b) = (−1)s b
N((−1)s a/b) = (−1)s a
(note that D(0)
½ = N(0) = 0)
0, if x ≤ 0;
– Let sign(x) = , a discontinuous version of sgn from definition 30.
1, if x > 0.

A Q−function f (x) is in E(Q) if there is an elementary time Turing Machine on N


that computes it in the following sense: On input x ∈ Q the machine is given the triple
(|N(x)|, |D(x)|, sign(x)), and it computes the triple (|N(f (x))|, |D(f (x))|, sign(f (x)));
note that the time allowed depends on the length of the representation of x as a triple
of natural numbers (for a sequence of inputs x we use a sequence of triples). Note that
E(R) contains only continuous functions, while E(Q) contains discontinuous functions
(recall definition 22 and the surrounding discussion). In general, if a class of functions
contains only continuous functions we call it a continuous class and otherwise we
call it a discontinuous class.
We introduce the technique of lifting in this section and apply it to extend a result
of Bournez and Hainry [2]. The lifting can be viewed as a two step process which is
pictured in the figure on page 22. We begin with the classic result of Grzegorczyk
stating that E(N) = FAN . The first step is to lift this to an equality on the rationals,
for which we will use an extension of FAQ (ctn) to a discontinuous class FAQ (disctn).
It is defined by simply adding D to the basic functions of FAQ (ctn) (we indicate this
addition to the basic functions by placing D after the existing basic functions with a
comma separating them).
P Q
Definition 35 We abbreviate FA[basicQ , D; comp, line , line ] by FAQ (disctn).
20

Using D, and the easily derived N, the class FAQ (disctn) can break apart a rational into
a triple of naturals and then work with these naturals in an elementary computable
manner, thus it is much more powerful than FAQ (ctn). Recalling proposition 5, we
can immediately obtain FAN ¹ FAQ (disctn), and will in fact reference that proposition
with respect to either FAQ (ctn) or FAQ (disctn). Also, by noting that D ¹λ FAN , we
can extend corollary 1 to FAQ (disctn), i.e. FAQ (disctn) ¹λ FAN . Immediate from the
definitions we can conclude the following.

Proposition 9 E(N) ¹ E(Q) and E(Q) ¹λ E(N).

The relationships between the function classes on the naturals and the (discontinu-
ous) ones on the rationals are pictured in the top of the figure. Note that E(Q) ≈λ
FAQ (disctn) follows by transitivity using the relationships pictured in the figure. We
can use this fact to conclude the following.

Lemma 11 E(Q) = FAQ (disctn).

Proof We will use the fact established above: E(Q) ≈λ FAQ (disctn). We now show the
two inclusions for the equality: E(Q) = FAQ (disctn).

– (⊆) By the fact we have E(Q) ¹λ FAQ (disctn). Using D and N, we can conclude
that λ and λ−1 are in FAQ (disctn). We obtain E(Q) ⊆ FAQ (disctn), because for
any f (x) ∈ E(Q), we have f λ ∈ FAQ (disctn) such that f (x) = λ−1 ◦ f λ (λ(x)), and
λ−1 ◦ f λ (λ(x)) ∈ FAQ (disctn), by closure under composition.
– (⊇) By the fact we have FAQ (disctn) ¹λ E(Q). We have λ, λ−1 ∈ E(Q), so by the
same reasoning as in the previous inclusion we have FAQ (disctn) ⊆ E(Q).

Note that the crucial place (and only place) where the previous proof would break
down for FAQ (ctn) is at the point where we claim λ ∈ FAQ (disctn); this discontinuous
function cannot be in FAQ (ctn). Thus we have completed the first and easier step of
the lifting, showing how to conclude E(Q) = FAQ (disctn) from E(N) = FAN .
In the second step of the lifting, the main part is to show how to pass from E(Q) =
FAQ (disctn) to the following theorem.
1/T W
Theorem 2 E(R) ≈+ L

Note that the theorem follows by transitivity once we have established the relationships
pictured in the lower part of the figure (the approximations appearing in the figure will
be proved in the next section). Note that in the figure we pass through classes with
universe Q, so transitivity alone yields the theorem only on Q; however, since L and
E(R) are classes of continuous functions we obtain the approximation for all of R. As
indicated in the figure, for the pairs E(Q) and E(R), and FAQ (disctn) and FAQ (ctn), the
approximation is true only for functions with a 1/T W modulus. Those approximations
are an important and involved part of the lifting process, showing that we can in fact
connect the continuous and discontinuous classes of functions simply by restricting
the discontinuous classes to their functions which have a 1/T W modulus. Section 6 is
devoted to the technical work of proving these relationships.
To obtain a class of functions which actually equals E(R) we will add a kind of
limit operation to L (the idea of using a limit operation goes back to work from Costa
and Mycka, see [10] and [11]). We will show that two different kinds of limit operations
suffice and then at the end of this section we point out that for our purposes we could
21

in fact be quite flexible in choosing our limit operation. We start with a limit operation
that resembles LIMω (definition 8 from [2]), and, as discussed at the end of this section,
is equivalent for our purposes.

Definition 36 dLIM is the operation which takes a function function f (t, x̄) and if

| ∂t f | ≤ 1/2t for t ≥ 1, it returns F (x̄) = limt→∞ f (t, x̄).

Note that the derivative condition guarantees the existence of the limit (see the end of
the proof of theorem 3 in the next section). In [2], the function algebra L∗ is defined
as the function algebra L augmented by a limit operation (one more restrictive than
LIMω ). They then show (in theorem 1) that E(R) = L∗ for certain C 2 functions. Instead
of L∗ , we will consider L(dLIM), where in general by F(op), for a class of functions F
and an operation op, we mean the set of functions F together with those that result
from a single application of op to a function in F . With this caveat and the fact that
we only consider total functions on R, we prove, in theorem 3, the following, which is
essentially an extension of theorem 1 from [2]:
E(R) = L(dLIM).
While we should be able to obtain exactly the result of [2], with a little more technical
work, it seems more interesting to focus on this simple modification. In fact, we prove
what they call a kind of “normal form” (as in proposition 17 of [2]), in which we only
need one application of limits. Furthermore, our result does not require a restriction to
C 2 functions. In the conclusion of this section we discuss further reasons for choosing
to focus on this simpler form. Our work will in fact use a different limit operation,
one which is only concerned with closeness (again, we will discuss at the end of this
section how the limit can be made quite a bit more flexible without any changes to the
results).

Definition 37 LIM is the operation which takes a function f (t, x̄) and returns F (x̄) =
limt→∞ f (t, x̄) if the limit exists and F ¹1/t f , for t ≥ 1.

We now state the main theorem (proved in the next section).

Theorem 3 E(R) = L(LIM) = L(dLIM)

To understand an important aspect of our alternative proof, consider their method for
proving E(R) = L∗ (restricted to certain functions). They prove the more involved
inclusion, E(R) ⊆ L∗ , by showing how to simulate Turing Machines in L∗ . Our proof
of these results will follow without another Turing Machine simulation (i.e. nothing
beyond the original one used to show E(N) = FAN ). As discussed, we use a lifting
process which depends on showing a series of approximations. Though ultimately our
proofs may not be simpler than the proofs of [2], we believe this work offers a nice
perspective on these problems, as well as providing tools that should be more generally
applicable.
We now discuss some of the promised issues with limits. The limits could be
strengthened or weakened in various ways, preserving the same set of functions when
L is closed under such operations. To strengthen the limits we could for instance (fol-
lowing the form of the limits from [2]) only require F (x̄) ¹ε f (t, x̄), where ε(t, x̄) =
K(x̄)/α(t, x̄), for some K ∈ T W and α(t, x̄) = log ◦ . . . ◦ log(t + x̄), and we could
require this only need hold for |t| ≥ s(x̄), for s ∈ T W. If L were closed under such
a limit it would yield the same set of functions as closing under LIM. The reason for
22

Turing ma-
chine mod- Function
els algebras

E(N)
¹λ = FAN

¹λ
prop. 9 Cor. 1, Prop. 5
º

º
E(Q) ≈λ FAQ (disctn)

↓ Lem. 11

E(Q) = FAQ (disctn)

1/T W
← if f has a 1/T W → Lem. 18

≈+
modulus
1/T W

Lem. 16 FAQ (ctn)


≈+

1/T W
Cor. 3, 4

≈+
Thm. 2
E(R) 1/T W
≈+ L

↓ Thm. 3
E(R) = L(LIM)

Fig. 1 Approximations used for lifting.

this is simply that given a function f (t, x̄) ∈ L converging (as t → ∞) to F (x̄) in the
looser sense, we could find a function which converged in the sense of LIM, simply by
taking f (α(t, x̄), x̄) ∈ L for α(t, x̄) sufficiently fast. We could even allow repeated use
of limits (though not allowing other operations after a limit). To weaken the limit we
could define a kind of completion operation, putting F (x̄) in the completion of L if
for every α(t, x̄) ∈ T W, there were a f (t, x̄) ∈ L such that F ¹1/α f (in which case
limt→∞ f (t, x̄) = F (x̄)). This is again equivalent to LIM, by using the same idea of
composing in fast growing functions. For dLIM the situation is similar with the caveat
that the function bounding the derivative, say b(t, x̄), needs to converge to zero quickly
P
enough as t → ∞ (basically a condition like t∈N b(t, x̄) < ∞ would suffice, and using
b(t, x̄) = 1/2t is a simple approach; this point follows by inspecting the end of the proof
of theorem 3 in the next section). Furthermore, for dLIM, we can not simply compose
in fast functions because the derivative would not be properly bounded, but we can
use lemma 13, which allows us to transform a converging function (which could have
a badly behaved derivative) into a function that converges with a properly bounded
derivative. Note in particular that we can obtain the claim E(R) = L(LIMω ), essentially
theorem 1 of [2].
This latter idea of completion highlights what is really going on. The fundamental
point is that L in some sense approximates E(R) (e.g. theorem 2), so that any suffi-
ciently well behaved way of completing it yields E(R). As seen in the above discussion
the manner in which L can be completed is quite flexible. The function algebra L∗ of
[2] is a good first step towards finding a function algebra for E(R), but in a sense it
is not a “proper” function algebra. Their limit operation can be interleaved with the
23

other operations of the function algebra as one would like, but they go on to prove a
“normalization” theorem, showing that a single use of the limit operation suffices. In
a more “proper” function algebra we would expect the necessary interleaving of the
operations in order to obtain all the functions of the class. From this discussion we
justify our ignoring the issue of showing how the limit operation can be used freely in
the function algebra. However the initial step of [2] leads to an interesting, though not
precisely stated question.

Question 1 Are there natural and genuine operations that can be added to the function
algebra L (or perhaps to a different function algebra) so that the resulting functions
are exactly E(R), where by “genuine” we mean that it really makes sense to interleave
these operations with the other operations of the function algebra?

We remark that the idea of completion is at the core of the notion of “converging
computation” for continuous-time models like the GPAC (or, equivalently, systems
of polynomial differential equations) explored in [6] and [1]. The main result in [1]
could be stated as an approximation result for the real computable functions. The
equivalence proved in that paper between GPAC-computability and computability in
the sense of recursive analysis follows from the fact that the definition of GPAC-
computability encapsulates the idea of completion. The connections above suggest that
approximation, lifting and completion should allow us to unify apparently distinct
notions of computability over the reals.

6 Connection to Computable Analysis: Technical Discussion

The rest of the paper is devoted to proving the technical lemmas and the properties
indicated in the figure of the previous section, as well as providing a proof of theorem 3.
See [4] for the details on the following technical lemma (in particular, see lemma
4.6 and 4.7 of [4] for a discussion of the functions behaving like σ and step).

Lemma 12 L contains the functions +, ∗, and sin, as well as functions step and σ
with the following properties:
– σ(t) = 0 for t ≤ 0 and σ(t) = 1, for t ≥ 1.
– step(t) = btc if t ∈ [btc, btc + 1/2], and step is increasing.

Thus we will freely use such functions in L, using the names σ and step to refer to
functions in L with the above properties.
The next lemma shows how to transform a converging function of L into one that
converges with a well-behaved derivative.

Lemma 13 Suppose f (t, x̄) ∈ L such that limt→∞ f (t, x̄) = F (x̄) and F ¹1/t f .
For any α(t, x̄) ∈ T W there is h(t, x̄) ∈ L such that limt→∞ h(t, x̄) = F (x̄) and

| ∂t h| ≤ 1/α.

Proof Let α∗ (t, x̄) be a sufficiently fast function in L (discussed later). Let g(t, x̄) =

f (α∗ (t, x̄), x̄), so F ¹1/α g. Let G(t, x̄) = g(step(t), x̄), so G(t, x̄) = g(btc, x̄) for
t ∈ [btc, btc + 1/2]. Let H(t, x̄) = σ(2t + 1/2)c3 θ3 (sin 2πt)G(t, x̄), where c3 is a constant
R 1/2
we can define in L, which makes 0 c3 θ3 (sin 2πt) = 1 (see proofs of lemma 4.6 and
4.7 of [4]). The particularly relevant properties of H are as follows.
24

1. H(t, x̄) = 0 for −1 ≤ t ≤ 0 (this property is the only reason for the function
σ(2t + 1/2), which equals 1 for t ≥ 0 and so we mostly ignore).
2. H(t, x̄) = 0 for t ∈ [btc + 1/2, btc + 1] for t ≥ 0.
R btc+1/2
3. btc H(u, x̄)du = g(btc, x̄), for t ≥ 0.
Rt
Let h(t, x̄) = 0 H(u, x̄) − H(u − 1, x̄) du, which is in L because H is, and integration
is a special case of LI.
Now we check that h works as required. For the derivative condition consider t ≥ 0
and note that:

| h| = |H(t, x̄) − H(t − 1, x̄)|
∂t
≤ c3 |G(t, x̄) − G(t − 1, x̄)|

By the definition of G and the fact that the function step is monotone, the last difference
can be bounded by maxbtc−1≤t1 ,t2 ≤btc+1 { c3 |g(t1 , x̄) − g(t2 , x̄)| }, so by choosing α∗

sufficiently large (around 2α), since F ¹1/α g, we can get | ∂t ∂
h| ≤ 1/α.
To show that limt→∞ h(t, x̄) = F (x̄), it suffices to show that h(t, x̄) is in-between
g(btc − 1, x̄) and g(btc, x̄), for t ≥ 1. Note that (leaving out x̄, and for t ≥ 1):
Z t
h(t) = H(u) − H(u − 1)
0
Z t
= H(u)
t−1
Z btc Z t−1 Z t
= H(u) − H(u) + H(u)
btc−1 btc−1 btc
Z t−1 Z t
= g(btc − 1, x̄) − g(btc − 1, x̄) c3 θ3 (sin 2πu) + g(btc, x̄) c3 θ3 (sin 2πu)
btc−1 btc
= (1 − γ(t))g(btc − 1, x̄) + γ(t)g(btc, x̄),
R t−1 Rt
where γ(t) = btc−1 c3 θ3 (sin 2πu) = btc c3 θ3 (sin 2πu). Thus h(t, x̄) is in-between
g(btc − 1, x̄) and g(btc, x̄) as desired. For the second equality, we use property 1 of
H, along with basic properties of integrals. The second to last equality follows by the
definition of G along with properties 2 and 3 of H.

Now we prove the main theorem (theorem 3) from the last section:

E(R) = L(LIM) = L(dLIM)

Proof We will use the following fact:


E(R)(LIM) = E(R)
First we prove this fact. Suppose f (t, x̄) ∈ E(R) and F (x̄) = limt→∞ f (t, x̄), with
F ¹1/t f . We need to show F ∈ E(R). Let Mx̄,t (n) be the machine that approximates
f (t, x̄) to 1/n accuracy, writing the oracle inputs x̄, t as superscripts. Let Nx̄ (n) be
defined by Mx̄,2n (2n), using accuracy input 2n as the oracle input for t. Thus |f (2n, x̄)−
Nx̄ (n)| ≤ 1/2n and |F (x̄) − f (2n, x̄)| ≤ 1/2n, so |F (x̄) − Nx̄ (n)| ≤ 1/n, and F ∈ E(R).
Now consider the first equality E(R) = L(LIM). By theorem 2 we have the approx-
1/T W
imation E(R) ≈+ L, which we use to show both inclusions of the first equality.
25

– ⊆: Consider f (x̄) ∈ E(R) and let f ∗ (t, x̄) ∈ L such that f ¹1/t f ∗ . Thus f (x̄) =
limt→∞ f ∗ (t, x̄) ∈ L(LIM).
– ⊇: Consider f (x̄) ∈ L and let f ∗ (t, x̄) ∈ E(R) such that f ¹1/t f ∗ . Thus f (x̄) =
limt→∞ f ∗ (t, x̄) ∈ E(R)(LIM) = E(R), the last equality holding by the above fact.
Thus L ⊆ E(R), and so L(LIM) ⊆ E(R)(LIM) = E(R).
Consider the second equality L(LIM) = L(dLIM). We show both inclusions.
– ⊆: Suppose F (x̄) = limt→∞ f (t, x̄) for f ∈ L, and F ¹1/t f . To show F ∈ L(dLIM)
we need an h(u, x̄) ∈ L such that limu→∞ h(u, x̄) = F (x̄) and | ∂u ∂
h| ≤ 1/2u ; such
an h is given by lemma 13.
– ⊇: Suppose f (t, x̄) is such that | ∂t ∂
f | ≤ 1/2t . From the derivative condition we can
conclude that |f (t, x̄) − f (t0 , x̄)| ≤ 1/2t0 , for t0 ≤ t ≤ t0 + 1, and thus

F |f (t, x̄) − f (t0 , x̄)| ≤ 1/2t0 + 1/2t0 +1 + . . . ≤ 1/2t0 −1 , for t ≥ t0 .

Thus, for fixed x̄, limt→∞ f (t, x̄) exists and we call this limit F (x̄). To finish, it
suffices to show that |F (x̄) − f (t, x̄)| ≤ 1/2t−2 (which is ≤ 1/t for t ≥ 4). To show
this, assume for sake of contradiction that there are t0 , x̄ such that |F (x̄)−f (t, x̄)| >
1/2t0 −2 . For ease of discussion, assume f (t0 , x̄) < F (x̄). By condition F, for t > t0 ,

f (t, x̄) ≤ f (t0 , x̄) + 1/2t0 −1 ≤ F (x̄) − 1/2t0 −1 ,

which contradicts the fact that limt→∞ f (t, x̄) = F (x̄).

Definition 38 For functions f (x, ȳ) and g(x, ȳ), and a ∈ Q such ½that f (a, ȳ) = g(a, ȳ),
f (x, ȳ), if x ≤ a;
we define the operation h(x, ȳ) = mergea (f, g) so that h(x, ȳ) =
g(x, ȳ), if x > a.

Lemma 14 Let F be the set of R−functions with a 1/T W−modulus. For any a ∈ Q,
1/T W
(mergea )|F ¹+ L

Proof Let f (x, ȳ) and g(x, ȳ) be functions with a 1/T W−modulus, such that f (a, ȳ) =
g(a, ȳ), and let h(x, ȳ) = mergea (f, g). Supposing f ∗ (x, ȳ, z̄) and g ∗ (x, ȳ, z̄) 1/T W ap-
proximate f and g, respectively, we define h∗ (x, ȳ, z̄) that 1/T W approximates h.
We define h∗ by a convex combination of f ∗ and g ∗ given by h∗ (x, ȳ, z̄) = (1 −
ca (x, ȳ, z̄))f ∗ (x, ȳ, z̄)+ca (x, ȳ, z̄)g ∗ (x, ȳ, z̄), where ca (x, ȳ, z̄) = 0 for x ≤ a, ca (x, ȳ, z̄) =
1 for x ≥ a0 > a and ca increases with x on [a, a0 ], where a0 will be defined so it is just
1/T W ∗
a bit bigger than a. The idea is to define ca in L such that h ¹+ h .
We define ca (x, ȳ, z̄) = σ(M (x, ȳ, z̄)θ3 (x − a)), where M is a fast growing function
in T W, which we easily dominate in L. It is easy to check that ca behaves as indicated
above and, therefore h∗ = f ∗ or h∗ = g ∗ for x ≤ a and x ≥ a0 , respectively. Moreover,
we can adjust |a0 − a| with M so that h∗ works on [a, a0 ] too. To see why, first note
that by the definition of ca , for x ∈ [a, a0 ] we have that h∗ (x, ȳ, z̄) is between f ∗ (a, ȳ, z̄)
and g ∗ (a0 , ȳ, z̄). We can bound |f ∗ (a, ȳ, z̄) − g ∗ (a0 , ȳ, z̄)| freely in 1/T W, because we
can freely bound |f (a, ȳ) − f ∗ (a, ȳ, z̄)|, |g(a0 , ȳ) − g ∗ (a0 , ȳ, z̄)|, and |f (a, ȳ) − g(a0 , ȳ)|,
the latter bound following from the modulus condition on g.

The next important technical lemma shows that we can approximate linearizations.
1/T W
Lemma 15 Lin ¹+ L
26

Proof Suppose f (x, ȳ) is some R−function and α(x, ȳ, z̄) ∈ T W, and let L(x, ȳ) =
Lin(f (x, ȳ); x) (linearizing with respect to more variables follows). We will describe an
L∗ (x, ȳ, z̄) such that L ¹1/α L∗ , using f ∗ (x, ȳ, z̄) such that f ¹1/β f ∗ and the extra
function u(x, z̄), where β(x, ȳ, z̄) ∈ T W; at the end both u and β will be chosen large
enough in T W to get the 1/α approximation.
For simplicity we drop the argument ȳ in the proof and we consider x ≥ 0. Consider
the piecewise constant function ∆(x) = f (bxc+1)−f (bxc) which is the slope of L(x) for
non integer x. ∆ is discontinuous, so instead we develop a continuous “step” function
S which will behave like ∆(x). This is done in three steps. Firstly, we define with
linear integration a pair of functions y1 , y2 that approximate f ∗ (bxc) and f ∗ (bxc − 1),
respectively on [bxc + 12 , bxc + 1] and [bxc, bxc + 12 ], respectively. Then, we use y1 , y2
to define new functions S1 and S2 that similarly approximate ∆(bxc). Finally, S is
given by a convex combination of S1 and S2 . Having S, we define h as the solution of
∂ ∗
∂x h(x, u) = S(x, u) with initial condition h(0, u) = f (0), where the new parameter u
controls the error of the approximation. Finally, a function L∗ such that L ¹1/α L∗
is given by L∗ (x, z̄) = h(x, u(x, z̄)) where u is an appropriate increasing function of x
and z̄.
Then F (x) = f ∗ (step(x)) = f ∗ (bxc) for x ∈ [bxc, bxc + 12 ]. We define y1 , y2 with
the following system of linear differential equations

∂x y1 (x, u) = (F (x) − y1 ) θ3 (sin 2πx) u

∂x y2 (x, u) = (y1 − y2 ) θ3 (− sin 2πx) u
and initial condition y1 (0, u) = y2 (0, u) = 0. The equations above can be explicitly
solved by separating variables. For x ∈ [bxc + 12 , bxc + 1], the error |y1 (x, u) − f ∗ (bxc)|
is bounded by
Z bxc+1/2
e(bxc, u) = exp{ −u sin3 (2πt)dt }
bxc
This can be freely bounded in 1/T W adjusting u. It is easy to check that y2 behaves
similarly, with a 1/2 delay. Hence, S1 (x, u) = y2 (x + 2, u) − y2 (x + 1, u) and S2 (x, u) =
y1 (x + 1, u) − y1 (x, u) approximate ∆(bxc) respectively on [bxc, bxc + 21 ] and [bxc +
1
2 , bxc + 1] with an error bounded by 2e(bxc, u).
Consider now the convex combination S(x, u) = λ(x, u)S1 (x, u)+(1−λ(x, u))S2 (x, u),
where λ(x, u) = σ(u θ3 (sin 2πx)) is a function with period 1 whose values range over
[0, 1]. More precisely, there is a function ²u which decreases to zero as u increases,
such that λ can be described by its behavior on the following intervals (n ∈ N), which
essentially break up each interval [n, n + 1] into its left half IL , its right half IR , and
two small pieces:
ILn = [n + ²u , n + 12 − ²u ], I²n = [n − ²u , n + ²u ],
n
IR = [n + 12 + ²u , n + 1 − ²u ], J²n = [n + 12 − ²u , n + 1
2 + ²u ].
bxc bxc
We have that λ(x, u) = 1 for x ∈ IL , λ(x, u) = 0 for x ∈ IR , and λ is monotone on
bxc bxc
I² and on J² . Rx
Given S, we define h(x, u) = f ∗ (0) + 0 S(t, u)dt. The total error |h(x, u) − L(x)|
dxe
can be broken in two parts, one on X = ∪n=0 (ILn ∪ IR
n
), and the other one on X² =
dxe
∪n=0 (I²n ∪ J²n ). Then,
R R
|h(x, u) − L(x)| ≤ X S(x, u) − ∆(x) dx + X² S(x, u) − ∆(x) dx
dxe dxe
< Σn=0 2 e(n, u)(2/β(n)) + Σn=0 ²u ∆(n)(2/β(n))
27

The (2/β(n)) terms appear because S in fact approximates f ∗ (bxc + 1) − f ∗ (bxc),


which approximates ∆(x) = f (bxc + 1) − f (bxc) to 2/β(bxc) accuracy. Both terms
decrease with u and β. In particular, the second term can be bounded by choosing β
sufficiently large and u(x, z̄) sufficiently large to make ²u sufficiently small in 1/T W.
Hence, there is are large enough u(x, z̄) in L and β ∈ T W such that we can freely bound
|h(x, u(x, z̄)) − L(x)| in 1/T W. Therefore, L∗ (x, z̄) = h(x, u(x, z̄)) satisfies L ¹1/α L∗ .

The next proposition follows by a small calculation; we write [u] in a statement to


indicate that it holds for either buc or due in place of [u].

Proposition 10 Given r(x, w̄) ∈ T W there is r∗ (x, w̄) ∈ T W such that for any
R(x, w̄) ≥ r∗ (x, w̄), we have

[R(x, w̄)x] 1
|x − |≤ .
[R(x, w̄)] r(x, w̄)
The following lemma makes the basic connection between the two models of com-
putation on Turing Machines, the Computable Analysis model and the discrete model.
1/T W
Lemma 16 E(R) ≈+ {f ∈ E(Q) | f has a modulus in 1/T W}.

Proof We prove the two approximate inclusions.


1/T W
– (º+ ) We prove the stronger exact approximation (“ º”), that is we show that
for f (x) ∈ E(Q) (we consider just one variable for simplicity), with a modulus
1/m(x, z) ∈ 1/T W, there is f ∗ (x) ∈ E(R) such that f (x) = f ∗ (x) for x ∈ Q. Let
M be the Turing Machine which computes f where the input x ∈ Q is given as a
triple of natural numbers. Let f ∗ be the unique continuous extension of f to R.
We design a Turing Machine N to put f ∗ in E(R). N has an oracle for x and
an accuracy input z. First N computes m(x∗ , z), where x∗ is a number such that
x ≤ x∗ (easily obtained by querying for close enough approximation to x and then
adding one). N puts m(x∗ , z) on the query tape to get some y ∈ D such that |x−y| ≤
1/m(x∗ , z) ≤ 1/m(x, z) (the last inequality holds since functions in error classes
decrease). Also note that y is a dyadic of length ≤ m(x∗ , z) (by usual definitions
in Computable Analysis, see [8], definition 2.1, requirement “prec(φ(n)) = n”) and
so for y = p/q, we have p, q ≤ m(x∗ , z). Now N simply runs M on (p, q), thus
outputing exactly f (y) (we ignore the sign of y for simplicity), and due to the
modulus condition we know that |f (x) − f (y)| ≤ 1/z. N runs within T W time in
x and z because the length of the p and q are larger by at most a function in T W
and M ’s running time is bounded by a function in T W.
1/T W
– (¹+ ) Let f (x) ∈ E(R), and let α(x, y) ∈ T W, and we need f ∗ (x, y) ∈ E(Q)
such that f ¹1/α f ∗ and f ∗ has a modulus in 1/T W. Let M be the Turing Machine
that computes f in the Computable Analysis sense of approximation. Thus M has
an oracle tape which gives approximations of x, and an input tape for the accuracy
input. We will design a Turing Machine N which takes x, y ∈ Q as input (where each
rational is given exactly as a triple of natural numbers); f ∗ (x, y) will be the function
computed by N. To obtain the condition f ¹1/α f ∗ alone would be straightforward.
We could define N in terms of M, by inputing the the desired accuracy, dα(x, y)e,
to the machine M, and use the exact x as the oracle to M. This is roughly how N
will in fact be defined, but guaranteeing the modulus condition will require some
care and is the reason for complicating the definition of N.
28

For ease of exposition, suppose the inputs (to machine N ) x, y are both of length 1,
so we write them as x and y. Let t(x, n) ∈ T W be the largest dyadic number that
can be written down by M given oracle and accuracy inputs of x and n, respectively
(i.e. about 2 raised to the time bound on the machine).
First we compute α, t ∈ T W exactly, since by definition they are just linearizations
of functions that we can compute on N. We also calculate τ (x, y) = t(x, 1+α(x, y)),
and let (by proposition 10) τ ∗ (x, ȳ) ∈ T W be sufficiently large so that the 4
rationals of the form [τ ∗ x]/[τ ∗ ] are all within 1/τ of x. Now we will define a function
h(u1 , u2 , u3 ) on N, taking on values in Q:
Run M with accuracy input u1 , using u2 /u3 as its oracle. When we say to
use u3 /u2 as the oracle we mean that we consider the binary expansion of
u3 /u2 and whenever some accuracy is asked of the oracle, exactly enough
bits of this expansion are given. Define h(u1 , u2 , u3 ) to be the output of this
run of M.
Consider the linearization ĥ(u1 , u2 , u3 ) of h (recall definition 6). We define N (x, y) =
ĥ(1+α(x, y), xτ ∗ (x, y), τ ∗ (x, y)). It is continuous because it is the result of compos-
ing continuous functions. Furthermore this function has a 1/T W modulus because
it is the result of composing functions that have both a 1/T W modulus and T W
bounds (this holds by reasoning similar to that in the proof of lemma 3). It is left
to check that it operates as required, that is that |f (x) − N(x, y)| ≤ 1/α(x, y).
By proposition 1, it suffices to note that all of the 23 versions of h (used in the
definition of N ) on Z are within 1/α(x, y) of f (x). This is true because h runs M,
and the following two points hold concerning this run, following the definition of
N. First, M is given a sufficiently large accuracy parameter 1 + α, i.e. both b1 + αc
and d1 + αe are at least as big as α. Second, M uses an oracle for x that is good
enough, meaning that whenever M asks for x to some accuracy, it gets something
that is that accurate. Since M cannot write down numbers larger than τ , it can
only demand x to an accuracy at best 1/τ . By the the definition of h, we picked a
number as the oracle that was this close to x (i.e. any of the four [τ ∗ x]/[τ ∗ ]).

To relate FAQ (disctn) and FAQ (ctn) will use some technical lemmas. The next im-
portant technical lemma relates to the syntactic structure of the function algebra (i.e.
recall the construction trees of definition 18) and is sensitive to the exact definition of
the function algebra (i.e. other function algebras which yield the same functions in the
end, might have the wrong syntactic property).
Lemma 17 For every f (x) ∈ FAQ (disctn), there is a construction tree for f in which
D is only applied to variables.

Proof It suffices to show we can push D into any of the basic functions and past any
of the operations of FAQ (disctn). First we discuss some useful functions. Recall the
gcd function on N and also consider the function bx/yc on N, where we let bx/0c = 0
for any x ∈ N; we will use these functions on Z, requiring gcd to always be non-
negative. By proposition 5, FAQ (ctn) contains extensions of these functions to Q (we
use the same names for the extensions, only caring about their behavior on Z). We
also consider the two discontinuous functions, N and sign (recall definition 34). We can
define sign in FAQ (disctn) in such a way that D is only applied to variables, as follows:
sign(x) = sgn(θ1 (D(x))). Likewise, N(x) = |x|D(x). We now show how to push D past
the basic functions:
1. D(θ1 (x)) = θ1 (D(x))
29


 0, if x = 0;
2. D(D(x)) = 1, if x > 0; = sign(x) − sign(−x)

−1, if x < 0.
½
x, if x ≥ 1;
3. D(div(x)) = = 1 + θ1 (x − 1)
1, if x < 1.
4. ¹ º
D(x)D(y)
D(xy) =
gcd(D(x)D(y), N(x)N(y))
We can check this by letting x = p/q and y = a/b and checking the equation:
D((p/q)(a/b)) = D(pa/bq) = bq/gcd(bq, pa). Furthermore, the equation works for
either x or y equals 0 (by the above definition of b·/·c), and the sign matches (i.e.
the sign of D(xy) is the same as the sign of D(x)D(y) and by definition gcd is
non-negative).
5. For + we have cases on whether or not x or y is 0, and use a function, say s(x, y),
built up from sign, to make the sign correct:
j k
 s(x,y)D(x)D(y)
 gcd(D(x)D(y),N(x)D(y)+N(y)D(x)) , if x, y 6= 0;
D(x + y) = D(x), if y = 0;


D(y), if x = 0.

Note that branching on the 3 cases can be carried out with sign or sgn.
The projection functions are easy to deal with. Now consider how we can push into
Q Q
the operation line . Recalling the definition, we have D(line zy=0 f (y, x)) = D((1 +
Qbzc Qdze
bzc − z) y=0 f (y, x) + (z − bzc) y=0 f (y, x)). In FAQ (disctn), the products up to
bzc and dze can both be written as legitimate function on their own (this is not the
case of FAQ (ctn)). We can push D into multiplication, addition, and b·c (the latter uses
reasoning similar to the above functions), so we are just left with the product operation
itself. Note that
bzc Qbzc
Y y=0 D(f (y, x))
D( f (y, x)) = Qbzc Qbzc .
y=0 gcd( y=0 D(f (y, x)), y=0 N(f (y, x)))

The case for summation is similar to products.

The next two propositions are proved inductively on the function algebra; the
second one uses the first.

Proposition 11 FAQ (ctn) ≤ T W.

Proposition 12 FAQ (ctn) has a 1/T W modulus.

The following corrects lemma 5.18 from [5], making the basic connection between the
continuous and discontinuous function algebras.
1/T W
Lemma 18 FAQ (ctn) ≈+ {f ∈ FAQ (disctn) | f has 1/ T W modulus}

Proof We prove the two inclusions.


1/T W
¹+ : Using lemma 12, we can obtain the stronger claim of inclusion.
1/T W
º+ : Let f (x) ∈ FAQ (disctn), assuming just one variable for ease of readability.
Furthermore, we assume it has a modulus of 1/m(x, z), where m(x, z) ∈ T W. Suppose
30

α(x, ȳ) ∈ T W, so our goal is now to find some f ∗ (x, ȳ) ∈ FAQ (ctn), such that f ¹1/α
f ∗.
By lemma 17, we can assume we have a construction of f in which D is only applied
to the variable x. The occurrences of D in f applied to variables other than x are easily
dispensed with since such occurrences of D must have their variables bound by a sum
or product. Sums or products only range over natural numbers, so we can deal with
them easily (since for all u ∈ N, D(u) = 1, except for D(0) = 0, so in such cases we
can replace D(u) by a function from FAQ (ctn)). Thus we can write f (x) as g(D(x), x),
where g(u, x) ∈ FAQ (ctn). Now we give the intuition behind the rest of the proof.
We will define f ∗ (x, ȳ) using g(u, x), so that it approximates f (x) = g(D(x), x). The
difficulty lies in how to get around the discontinuous function D. The idea is to pick
a w ∈ Q which is sufficiently close to x and such that D(w) is known in FAQ (ctn). By
the modulus condition on f , f (w) = g(D(w), w) will be close to f (x). To carry out
the details we will essentially work in Z and use the linearization to ensure that the
function does not fluctuate too much on the rest of Q. We now define some functions
in FAQ (ctn) (though we will only care about their values on Z):

 1, a ≥ 1;
– sg(a) = −1, a ≤ −1;

a, −1 < a < 1.
– dv(a, b) = a ∗ div(|b|) ∗ sg(b) ( = a/b for a, b ∈ Z)
– bottom(a, b) = b ∗ div(gcd(a, b)) ∗ sg(a) ( = D(a/b) for a, b ∈ Z), recalling that gcd
is always non-negative.
– h(a, b) = g(bottom(a, b), dv(a, b))
By lemma 4, ĥ is in FAQ (ctn). Recalling the modulus m for f , we let m∗ (x, ȳ) ∈
FAQ (ctn) be defined so that we have the property z:
¯ ∗ ¯
¯x − [xm (x, ȳ)] ¯ ≤ 1

[m (x, ȳ)] m(x, α(x, ȳ))

By proposition 10 we have such an m∗ ∈ T W that works and by proposition 6 we


can dominate this m∗ in FAQ (ctn). We define f ∗ (x, ȳ) = ĥ(xm∗ (x, ȳ), m∗ (x, ȳ)). It is
in FAQ (ctn), and we just need to show that |f (x) − f ∗ (x, ȳ)| ≤ 1/α(x, ȳ). For any
x, ȳ ∈ Q, let (F, x, ȳ) =
{ ĥ(bxm∗ (x, ȳ)c, bm∗ (x, ȳ)c),
ĥ(bxm∗ (x, ȳ)c, dm∗ (x, ȳ)e),
ĥ(dxm∗ (x, ȳ)e, bm∗ (x, ȳ)c),
ĥ(dxm∗ (x, ȳ)e, dm∗ (x, ȳ)e) }.
By proposition 1, we know that for any x, ȳ ∈ Q: min(F, x, ȳ) ≤ f ∗ (x, ȳ) ≤
max(F, x, ȳ). Thus it suffices to show that |f (x)−ĥ([xm∗ (x, ȳ)], [m∗ (x, ȳ)])| ≤ 1/α(x, ȳ).
By definition,

[xm∗ (x, ȳ)] [xm∗ (x, ȳ)]


ĥ([xm∗ (x, ȳ)], [m∗ (x, ȳ)]) = g(D( ), )
[m∗ (x, ȳ)] [m∗ (x, ȳ)]
[xm∗ (x, ȳ)]
= f( ).
[m∗ (x, ȳ)]
[xm∗ (x,ȳ)]
By property z and the definition of a modulus, |f (x) − f ( [m∗ (x,ȳ)]
)| ≤ 1/α(x, ȳ) and
we are done.
31

Now we will show L can approximate FAQ (ctn).


1/T W
Lemma 19 basicQ ¹+ L

Proof Except for θ1 and div, L approximates exactly the functions in basicQ (since
it contains extensions of them). For the functions θ1 and div recall lemma 14 and
note that these two functions are both defined as functions which are a merging of
functions approximated in L. For θ1 this is easy. For div we use the fact that 1/x
can be approximated
( (for x ≥ 1) because (as observed in [2]) E(t, x) ∈ L, where
1−e−tx
, if x 6= 0;
E(t, x) = x To approximate 1/x we then substitute an appropriately
t, if x = 0.
fast function for the variable t. We then merge this with the constant function 1 at the
point x = 1.
P Q 1/T W
Lemma 20 line , line ¹+ L

Proof First, we claim the following fact:


X Y 1/T W,id|Z
line , line ¹+ L.

In words, the statement means that ignoring their values off of Z, sums and products
can be approximated by L. Putting the fact together with lemma 15 finishes the proof.
To see why the fact is true, we note that an examination of the proof of lemma
4.7 of [4] essentially proves it (we cannot use their lemma as they state it, because it
requires the functions in question to have universe N, but ours can take on vales in Q;
ours also have domain Z, rather than N, but this is no problem when working in L).
For sums, it is immediate. For products, they conclude the accumulated error of their
use of LI is an expression of the form ²(n)2n (n + 1)β n+1 (n), where ²(n) = exp(−β(n)),
thus by choosing β(n) ∈ L growing quickly enough, we can obtain our desired 1/T W
approximation.

Thus, the next corollary follows by using lemma 2 and the above approximations,
following the form of the proof in corollary 3 (notice that we use lemma 3 again, which
requires propositions 11 and 12).
1/T W
Corollary 4 FAQ (ctn) ¹+ L

7 Conclusion

We have introduced two techniques, lifting and approximation, and have applied them
to obtain two theorems concerning the elementary functions. In particular, we have ex-
tended a result of Bournez and Hainry [2]. We argue that the notion of approximation
provides the right connection between function algebras of real functions and com-
putable analysis and could be used to link together different theories of computability
over the reals. Another informal claim of this work is that these techniques are gen-
eral and should be applicable to other complexity classes. This claim is supported by
other work in progress (which is perhaps not so convincing to the reader) and by the
character of many of the claims which did not depend on the fact that we happened to
be working with the elementary computable functions. So of course further work is to
apply these techniques more broadly. In particular we have work in progress relating to
32

the class #P . Furthermore it seems that it should be relatively straightforward to apply


these techniques to the classes stronger than the elementary computable functions, in
particular, to the Grzegorczyk hierarchy up to the primitive recursive functions and re-
cursive functions (such connections have been made in terms of discrete part in [4], and
in terms of Computable Analysis in [2] and [3]). More ambitious goals include results
of this kind for the weaker complexity classes such as the polynomial time functions.

Acknowledgements This work was partially supported by Fundação para a Ciência e a


Tecnologia and EU FEDER POCTI/POCI, namely, via CLC, project ConTComp POCTI /
MAT / 45978 / 2002, and grant SFRH / BPD / 16936 / 2004.

References

1. O. Bournez, M. L. Campagnolo, D. S. Graça, and E. Hainry. Polynomial differential


equations compute all real computable functions on computable compact intervals. Journal
of Complexity, 23(3):317–335, 2007.
2. O. Bournez and E. Hainry. Elementarily computable functions over the real numbers and
R-sub-recursive functions. Theoretical Computer Science, 348(2–3):130–147, 2005.
3. O. Bournez and E. Hainry. Recursive analysis characterized as a class of real recursive
functions. Fundamenta Informaticae, 74(4):409–433, 2006.
4. M. L Campagnolo, C. Moore, and J. F. Costa. An analog characterization of the Grze-
gorczyk hierarchy. Journal of Complexity, 18:977–1000, 2002.
5. M. L. Campagnolo and K. Ojakian. The methods of approximation and lifting in real
computation. In D. Cenzer, R. Dillhage, T. Grubba, and K. Weihrauch, editors, Third
International Conference on Computability and Complexity in Analysis, volume 167 of
Electronic Notes in Theoretical Computer Science, pages 387–423, 2007.
6. D. S. Graça. Some recent developments on Shannon’s general purpose analog computer.
Mathematical Logic Quarterly, 50(4–5):473–485, 2004.
7. A. Grzegorczyk. Computable functionals. Fund. Math., 42:168–202, 1955.
8. K.-I. Ko. Complexity Theory of Real Functions. Birkhaüser, 1991.
9. C. Moore. Recursion theory on the reals and continuous-time computation. Theoretical
Computer Science, 162:23–44, 1996.
10. J. Mycka. µ−recursion and infinite limits. Theoretical Computer Science, 302:123–133,
June 2003.
11. J. Mycka and J. F. Costa. Real recursive functions and their hierarchy. Journal of Com-
plexity, 20(6):835–857, 2004.
12. K. Weihrauch. Computable Analysis: An Introduction. Springer-Verlag, 2000.

You might also like