computational
computational
Manuel L. Campagnolo
D.M./I.S.A., Lisbon University of Technology
and SQIG/IT
· Kerry Ojakian
SQIG - IT and IST, Portugal
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.
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
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).
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
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.
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.
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 ∗ }.
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.
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.
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.
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.
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.
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.
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.
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:
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 ].
Definition 21
11
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 .
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 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:
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 .
The function algebra on the reals that we will now be concerned with is the following
(using the notation L from earlier papers).
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
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)))
The proof for sums is similar, though finding the “top” is a bit more technically in-
volved.
P λ
Lemma 7 line ¹ 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.
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 (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.
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.
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).
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)
∂
∂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̄).
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
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].
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
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.
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.
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.
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.
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
1/T W
← if f has a 1/T W → Lem. 18
≈+
modulus
1/T W
1/T W
Cor. 3, 4
≈+
Thm. 2
E(R) 1/T W
≈+ L
↓ Thm. 3
E(R) = L(LIM)
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.
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:
– ⊆: 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
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 ,
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
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}.
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 next two propositions are proved inductively on the function algebra; the
second one uses the first.
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}
α(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, ȳ))
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
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
References