# Comparing Representations for Function Spaces in Computable Analysis

- 293 Downloads

## Abstract

This paper compares different representations (in the sense of computable analysis) of a number of function spaces that are of interest in analysis. In particular subspace representations inherited from a larger function space are compared to more natural representations for these spaces. The formal framework for the comparisons is provided by Weihrauch reducibility. The centrepiece of the paper considers several representations of the analytic functions on the unit disk and their mutual translations. All translations that are not already computable are shown to be Weihrauch equivalent to closed choice on the natural numbers. Subsequently some similar considerations are carried out for representations of polynomials. In this case in addition to closed choice the Weihrauch degree LPO^{∗} shows up as the difficulty of finding the degree or the zeros. As a final example, the smooth functions are contrasted with functions with bounded support and Schwartz functions. Here closed choice on the natural numbers and the \(\lim \) degree appear.

### Keywords

Computable analysis Analytic function Weihrauch reduction Polynomials Closed choice Finitely many mindchanges## 1 Introduction

In order to make sense of computability questions in analysis, the spaces of objects involved have to be equipped with representations: A representation determines the information that is provided (or has to be provided) when computing on these objects. When changing from a more general to more restrictive setting, there are two options: Either to merely restrict the scope to the special objects and retain the representation, or to introduce a new representation containing more information.

As a first example of this, consider the closed subsets of [0,1]^{2} and the closed convex subsets of [0,1]^{2} (following [12]). The former are represented as enumerations of open balls exhausting the complement. The latter are represented as the intersection of a decreasing sequence of rational polygons. Thus, prima facie the notions of a *closed set which happens to be convex* and a *convex closed set* are different. In this case it turns out they are computably equivalent after all (the proof, however, uses the compactness of [0,1]^{2}).

### 1.1 Summary of the results

This paper presents different examples of the same phenomenon: In Section 2 the difference between an *analytic function* and a *continuous functions that happens to be analytic* is investigated for functions on a fixed compact domain. It is known that these actually are different notions. The results quantify how different they are using the framework of Weihrauch reducibility. The additional information provided for an analytic function over a continuous function can be expressed by a single natural number. Thus, this is an instance of computation with discrete advice as introduced in [35]. Finding this number is Weihrauch equivalent to \(\mathrm {C}_{{\mathbb {N}}}\). This means that while the number can be chosen to be falsifiable (i.e. wrong values can be detected), this is the only computationally relevant restriction on how complicated the relationship between object and associated number can be. The results are summarized in Fig. 4 on Page 13

Section 3 considers *continuous functions that happen to be polynomials* versus *analytic functions that happen to be polynomials* versus *polynomials*. All translations turn out to be either computable, or Weihrauch equivalent to one of the two well-studied principles \(\mathrm {C}_{{\mathbb {N}}}\) and LPO^{∗}. The results are summarized in Fig. 5 on Page 18.

The last Section 4 changes the setting in that it swaps the compact subset of the complex plane as domain for the real line. It contrasts the spaces of smooth functions, Schwartz functions and bump functions. While going from smooth (or Schwartz) to a bump function is equivalent to \(\mathrm {C}_{{\mathbb {N}}}\), going from a smooth function that happens to be Schwartz to a Schwartz function is equivalent to the Weihrauch degree \(\lim \). This degree captures the Halting problem. In particular it follows that there is a function \(f\in {\mathrm {C}}^{\infty }(\mathbb {R})\) that decays faster than any polynomial (i.e. \(f\in \mathcal {S}\)) and is computable as element of \(C^{\infty }(\mathbb {R})\), but as element of \(\mathcal {S}\) is not only non-computable, but computes the Halting problem.

We briefly mention two alternative perspectives on the phenomenon: First, recall that in intuitionistic logic a negative translated statement behaves like a classical one, and that double negations generally do not cancel. In this setting the difference boils down to considering either analytic functions or continuous functions that are not not analytic. Second, from a topological perspective, Weihrauch equivalence of a translation to \(\mathrm {C}_{{\mathbb {N}}}\) implies that the topologies induced by the representations differ. Indeed, the suitable topology on the space of analytic functions is not just the subspace topology inherited from the space of continuous functions but a direct limit topology.

An extended abstract based on this paper can be found as [25].

### 1.2 Represented spaces

This section provides a very brief introduction to the required concepts from computable analysis. For a more in depth introduction and further information, the reader is pointed to the standard textbook in computable analysis [32], and to [21]. Also, [28] should be mentioned as an excellent source, even though the approach differs considerably from the one taken here.

Recall that a **represented space****X** = (*X*, *δ*_{X}) is given by a set *X* and a partial surjection \(\delta _{\mathbf {X}}: \subseteq {\mathbb {N}^{\mathbb {N}}} \to X\) from Baire space onto it. The elements of \(\delta ^{-1}_{{\mathbf {X}}}(x)\) should be understood as encodings of *x* and are called the **X**-**names** of *x*. Each represented spaces inherits a topology from Baire space: The final topology of the chosen representation. We usually refrain from mentioning the representation of a represented space in the same way as the topology of a topological space is usually not mentioned. For instance the set of natural numbers is regarded as a represented space with the representation \(\delta _{{\mathbb {N}}}(p) := p(0)\). Therefore, from now on denote by \({\mathbb {N}}\) not only the set or the topological space, but the **represented space of natural numbers**. If a topological space is to represented, the representation should be chosen such that it fits the topology as good as possible. For instance for the case \({\mathbb {N}}\) above, the final topology of the representation is the discrete topology.

If **X** is a represented space and *Y* is a subset of **X**, then *Y* can be turned into a represented space by equipping it with the range restriction of the representation of **X**. Denote the represented space arising in this way by **X**|_{Y}. We use the same notation **X**|_{Y} if **Y** is a represented space already. In this case, however, no information about the representation of **Y** is carried over to **X**|_{Y}.

Recall that a multivalued function *f* from *X* to *Y* (or **X** to **Y**) is an assignment that assigns to each element *x* of its domain a set *f*(*x*) of acceptable return values. Multivaluedness of a function is indicated by \(f:{\mathbf {X}}\rightrightarrows {\mathbf {Y}}\). The domain of a multivalued function is the set of elements such that the image is not empty. Furthermore, recall that \(f:\subseteq {\mathbf {X}}\to {\mathbf {Y}}\) indicates that the function *f* is allowed to be partial, i.e. that its domain may be a proper subset of **X**.

**Definition 1**

**realizer**of a multivalued function \(f : \subseteq \mathbf {X} \rightrightarrows \mathbf {Y}\) if

*δ*

_{Y}(

*F*(

*p*))∈

*f*(

*δ*

_{X}(

*p*)) for all \(p \in \delta _{{\mathbf {X}}}^{-1}(\text {dom}(f))\) (compare Fig. 1).

A (multivalued) function between represented spaces is called computable if it has a computable realizer, where computability on Baire space is defined via oracle Turing machines (as in e.g. [10]) or via Type-2 Turing machines (as in e.g. [32]). We call a (multivalued) function between represented spaces continuous, if it has a continuous realizer. For single valued functions on admissibly represented spaces (in the sense of Schröder [29]), this notion coincides with topological continuity. All representations discussed in this paper are admissible.

The remainder of this section introduces the represented spaces that are needed for the content of the paper.

**Sets of natural numbers**

**represented spaces of open**resp.

**closed subsets of**\(\mathbb {N}\). The underlying set of both \({\mathcal {O}}({\mathbb {N}})\) and \({\mathcal {A}}({\mathbb {N}})\) is the power set of \({\mathbb {N}}\). The representation of \({\mathcal {O}}({\mathbb {N}})\) is defined by

**Computable metric spaces**, \(\mathbb {R}\), \(\mathbb {C}\), \(\mathcal C(D)\)

*M*,

*d*) is a separable metric space and

*x*

_{n}is a dense sequence, turn \(\mathcal M\) into a represented space by equipping it with the representation

The space \(\mathcal C(D)\) of continuous functions on a compact subset *D* of \(\mathbb {R}^{d}\) is a separable metric space and thus a represented space. The metric is the one induced by the supremum norm and the dense sequences are standard enumerations of the polynomials with rational coefficients. The computable Weierstraß approximation theorem states that a function is computable as element of *C*([0,1]) if and only if it is computable in the sense of realizers as a function between the represented spaces [0,1] and \(\mathbb {R}\) respectively.

**Sequences in a represented space**

**X**there is a canonical way to turn the set of sequences in

**X**into a

**represented space**\({\mathbf {X}}^{{\mathbb {N}}}\): Let \(\langle \cdot ,\cdot \rangle :{\mathbb {N}}\times {\mathbb {N}} \to {\mathbb {N}}\) be a standard paring function (i.e. bijective, recursive with recursive projections). Define a function \(\langle \cdot \rangle :\left ({\mathbb {N}^{\mathbb {N}}}\right )^{{\mathbb {N}}}\to {\mathbb {N}^{\mathbb {N}}}\) by

**X**define a representation of the set \(X^{{\mathbb {N}}}\) of the sequences in the set

*X*underlying

**X**by

*p*is a name of \((x_{m})_{m\in {\mathbb {N}}}\) if for each fixed

*m*the mapping

*n*↦

*p*(〈

*m*,

*n*〉) is a name of

*x*

_{m}. In particular the spaces \(\mathbb {R}^{{\mathbb {N}}}\) and \({\mathbb {C}}^{{\mathbb {N}}}\) of real and complex sequences are considered represented spaces in this way. For a partial, multivalued function \(f:\subseteq {\mathbf {X}}\rightrightarrows {\mathbf {Y}}\) let \(f^{{\mathbb {N}}}:\subseteq {\mathbf {X}}^{{\mathbb {N}}}\rightrightarrows {\mathbf {Y}}^{{\mathbb {N}}}\) denote the function defined by \(f^{{\mathbb {N}}}((x_{n})_{n\in {\mathbb {N}}}):= (f(x_{n}))_{n\in {\mathbb {N}}}\).

### 1.3 Weihrauch reducibility

This section provides a brief introduction to Weihrauch reducibility. The research programme of Weihrauch reducibility was formulated in [2], a more up-to-date introduction can be found in [6].

Every multivalued function \(f:\subseteq \mathbf {X}\rightrightarrows \mathbf {Y}\) corresponds to a computational task. Namely: ‘given information about *x* and the additional assumption *x*∈dom(*f*) find suitable information about some *y*∈*f*(*x*)’. What information about *x* resp. *f*(*x*) is provided resp. asked for is reflected in the choice of the representations for **X** and **Y**. The following example of this is very relevant for the content of this paper:

**Definition 2**

**closed choice on the integers**be the multivalued function \(\mathrm {C}_{\mathbb {N}} : \subseteq \mathcal {A}(\mathbb {N}) \rightrightarrows \mathbb {N}\) defined on nonempty sets by

The corresponding task is ‘given an enumeration of the complement of a set of natural numbers and provided that it is not empty, return an element of the set’. \(\mathrm {C}_{\mathbb {N}}\) does not permit a computable realizer: Whenever a machine decides that the name of the element of the set should begin with *n*, it has only read a finite beginning segment of the enumeration. The next value might as well be *n*.

From the point of view of multivalued functions as computational tasks, it makes sense to compare their difficulty by comparing the corresponding multivalued functions. This paper uses Weihrauch reductions as formalization of such a comparison. Weihrauch reductions define a rather fine pre-order on multivalued functions between represented spaces.

**Definition 3**

Let *f* and *g* be partial, multivalued functions between represented spaces. Say that *f* is **Weihrauch reducible** to *g*, in symbols *f*≤_{W}*g*, if there are computable functions \(K:\subseteq {\mathbb {N}^{\mathbb {N}}}\times {\mathbb {N}^{\mathbb {N}}} \to {\mathbb {N}^{\mathbb {N}}}\) and \(H:\subseteq {\mathbb {N}^{\mathbb {N}}}\to {\mathbb {N}^{\mathbb {N}}}\) such that whenever *G* is a realizer of *g*, the function \(F := \left (p \mapsto K(p,G(H(p)))\right )\) is a realizer for *f*.

*H*is called the

**pre-processor**and

*K*the

**post-processor**of the Weihrauch reduction. This definition and the nomenclature is illustrated in Fig. 2. The relation ≤

_{W}is reflexive and transitive. We use ≡

_{W}to denote that reductions in both directions exist and <

_{W}if this is not the case. The equivalence class of a multivalued function with respect to the equivalence relation ≡

_{W}is called the

**Weihrauch degree**of a function

*f*and we denote it by \(\left [f\right ]\). We still use ≤

_{W}for the induced partial order on the Weihrauch degrees and by abuse of notations sometimes use it to compare multivalued functions and Weihrauch degrees. A Weihrauch degree is called non-computable if it contains no computable function.

The Weihrauch degree corresponding to \(\mathrm {C}_{\mathbb {N}}\) has received significant attention, e.g. in [3, 4, 6, 7, 15, 16, 17, 18, 19]. In particular, as shown in [23], a function between computable Polish spaces is Weihrauch reducible to \({\mathrm {C}}_{\mathbb {N}}\) if and only if it is piecewise computable or equivalently is effectively \({{\Delta }^{0}_{2}}\)-measurable.

For the purposes of this paper, the following representatives of this degree are also relevant:

**Lemma 1** (24)

*The following are Weihrauch equivalent*:

\(\mathrm {C}_{\mathbb {N}}\)

*, that is closed choice on the natural numbers*.\(\max : \subseteq \mathcal {O}(\mathbb {N}) \to \mathbb {N}\)

*defined on the bounded sets in the obvious way*.\(\text {Bound}: \subseteq \mathcal {O}(\mathbb {N}) \rightrightarrows \mathbb {N}\)

*, where n∈Bound(U) iff ∀m∈U:n ≥ m*.

Given \(p\in {\mathbb {N}^{\mathbb {N}}}\) denote the support of *p* by \(\text {supp}(p) := \{n\in \mathbb {N}\mid p(n)>0\}\). Furthermore, for a finite set *A* denote the number of elements of that set by *#A*.

**Lemma 2**

*The function*\(\text {Count}:\subseteq {\mathbb {N}^{\mathbb {N}}} \to \mathbb {N}\)

*, defined via*

*is Weihrauch equivalent to closed choice on the naturals*\(\mathrm {C}_{{\mathbb {N}}}\).

### Proof

*H*be the function sending some \(p\in \text {dom}(\mathrm {C}_{{\mathbb {N}}})\) to the function that returns 1 on input

*n*whenever its support up to

*n*has fewer elements than the least element that has not been excluded from the set by the first

*n*elements of the enumeration of the complement. This function is computable as can be seen from its recursive definition:

*H*(

*p*) has finite support, since the set described by

*p*is nonempty: There is some

*m*never shows up as value of

*p*and by definition the support of

*H*(

*p*) does not outgrow that number. Applying a realizer of Count to

*H*(

*p*) returns an encoding of the least element of the set encoded by

*p*. To obtain a Weihrauch reduction just pass this number on to be the output via

*K*(

*p*,

*q*)(

*n*): =

*q*(0).

*H*of a Weihrauch reduction \({\text {Count}}{\leq _{\mathrm {W}}}\max \) as follows:

*H*(

*p*) is a \({\mathcal {O}}({\mathbb {N}})\) name of supp(

*p*). Applying \(\max \) will give the maximal element of the support.

*K*to be the function

*q*(0) will always be the maximal element of the support of

*p*, the composition counts the support of

*p*and is a Weihrauch reduction. □

In Section 3 another non-computable Weihrauch degree is encountered: LPO^{∗}. Here, LPO is short for ‘limited principle of omniscience’. We refrain from stating LPO^{∗} explicitly as it would need more machinery than we introduced. Instead we characterize it by specifying the representative that is used in the proofs:

**Proposition 1** ([18, Korollar 3.1.4.6])

*The function*\(\min : {\mathbb {N}^{\mathbb {N}}} \to \mathbb {N}\)*defined on all of Baire space in the obvious way is a representative of the Weihrauch degree LPO*^{∗}.

A third and final Weihrauch degree making an appearance as the degree of a translation is the degree \(\lim \) encountered in Section 4.

**Definition 4**

Let **X** be a computable metric space. Then \(\lim _{\mathbf {X}} : \subseteq \mathbf {X}^{\mathbb {N}} \to \mathbf {X}\) maps a converging sequence to its limit.

As shown in [3], \(\lim _{\mathbb {N}}\equiv _{\mathrm {W}} \mathrm {C}_{\mathbb {N}}\). In general, it holds that \(\lim _{\mathbf {X}} \leq _{\mathrm {W}} \lim _{{\mathbb {N}^{\mathbb {N}}}} \equiv _{\mathrm {W}} \lim _{{\{0, 1\}^{\mathbb {N}}}}\), and whenever **Y** is a subspace of **X**, then \(\lim _{\mathbf {Y}} {\leq _{\mathrm {W}}} \lim _{\mathbf {X}}\). As \({{\{0, 1\}^{\mathbb {N}}}}\) embeds into any computable metric space considered in this paper apart from \(\mathbb {N}\), it suffices to consider the Weihrauch degree \(\lim :=\big [{\lim _{{{\{0, 1\}^{\mathbb {N}}}}}}\big ]\) corresponding to \(\lim _{{{\{0, 1\}^{\mathbb {N}}}}}\). The degree \(\lim \) is also complete for the effectively \({{\Sigma }^{0}_{2}}\)-measurable functions [2, 22].

^{∗}, \(\mathrm {C}_{\mathbb {N}}\) and \(\lim \) show up in this paper, note the following: All three are derived from the maybe simplest non-computable Weihrauch degree LPO via canonical closure operators defined on the Weihrauch degrees. LPO the Weihrauch degree of the characteristic function of the zero function in Baire space, namely \(\textrm {LPO} = \left [\chi _{0}\right ]\), where

Now, LPO^{∗} corresponds to carrying out a fixed finite but arbitrary high number of equality tests on the real or complex numbers via the operator ^{◇} from [20]. The operator ^{◇} introduced in [17] captures using the given degree an arbitrary finite number of times (without the requirement that the number is fixed in advance), and it holds that \([\mathrm {C}_{{\mathbb {N}}}] = \textrm {LPO}^{\diamond }\). Define one last operator on the Weihrauch degrees by setting \(\widehat {[f]} := [{f^{{\mathbb {N}}}}]\). This operation was also investigated in [5] and corresponds to a countable number of invocations of *f* all performed in parallel. It holds that \(\widehat {\textrm {LPO}} = \widehat {[{\mathrm {C}_{{\mathbb {N}}}}]} = \lim \).

It is known that \(\text {id}_{{\mathbb {N}^{\mathbb {N}}}} <_{\mathrm {W}} \text {LPO}<_{\text {W}}\text {LPO}^{*}<_{\text {W}}\text {C}_{\mathbb {N}} <_{\text {W}} \lim \).

## 2 Analytic functions

### 2.1 Representations of analytic functions

Recall that a function is analytic if it is locally given by a power series:

**Definition 5**

**analytic**, if for every

*x*

_{0}∈

*D*there is a neighborhood

*U*of

*x*

_{0}and a sequence \((a_{k})_{k\in {\mathbb {N}}}\in {\mathbb {C}}^{{\mathbb {N}}}\) such that for each \(x\in U\cap D\)

The set of analytic functions is denoted by \(\mathcal C^{\omega }(D)\). Each analytic function is continuous, i.e. \(\mathcal C^{\omega }(D)\subseteq \mathcal C(D)\). If *D* is open, the analytic functions on *D* are smooth, i.e. infinitely often differentiable. Any analytic function can be analytically extended to an open superset of its domain.

Recall that a **germ** of an analytic function is a point of its domain together with the series expansion around said point. As long as the domain is connected, an analytic function is uniquely determined by each of its germs. The one to one correspondence of germs and analytic functions only partially carries over to the computability realm: It is well known that an analytic function on the unit disk is computable if and only if the germ around any computable point of the domain is computable (see for instance [9]). However, the proofs of these statements are inherently non-uniform. The operations of obtaining a germ from a function and a function from a germ are discontinuous and therefore not computable (see [14]).

There is a more suitable representation for the analytic functions than the restriction of the representation of continuous functions. This representation has been investigated by different authors for instance in [8, 11, 14]. For simplicity restrict to the case of analytic functions on the unit disk. From now on let *D* denote the closed unit disk. And let *U*_{m} denote the open ball \(B_{r_{m}}(0)\) of radius \(r_{m} :=2^{\frac 1{m+1}}\) around zero. Note that \(U_{m+1}\subseteq U_{m}\) and that the intersection of all *U*_{m} is the unit disk. Recall from the introduction that the space \({\mathcal {C}(D)}\) of continuous functions is represented as a metric space (where \({\mathbb {C}}\) is identified with \(\mathbb {R}^{2}\)).

**Definition 6**

Let \(\mathcal C^{\omega }(D)\) denote the **represented space of analytic functions on*** D*, where the representation is defined as follows: A function \(q\in {\mathbb {N}^{\mathbb {N}}}\) is a name of an analytic function

*f*on

*D*, if and only if

*f*extends analytically to the closure of

*U*

_{q(0)}, the extension is bounded by

*q*(0) and

*n*↦

*q*(

*n*+1) is a name of \(f\in {\mathcal {C}(D)}\).

The topology induced by the representation of \(\mathcal C^{\omega }(D)\) is well known and used in analysis: It can be constructed as a direct limit topology and makes \({\mathcal {C}^{\omega }(D)}\) a so called Silva-Space. For more information on this topology and its relation to computability and complexity theory also compare [11].

The set \(\mathcal {O}\) of germs around zero, i.e. of power series with radius of convergence strictly larger than 1 can be made a represented space in a very similar way:

**Definition 7**

*n*↦

*q*(

*n*+1) is a name of the sequence \((a_{k})_{k\in {\mathbb {N}}}\) as element of \({\mathbb {C}}^{{\mathbb {N}}}\).

Proofs that the following holds can be found in [8] or [14]:

**Theorem 1** (computability of summation)

*The assignment*

*is computable.*

A proof of the following can be found in [8]:

**Theorem 2**

*Differentiation is computable as mapping from*\(\mathcal C^{\omega }(D)\)*to*\(\mathcal C^{\omega }(D)\).

### 2.2 Summing power series

Summing a power series is not computable on \(\mathbb {C}^{\mathbb {N}}\). Recall that \(\text {Adv}_{\mathcal {O}}\) was the advice function of the representation \({\mathcal {O}}\) of germs around zero of analytic functions on the unit disk. The computational task corresponding to this multivalued function is to find from a sequence that is guaranteed to have radius of convergence bigger than one a constant witnessing the exponential decay of the absolute value of the coefficients (compare (AG) on page 10). Theorem 1 states that summation is computable on \({\mathcal {O}}\). Therefore, the advice function \({\text {Adv}_{{\mathcal {O}}}}\) can not be computable. The following theorem classifies the difficulty of summing power series and \({\text {Adv}_{{\mathcal {O}}}}\) in the sense of Weihrauch reductions.

**Theorem 3**

*The following are Weihrauch-equivalent*:

\(\mathbf {C}_{\mathbb {N}}\)

*, that is: Closed choice on the naturals*.**Sum**,*that is: The partial mapping from*\(\mathbb {C}^{\mathbb {N}}\)*to*\(\mathcal C(D)\)*defined on the sequences with radius of convergence strictly larger than one by*$$\text{Sum}((a_{k})_{k\in\mathbb{N}})(x) := \sum\limits_{k\in\mathbb{N}} a_{k} x^{k}. $$*I.e. summing a power series*.\(\mathbf {Adv}_{\mathcal {O}}\)

*, that is: The function from*(AG) on page 10. I.e. obtaining the constant from the series.

### Proof

- \(\mathrm {C}_{\mathbb {N}}\leq _{\mathrm {W}}\text {Sum}\):
Lemma 2 permits us to replace \(\mathrm {C}_{\mathbb {N}}\) by Count.

The Weihrauch reduction Count≤_{W}Sum can be constructed as follows: Let the pre-processor be a realizer of the computable mapping that assigns to \(p \in {\mathbb {N}^{\mathbb {N}}}\) the sequence \((a_{k})_{k\in {\mathbb {N}}}\in {\mathbb {C}}^{{\mathbb {N}}}\) defined byNote that$$a_{k} :=\left\{\begin{array}{ll} 1 & \text{ if} \ p(k)>0 \\ 0 &\text{ if} \ p(k)=0 \end{array}\right.. $$*p*∈dom(Count) means that*p*has a finite support, and the radius of convergence of \((a_{k})_{k\in \mathbb {N}}\) is strictly bigger than one (it is infinite). Applying a realizer of Sum will result in a name of the corresponding function*f*. From the definition of \((a_{k})_{k\in {\mathbb {N}}}\) it is clear that*f*(1)=Count(*p*). Therefore, the post-processor can be chosen as the second projection composed with a realizer of the evaluation in 1, which is well known to be computable on the continuous functions.- \(\text {Sum}\leq _{\mathrm {W}}\text {Adv}_{\mathcal {O}}\):
Let the pre-processor be the identity. Note that an element of \(\text {Adv}_{\mathcal {O}}((a_{k})_{k\in \mathbb {N}})\) and a \({\mathbb {C}}^{{\mathbb {N}}}\)-name of \((a_{k})_{k\in {\mathbb {N}}}\) can easily be put together to an \({\mathcal {O}}\)-name of \((a_{k})_{k\in {\mathbb {N}}}\). Thus the post-processor can be chosen to be the composition of this mapping and a realizer of the summation mapping on \({\mathcal {O}}\), which is computable by Theorem 1.

- \(\text {Adv}_{\mathcal {O}}\leq _{\mathrm {W}}\mathrm {C}_{\mathbb {N}}\):
Let the pre-processor be the function that maps a given name

*p*of \((a_{k})_{k\in {\mathbb {N}}}\in {\mathbb {C}}^{\omega }\) to an \({\mathcal {A}}({\mathbb {N}})\)-name of the set \({\text {Adv}_{{\mathcal {O}}}}((a_{k})_{k\in {\mathbb {N}}})\). Note that an enumeration of the complement of this set can be extracted from*p*as follows: For all*k*and \(m\in {\mathbb {N}}\) dovetail the test \(|{a_{k}}|>2^{-\frac k{m+1}}m\). If it holds for some*k*, return*m*as an element of the complement. This procedure indeed produces a list of the complement of \({\text {Adv}_{{\mathcal {O}}}}((a_{k})_{k\in {\mathbb {N}}})\): If the above does not hold for any*k*, then \(|{a_{k}}|\leq 2^{-\frac k{m+1}}m\) for all*k*and*m*is an element of \({\text {Adv}_{{\mathcal {O}}}}((a_{k})_{k\in {\mathbb {N}}})\).Applying closed choice to this set will give result in a valid return value. Thus, choose the post-processor to be the second projection.

□

### 2.3 Differentiating analytic functions

In Subsection 2.1 we remarked that it is not possible to compute the germ of an analytic function just from a name as continuous function. The proof in [14] that this is in general impossible, however, argues about analytic functions on an interval. The first lemma of this chapter proves that for analytic functions on the unit disk it is possible to compute a germ if its base point is well inside of the domain. We only consider the case where the base point is zero, but the proof works whenever a lower bound on the distance of the base point to the boundary of the disk is known.

**Lemma 3**

*Germ, that is: The partial mapping from*\(\mathcal C(D)\)*to*\(\mathbb {C}^{\mathbb {N}}\)*defined on analytic functions by mapping them to their series expansion around zero, is computable.*

### Proof

*f*on the closed unit disk:

*k*. □

The next theorem is very similar to Theorem 3. Both the advice function \(\text {Adv}_{\mathrm {C}^{\omega }}\) and computing a germ around a boundary point are shown to be Weihrauch equivalent to \(\mathrm {C}_{{\mathbb {N}}}\). Note that the coefficients of the series expansion \((a_{k})_{k\in {\mathbb {N}}}\) of an analytic function *f* around a point *x*_{0} are related to the derivatives *f*^{(k)} of the function via *k*!*a*_{k} = *f*^{(k)}(*x*_{0}). Therefore, computing a series expansion around a point is equivalent to computing all the derivatives in that point.

**Theorem 4**

*The following are Weihrauch equivalent*:

\(\mathbf {C}_{\mathbb {N}}\)

*, that is closed choice on the naturals*.**Diff**_{1}*, that is the partial mapping from*\(\mathcal C(D)\)*to*\(\mathbb {C}\)*defined on analytic functions by*$$\text{Diff}_{1}(f) := f^{\prime}(1). $$*I.e. evaluating the derivative of an analytic function in 1*.\(\mathbf {Adv}_{\mathrm {C}^{\omega }}\)

*, that is the function from*(AC).*I.e. obtaining the constant from the function*.

### Proof

- \(\mathrm {C}_{\mathbb {N}}\leq _{\mathrm {W}}\text {Diff}_{1}\):
- Use Lemma 2 to show Count≤
_{W}Diff_{1}instead. Let*p*be from the domain of Count. That is: \({\text {supp}}(p)=\{n\in {\mathbb {N}}\mid p(n)>0\}\) is finite. Define a sequence of analytic functions \(f_{n}:D\to {\mathbb {C}}\) bywhere$$f_{n}(x) :=\left( x-x_{n}\right)^{-2^{n+1}}, $$(see Fig. 3). The sequence is carefully chosen such that \(f_{n}^{\prime }(1) = 1\) and$$x_{n}:=1+2^{\frac{n+1}{2^{n+1}+1}} $$$$\forall x\in D: \left|f_{n}(x)\right|<2^{-n}. $$Furthermore, it is computable as a sequence of functions from \(\mathcal C(D)\).

Consider the functionNote that this function can be computed from$$f(x) := \sum\limits_{n\in\text{supp}(p)} f_{n}(x). $$*p*: To approximate*f*by a polynomial it suffices to approximate those*f*_{n}whose index is small. Let the pre-processor be a realizer of this assignment.Note that applying Diff_{1}to the function*f*results inTherefore, the post-processor$$\text{Diff}_{1}(f) = f^{\prime}(1) = \sum\limits_{n\in\text{supp}(p)} f^{\prime}_{n}(1) =\#{\text{supp}(p)}. $$*K*(*p*,*q*): =*q*results in a Weihrauch reduction. - \(\text {Diff}_{1}\leq _{\mathrm {W}}\text {Adv}_{\mathrm {C}^{\omega }}\):
Let the pre-processor be the identity.

An appropriate post-processor can be described as follows: Combine the return value of \(\text {Adv}_{\mathrm {C}^{\omega }}\) on the function

*f*and the \({\mathcal {C}(D)}\)-name of*f*to an \({\mathcal {C}^{\omega }(D)}\)-name of*f*. Afterwards apply a realizer of the differentiation operator on \({\mathcal {C}^{\omega }(D)}\) which can be chosen computable by Theorem 2. Finally, obtain a \({\mathcal {C}(D)}\)-name of \(f^{\prime }\) from the \({\mathcal {C}^{\omega }(D)}\)-name and evaluate it in 1.- \(\text {Adv}_{\mathrm {C}^{\omega }}\leq _{\mathrm {W}}\mathrm {C}_{\mathbb {N}}\):
Combine computable \(\text {Germ} : \mathcal {C}(D) \to \mathbb {C}^{\mathbb {N}}\), the classification \({\text {Adv}_{{\mathcal {O}}}} {\equiv _{\mathrm {W}}} \ \mathrm {C}_{{\mathbb {N}}}\) from Theorem 3 and the computability of summation from Theorem 1.

□

## 3 Polynomials

### 3.1 Polynomials as finite sequences

Consider the set \(\mathbb {C}[X]\) of polynomials with complex coefficients in one variable *X*. There are several straightforward ways to represent polynomials. The first one that comes to mind is to represent a polynomial by a finite list of complex numbers. One can either demand the length of the list to equal the degree of the polynomial or just to be big enough to contain all of the non-zero coefficients. Since the first option fails to make basic operations like addition of polynomials computable, we choose the second option.

**Definition 8**

Let \(\mathbb {C}[X]\) denote the **represented space of polynomials**, where the representation is defined as follows: \(p\in {\mathbb {N}^{\mathbb {N}}}\) is a \({{\mathbb {C}}[X]}\)-name of *P* if \(p(0)\geq \deg (P)\) and *n*↦*p*(*n*+1) is a \({\mathbb {C}}^{p(0)+1}\)-name of the first *p*(0)+1 coefficients of *P*.

Let \(\mathbb {C}_{m}[X]\) denote the set of monic polynomials over \(\mathbb {C}\), i.e. the polynomials with leading coefficient equal to one. Make \({\mathbb {C}}_{m}[X]\) a represented space by restricting the representation of \({\mathbb {C}}[X]\). Monic polynomials are important because it is possible to compute their roots – albeit in an unordered way. To formalize this define a representation of the disjoint union \(\mathbb {C}^{\times } := {\coprod }_{n \in \mathbb {N}} {\mathbb {C}}^{n}\) as follows: A function *p* is a name of \(x\in \mathbb {C}^{\times }\) if and only if \(x\in {\mathbb {C}}^{p(0)}\) and *n*↦*p*(*n*+1) is a \({\mathbb {C}}^{p(0)}\) name of *x*. Note that the construction of the representation of \({\mathbb {C}}[X]\) is very similar. The only difference being that in \(\mathbb {C}^{\times }\) vectors with leading zeros are not identified with shorter vectors.

**Lemma 4**

*Restricted to*\(\mathbb {C}_{m}[X]\)*the mapping Zeros is computable.*

### Proof

(Proof sketch) This is well known. A nice description of an algorithm to do this can for instance be found in [13], although algorithms were known a lot longer. We only sketch how to find out the degree, which is the number of zeros of the polynomial and therefore the first step towards computing the set of zeros as element of \({\mathbb {C}}^{\times }\). Get an approximation to each of the coefficients with precision \(\frac 12\). Since the highest coefficient will be one, it can be found from this approximation. □

\(\deg \): The function assigning to a polynomial its degree.

Dbnd: The multivalued function where an integer is a valid return value if and only if it is an upper bound of the degree of the polynomial.

**Lemma 5**

*The degree mapping is computable when restricted to the monic polynomials.*

The next result classifies finding the degree, turning a polynomial into a monic polynomial and finding the zeros to be Weihrauch equivalent to LPO^{∗}.

**Proposition 2**

*The following are Weihrauch-equivalent to LPO*

^{∗}:

\(\deg \)

*, that is the mapping from*\(\mathbb {C}[X]\)*to*\(\mathbb {N}\)*defined in the obvious way*.*Monic, that is the mapping from*\(\mathbb {C}[X]\)*to*\(\mathbb {C}_{m}[X]\)*defined on the non-zero polynomials by*$$P = \sum\limits_{k=0}^{\deg(P)} a_{k} X^{k} \mapsto \sum\limits_{k=0}^{\deg(P)}\frac{a_{k}}{a_{\deg(P)}}X^{k}. $$\(\text {Zeros} : \subseteq \mathbb {C}[X] \to \mathbb {C}^{\times }\)

*, mapping a non-zero polynomial to the set of its zeros, each appearing according to its multiplicity*.

### Proof

^{∗}is Weihrauch equivalent to the function \(\min :{\mathbb {N}^{\mathbb {N}}} \to \mathbb {N}\) by Proposition 1. Proceed by building a chain of Weihrauch equivalences:

- \(\min \equiv _{\mathrm {W}}\deg \):
To show

^{1}\(\min {\leq _{\mathrm {W}}}\deg \), note that given \(p \in {\mathbb {N}^{\mathbb {N}}}\) and*n*≤*p*(0), we can compute*a*_{n}defined by \(a_{n} = 2^{-\min \{i \mid p(0) - p(i) = n\}}\), where we understand*a*_{n}= 0 if {*i*∣*p*(0)−*p*(*i*) =*n*} =*∅*. Subsequently we can compute the polynomial \(P := {\sum }_{i=0}^{p(0)} a_{i}x^{i}\), and find that \(\min p = p(0) - \deg P\).On the other hand to see \(\deg \leq _{\mathrm {W}}\min \) let

*p*be a \(\mathbb {C}[X]\)-name of a polynomial*P*. Set*H*(*p*)(0): =*p*(0) and let*H*(*p*)(*n*) be the minimal number such that the 2^{−n+1}-approximation of the polynomial is consistent with \(\deg (P)=p(0)-m\). Apply \(\min \) to this function to get \(p(0)-\deg (P)\). Thus, the post-processor*K*can be chosen as*K*(*p*,*q*) =*p*(0)−*q*(0)- \(\deg \equiv _{\mathrm {W}}\text {Monic}\):
For \(\deg \leq _{\mathrm {W}}\text {Monic}\) let the pre-processor be the identity. Applying Monic to the input will result in a monic polynomial of the same degree. Let the post-processor be the second projection composed with a realizer of the degree mapping on the monic polynomials that can be chosen computable by Lemma 5.

\(\text {Monic}\leq _{\mathrm {W}}\deg \) is obvious since division by a non-zero number is computable.

- Monic≡
_{W}Zeros: - To see that Monic≤
_{W}Zeros note, that from approximations to a vector (*y*_{0},*y*_{1},…,*y*_{n}) of all the zeros of a polynomial*P*approximations to the coefficients of Monic(*P*) can be computed via$$\text{Monic}(P) = \prod\limits_{k \leq n} (X - y_{k}). $$For the opposite direction note, that

*P*and Monic(*P*) have the same set of zeros and that the set of zeros can be computed from Monic(*P*) by Lemma 4.

□

### 3.2 Polynomials as functions

As polynomials induce analytic functions on the unit disk, the representations of \(\mathcal C^{\omega }(D)\) and \(\mathcal C(D)\) can be restricted to the polynomials. The represented spaces that result from this are \({\mathcal {C}^{\omega }(D)}|_{{\mathbb {C}}[X]}\), resp. \({\mathcal {C}(D)}|_{{\mathbb {C}}[X]}\). Here, the choice of the unit disk *D* as domain seems arbitrary: A polynomial defines a continuous resp. analytic function on the whole space. The following proposition can easily be checked to hold whenever the domain contains an open neighborhood of zero and, since translations are computable with respect to all the representations we consider, if it contains any open set.

Denote the degree resp. degree bound functions on the continuous resp. analytic functions by \(\deg _{\mathcal C(D)}\), \({\text {Dbnd}}_{{\mathcal {C}(D)}}\) resp. \(\deg _{{\mathcal {C}^{\omega }(D)}}\), \({\text {Dbnd}}_{{\mathcal {C}^{\omega }(D)}}\). When polynomials are regarded as functions, resp. analytic functions, these maps become harder to compute.

**Theorem 5**

*The following are Weihrauch-equivalent*:

\(\mathrm {C}_{\mathbb {N}}\)

*, that is: Closed choice on the naturals*.\(\text {Dbnd}_{\mathcal C^{\omega }(D)}\)

*, that is: Given an analytic function which is a polynomial, find an upper bound of its degree*.\(\deg _{\mathcal C^{\omega }(D)}\)

*, that is: Given an analytic function which is a polynomial, find its degree*.

### Proof

- \(\mathrm {C}_{\mathbb {N}}\leq _{\mathrm {W}}\text {Dbnd}_{\mathcal C^{\omega }(D)}\):
- Use Lemma 1 and reduce to Bound instead. Thus, let
*p*be an enumeration of some bounded subset of the natural numbers. Define a polynomial*P*as follows:One readily verifies that a \(\mathcal C^{\omega }(D)\)-name of the function$$P(X) := \sum\limits_{n\in\mathbb{N}} 2^{-(n + p(n))} X^{p(n)}. $$*f*corresponding to*P*can be computed from*p*: A \({\mathcal {C}(D)}\)-name of*f*is easy to get hold of as the coefficients fall fast enough with*n*, and it is easy to check that 2 is an allowed value of \({\text {Adv}_{\mathbb {C}^{\omega }}}(f)\). Let the pre-processor*H*be a realizer of this assignment.Obviously \(\text {Dbnd}_{\mathcal C^{\omega }(D)}(f)\) is an upper bound of the set enumerated by

*p*. This means that the choice*K*(*p*,*q*): =*q*for the post-processor results in a Weihrauch reduction. - \(\text {Dbnd}_{\mathcal C^{\omega }(D)}\leq _{\mathrm {W}}\deg _{\mathcal C^{\omega }(D)}\):
Is trivial: Using the identity as pre-processor and the second projection as post-processor will do.

- \(\deg _{\mathcal C^{\omega }(D)}\leq _{\mathrm {W}}\mathrm {C}_{\mathbb {N}}\):
- By Lemma 1 replace \(\mathrm {C}_{\mathbb {N}}\) with \(\max \). Let
*p*be a \(\mathcal C^{\omega }(D)\)-name of the function corresponding to some polynomial*P*. Shifting the name will result in a \({\mathcal {C}(D)}\)-name of*P*and by Lemma 3 a \({\mathbb {C}}^{{\mathbb {N}}}\)-name*q*of the series of coefficients of*P*can be computed from this. Let*d*_{n}denote the enumeration of the rational elements of \({\mathbb {C}}\) that was fixed for the definition of the representation of \({\mathbb {C}}\). Define the pre-processor*H*as follows:This pre-processor is computable and$$H(p)(\langle m,n\rangle) := \left\{\begin{array}{ll} m+1 &\text{if}\ \left|d_{q(\langle m,n\rangle)}\right| > 2^{-n} \\ 0 & \text{otherwise}. \end{array}\right. $$*H*(*p*) enumerates the set of indices*k*such that*a*_{k}is not zero. Therefore, applying \(\max \) will result in the degree of the polynomial and*K*(*p*,*q*): =*q*can be chosen as post-processor of a Weihrauch reduction.

□

From the proof of the previous theorem it can be seen that stepping down from analytic to continuous functions is not an issue. For sake of completeness we add a slight tightening of the third item of Theorem 4 and state this as theorem:

**Theorem 6**

*The following are Weihrauch-equivalent to*\(\mathrm {C}_{\mathbb {N}}\):

\(\deg _{\mathcal C(D)}\)

*, that is: Given a continuous function which happens to be a polynomial, find its degree*.\(\text {Dbnd}_{\mathcal C(D)}\)

*, that is: Given an analytic function which happens to be a polynomial, find an upper bound of its degree*.\(\text {Adv}_{\mathrm {C}^{\omega }}|_{\mathbb {C}[X]}\)

*, that is: Given a continuous function which happens to be a polynomial, find the constant needed to represent it as analytic function*.

### Proof

Weihrauch equivalence of the first two bullets to \(\mathrm {C}_{\mathbb {N}}\) follows directly from the proofs of Theorem 5. For the last item first note, that the Weihrauch reduction \({\text {Adv}_{\mathbb {C}^{\omega }}}{\leq _{\mathrm {W}}}\ \mathrm {C}_{{\mathbb {N}}}\) constructed in Theorem 4 is also a Weihrauch reduction showing \({\text {Adv}_{\mathbb {C}^{\omega }}}|_{{\mathbb {C}}[X]}{\leq _{\mathrm {W}}}\ \mathrm {C}_{{\mathbb {N}}}\). This is generally true for restrictions. On the other hand, the sequence *f*_{n} of analytic functions in the proof of the reduction \(\mathrm {C}_{{\mathbb {N}}} {\leq _{\mathrm {W}}}\ {\text {Adv}_{\mathbb {C}^{\omega }}}\) in the same theorem may be replaced by rational polynomials that approximate the functions and their derivative well enough. This way, the constructed function *f* is a polynomial and the reduction a Weihrauch reduction to the restriction \({\text {Adv}_{\mathbb {C}^{\omega }}}|_{{\mathbb {C}}[X]}\). □

\(\text {Dbnd}_{\mathcal C^{\omega }(D)}\) may be regarded as the advice function of \(\mathbb {C}[X]\) over \(\mathcal C^{\omega }(D)\): The representation where a function *p* is a name of a polynomial *P* if and only if \(p(0) = {\text {Dbnd}}_{{\mathcal {C}^{\omega }(D)}}\) and *n*↦*p*(*n*+1) is a \({\mathcal {C}^{\omega }(D)}\)-name of *P* is computationally equivalent to the representation of \({\mathbb {C}}[X]\). The same way, \({\text {Dbnd}}_{{\mathcal {C}(D)}}\) can be considered an advice function of \({\mathbb {C}}[X]\) over \({\mathcal {C}(D)}\).

## 4 Test function spaces

This section considers three spaces of test functions as a final example.

### 4.1 The spaces \(\mathcal E\), \(\mathcal S\) and \(\mathcal D\)

**locally convex**if its topology is the initial topology of a family (∥⋅∥

_{i})

_{i∈I}of semi-norms. Set \(I:={\mathbb {N}}\times {\mathbb {N}}\). In the case of \({\mathcal {E}}\) the semi-norms

*K*. The Spaces \({\mathcal {D}}_{K}\) can be regarded topological vector spaces as the space \({\mathcal {E}}\) above. Define a collection of semi-norms on \({\mathcal {D}}\) as follows: A semi-norm ∥⋅∥ on \({\mathcal {D}}\) is contained in the collection if and only if it restricts to a continuous semi-norm on each of the spaces \({\mathcal {D}}_{K}\).

### 4.2 Representing test functions

For representing these spaces first turn to \(\mathcal E\) and \(\mathcal S\), which can be handled as metric spaces. For the space \(\mathcal E\) of smooth functions choose as dense sub sequence the polynomials with rational coefficients. Equip \({\mathcal {E}}\) with the corresponding metric representation.

**Lemma 6**

*An element of*\(\mathcal E\)

*is computable if and only if the mapping*

*is computable.*

### Proof

First assume that the mapping is computable. To approximate *f* by polynomials in the translation invariant metric up to precision 2^{−n} first note that *N*, *m*≤〈*N*, *m*〉. Therefore it suffices to approximate all up to the *m*-th derivatives of *f* on the interval [−*N*, *N*] in supremum norm. Use the computable Weierstraß Approximation Theorem to find polynomial approximations of *f*^{(m)} on [−*N*, *N*] to precision (2*N*)^{−m}2^{−n}. By the Intermediate Value Theorem \(f^{(m-1)}(x) -f^{(m-1)}(y) \leq \parallel {f^{(m)}}\parallel _{\infty } |{x-y}|\leq (2N)^{-m+1}2^{-n}\), and analogously none of the derivatives up to *m* can vary by more than 2^{−n}.

For the other direction just get an upper bound *N* for *x*, read polynomial approximations to the derivatives from the name of the function *f* and evaluate them. □

The above can seen to be uniform in the sense that it proves the metric representation is computably equivalent to the following one:

**Definition 9**

Let \(\mathcal E\) denote the **represented space of smooth functions**, where the representation is defined as follows: A function \(q\in {\mathbb {N}^{\mathbb {N}}}\) is a name of a smooth function *f* if for all \(N,m\in {\mathbb {N}}\) it holds that *n*↦*φ*(〈*N*, *m*, *n*〉) is a C([−*N*, *N*])-name of *f*^{(m)}.

Computability on the space \(\mathcal S\) of Schwartz functions is investigated in [34]^{2}. Note that the rational polynomials are not contained in the space \(\mathcal {S}\), thus they have to be replaced by truncating rational polynomials to rational intervals in a smooth way. Writing the corresponding sequence down explicitly is cumbersome, however, it can be done. An alternative approach to obtain a representation of \(\mathcal {S}\) is to effectivize the definition directly.

**Definition 10**

**represented space of Schwartz functions**, where the representation is defined as follows: A function \(q\in {\mathbb {N}^{\mathbb {N}}}\) is a name of a Schwartz function

*f*if for all

*d*,

*m*,

*k*≤

*n*it holds that

*n*↦

*q*(2

*n*+1) is a name of \(f\in {\mathcal {E}}\).

A proof that this representation is computably equivalent to the metric representation of \(\mathcal S\) can be found as Lemma 5.3 (2) in [34]. This representation adds information to an \({\mathcal {E}}\)-name of a function. However, in contrast to the other cases we encountered so far the information added is an element of Baire space and not discrete.

Finally turn to the bump functions: The space \(\mathcal D\) not being metrizable does not prohibit the existence of a well behaved representation. For instance also the space \({\mathcal {C}^{\omega }(D)}\) of analytic functions is also not metrizable. The topology of \({\mathcal {D}}\) is, however, also not sequential. Thus, a representation can not be expected to induce the topology itself but at most its sequentialization. The question of how to represent \({\mathcal {D}}\) is for instance studied in [11, 34].

**Definition 11**

Let \(\mathcal D\) denote the **represented space of bump functions**, where the representation is defined as follows: A function \(q\in {\mathbb {N}^{\mathbb {N}}}\) is a name of a bump function *f* if and only if the support of *f* is contained in [−*q*(0), *q*(0)] and *n*↦*q*(*n*+1) is a name of \(f\in {\mathcal {E}}\).

The representation of \(\mathcal D\) arises from subspace representation of \(\mathcal E\) by enriching

*Example 1*

**Lemma 7**

*The function f from Example 1 is computable as element of*\(\mathcal D\)

*. For its shifts f*

_{λ}

*(x):=f(x−λ) it is true that*

This can be pieced together from [34] or [8]. We give a direct proof.

### Proof

*f*is computable is clear from its definition. A proof that

*f*is infinitely often differentiable is an standard exercise and left to the reader. A direct computation of \(f^{\prime }\) and an easy induction show that for |

*x*|<1

*p*

_{n}are integer polynomials recursively defined as follows:

*m*,

*x*)↦

*f*

^{(m)}(

*x*) is computable. The computability of

*f*in \({\mathcal {E}}\) now follows from Lemma 6 and to find a computable \({\mathcal {D}}\)-name it suffices to add 1 to the front of the computable \({\mathcal {E}}\)-name.

*n*>0 the absolute value of each of its coefficients is bonded by (17

*n*−7)

^{n}. From applying l’Hospital’s rule it can be seen that (1−

*x*

^{2})

^{−2n}

*f*(

*x*)→0 for |

*x*|→1. Thus the suprema can be found by searching for zeros of the derivative. They are

### 4.3 Inclusions

We are now ready to investigate the inclusion maps and their inverses between these spaces. Follow [34, Proposition 5.4] to see that the inclusion \(\iota _{{\mathcal {D}}}^{\mathcal {S}} : {\mathcal {D}}\hookrightarrow \mathcal {S}\) is computable: Given a \({\mathcal {D}}\)-name *q* of *F* obtain the values of an \(\mathcal {S}\)-name of *f* (compare Definition 10) on even numbers by 2*n*↦*q*(0) and the values on odd numbers by 2*n*+1↦*q*(*n*+1). That the map \(\iota _{\mathcal {S}}^{{\mathcal {E}}} :\mathcal {S} \hookrightarrow {\mathcal {E}}\) is computable follows from comparing the metric representations. Note that \(\iota _{{\mathcal {D}}}^{\mathcal {S}}\) and \(\iota _{\mathcal {S}}^{{\mathcal {E}}}\) are injective thus they have unique partial sections \(\pi _{\mathcal {S}}^{{\mathcal {D}}}\) and \(\pi _{{\mathcal {E}}}^{\mathcal {S}}\) with domains \({\mathcal {D}}\subseteq \mathcal {S}\) resp. \(\mathcal {S}\subseteq {\mathcal {E}}\). As mentioned before the subspace topologies are strictly finer, thus the sections are not continuous.

**Proposition 3**

*The following are Weihrauch-equivalent to*\(\mathrm {C}_{\mathbb {N}}\):

\(\pi _{\mathcal S}^{\mathcal D}: \subseteq \mathcal S\to \mathcal D\)

*, the partial inverse of the embedding*\(\mathcal D\hookrightarrow \mathcal S\).\(\pi _{\mathcal E}^{\mathcal D} := \pi _{\mathcal S}^{\mathcal D}\circ \pi _{\mathcal E}^{\mathcal S}:\subseteq \mathcal E \to \mathcal D\)

*, the partial inverse of the embedding*\({\mathcal {D}}\hookrightarrow {\mathcal {E}}\).

### Proof

- \(\mathrm {C}_{\mathbb {N}} \leq _{\mathrm {W}} \pi _{\mathcal S}^{\mathcal D}\):
Recall, that by Lemma 1 the function \(\mathrm {C}_{\mathbb {N}}\) may be replaced the function Bound\(:\subseteq {\mathcal {O}}({\mathbb {N}}) \rightrightarrows {\mathbb {N}}\) defined on the finite sets in the obvious way.

Recall the function*f*from Example 1 and its shifts*f*_{λ}(*x*): =*f*(*x*−*λ*). Let the pre-processor*H*be a realizer of the function mapping a string function*p*to the functionLet$$g = \sum\limits_{i\in \mathbb{N}} 2^{-i-1}(2p(i)+1)^{-i}(17 i)^{-4 i} f_{2p(i)}. $$*g*_{k}denote the*k*-th partial sum of*g*. ThusHere the latter sum is obviously smaller than 2$$\begin{array}{@{}rcl@{}} d(g,g_{k}) & = &\sum\limits_{\langle d,m\rangle\in\mathbb{N}} 2^{-\langle d,m\rangle} \frac{\|{g-g_{k}}\|^{\mathcal{S}}_{d,m}}{\|{g-g_{k}}\|^{\mathcal{S}}_{d,m}+1} \\ & \leq&\sum\limits_{\begin{array}{ll} \langle d,m\rangle\in\mathbb{N} \\ d\leq k\text{ and} m\leq k \end{array}} 2^{-\langle d,m\rangle} \|{g-g_{k}}\|^{\mathcal{S}}_{d,m} + \sum\limits_{\begin{array}{ll} \langle d,m\rangle\in{\mathbb{N}} \\ d> k\text{ or} m> k \end{array}} 2^{-\langle d,m\rangle}. \end{array} $$^{−k−1}and the first can be estimated to be smaller by using the definition of*g*_{k}and the estimate of the semi-norms of*f*_{λ}from Lemma 7. Now the sequence \((f_{i})_{i\in {\mathbb {N}}}\) is a computable element of \({\mathcal {D}}^{{\mathbb {N}}}\) and therefore also of \(\mathcal {S}^{{\mathbb {N}}}\) and the sequence*g*_{k}can be computed from this sequence and*p*. This suffices to compute a \(\mathcal {S}\)-name of*g*from*p*.From the definition of

*g*it is clear that any bound on the support of*g*is also a bound for the values of*p*and therefore a valid return value of Bound. The post-processor*K*can be chosen as the second projection.- \(\pi _{\mathcal S}^{\mathcal D} \leq _{\mathrm {W}} \pi _{\mathcal E}^{\mathcal D}\):
Follows from the computability of \(\pi _{\mathcal E}^{\mathcal S}\).

- \(\pi _{\mathcal E}^{\mathcal D} \leq _{\mathrm {W}} \mathrm {C}_{\mathbb {N}}\):
- Assume we are given an \(\mathcal E\)-name of some \(f\in \mathbb {D}\). Let \((q_{n})_{n\in \mathbb {N}}\) be a standard enumeration of the rationals. Let the pre-processor
*H*map*f*to the set the setThis set is not empty since any bound on the support of$$H(p) := \{K\mid\exists n \forall m: f(q_{m}) > 2^{-n} \Rightarrow q_{m}\leq K\}. $$*f*fulfills the condition for all*n*. On the other hand, if the condition is violated by some*m*, then we can get a polynomial \(\frac {2^{-n}-f(q_{m})}2\)-approximation valid on [−*q*_{m},*q*_{m}] from the \({\mathcal {E}}\)-name and evaluate it on*q*_{m}with this the same precision to witness the violation. Therefore*H*is computable.Applying \(\mathrm {C}_{\mathbb {N}}\) to the set returns a bound of the support and thus the post-processor

*K*can be chosen to be the projection to the second argument.

□

**Theorem 7**

*For the partial inverse*\(\pi _{\mathcal E}^{\mathcal S}:\subseteq \mathcal E\to \mathcal S\)*of the inclusion*\(\mathcal S\hookrightarrow \mathcal E\)*it holds that*\([{\pi _{{\mathcal {E}}}^{\mathcal {S}}}]=\lim \)*, i.e. that*\(\pi _{{\mathcal {E}}}^{\mathcal {S}} {\equiv _{\mathrm {W}}} \mathrm {C}_{{\mathbb {N}}}^{{\mathbb {N}}}\).

### Proof

First prove \(\pi _{\mathcal E}^{\mathcal S}\leq _{\mathrm {W}}\mathrm {C}_{\mathbb {N}}^{\mathbb {N}}\). To obtain a \(\mathcal S\)-name of *f* from a \(\mathcal E\)-name it necessary to find a sequence *a*_{n} such that for all *d*, *m*, *k*≤*n* it holds that |*x*^{d}*f*^{(m)}(*x*)≤2^{−k}| for all *x* with \(|{x}|\geq 2^{a_{n}}\). Each *a*_{n} can be found using one instance of \(\mathrm {C}_{{\mathbb {N}}}\): Note that the inequalities above are fulfilled for all real numbers if and only if they are fulfilled for all rational numbers. Therefore, it is possible to enumerate those natural numbers *b* for which the condition is not fulfilled by searching for a rational counterexample. It follows that computing the sequence *a*_{n}, and therefore also an \(\mathcal {S}\)-name of *f*, from an \({\mathcal {E}}\)-name of *f* is Weihrauch reducible to \(\mathrm {C}_{{\mathbb {N}}}^{{\mathbb {N}}}\).

*q*(

*m*) is a bound of the maximum above.

*f*be the function from Example 1 and

*f*

_{i}its integer shifts. For \(i,k\in \mathbb {N}\) let

*m*

_{i, k}denote the smallest integer such that

*p*(〈

*m*

_{i, k},

*k*〉) =

*i*. Consider the following sequence of functions:

*p*since (

*f*

_{i}) is computable in \({\mathbb {D}}^{{\mathbb {N}}}\) and each restriction of

*g*

_{k}to [−

*N*,

*N*] only depends on the first

*N*values of

*p*. Let the preprocessor

*H*be a realizer of this mapping.

*g*

_{k}have compact support. Furthermore, from the bounds from Lemma 7 it is easy to see that the function

*g*

_{k}are positive and therefore

*q*is an \(\mathcal {S}\)-name of

*g*, then for all

*i*it holds that

*q*(2

*k*)≥

*p*(〈

*i*,

*k*〉) and

*q*(2⋅) is a valid return value for Bound\(^{{\mathbb {N}}}\). □

Another important representative of the degree \(\lim \) is the Turing jump \(J : {\{0, 1\}^{\mathbb {N}}} \to {\{0, 1\}^{\mathbb {N}}}\) mapping *p* to the Halting problem relative to *p*. As shown in [5], \(J {\equiv _{\mathrm {W}}} \lim \) (essentially by a uniform version of Shoenfields Limit Lemma). This has the important consequence that whenever \(T {\equiv _{\mathrm {W}}} \lim \), then there is some computable point *x*∈dom(*T*) such that *T*(*x*) computes the Halting problem [1].

**Corollary 1**

*There exists a function*\(f : \mathbb {R} \to \mathbb {R}\)*which is computable as an element of*\(\mathcal E\)*, and which also is an element of*\(\mathcal {S}\)*, but as the latter, computes the Halting problem.*

## 5 Conclusions & Outlook

We have seen that some care is required when formulating statements about computability with respect to some more complicated function spaces in analysis: Computing a continuous function (that happens to be analytic) is easier than computing the same function as an analytic function, etc. For most the distinctions we have investigated, these differences are rather small: As the degree of \(\mathrm {C}_{\mathbb {N}}\) preserves computability of points, an individual analytic function is a computable analytic function iff it is a computable continuous function. For Schwartz functions, however, the situation is different, and crucial distinctions already appear at the level of individual functions.

The relevance of the choice of function spaces for computable analysis has been very prominent in the discussion of the computability of the wave equation: In [26, 27], computable parameters were exhibited that forced the solution to take non-computable values at time 1. This constituted a significant challenge for the philosophical discussion about computability and physics. A resolution was then offered in [33] by demonstrating that the solution operator for the wave equation is computable after all – if one chooses the correct function spaces.

The examples we have studied in this paper are by far not all that deserve attention. Based partially on the results in Section 4, one could contrast continuous functions, distributions and tempered distributions. Similarly, the relationship between continuous functions and \(\mathcal {L}^{1}\) functions that happen to be continuous should be clarified. It is known, however, that translating from a continuous real function that has a continuous derivative to a \(C^{1}(\mathbb {R})\) function is equivalent to \(\lim \) [30].

We should point out that many of the results proved in Section 2 work for more general domains: Lemma 3 generalizes to any computable point of the interior of an arbitrary domain. It can be made a uniform statement by including the base point of a germ. In this case for the proof to go through computability of the distance function of the complement of the domain of the analytic function is needed.

Another example is the part of Theorem 4 that says finding a germ on the boundary is difficult. In this case a disc of finite radius touching the boundary in a computable point is needed. Alternatively, a simply connected bounded Lipshitz domain with a computable point in the boundary can be used. Also in this case it seems reasonable to assume that a uniform statement can be proven.

## Footnotes

## Notes

### Acknowledgments

We are grateful to Matthias Schröder for discussions on the subject.

### References

- 1.Brattka, V.: Computable invariance. Theor. Comput. Sci.
**210**, 3–20 (1999)MathSciNetCrossRefMATHGoogle Scholar - 2.Brattka, V.: Effective Borel measurability and reducibility of functions. MLQ Math. Log. Q.
**51**(1), 19–44 (2005). doi:10.1002/malq.200310125 MathSciNetCrossRefMATHGoogle Scholar - 3.Brattka, V., De Brecht, M., Pauly, A.: Closed choice and a uniform low basis theorem. Ann. Pure Appl. Log.
**163**(8), 986–1008 (2012). doi:10.1016/j.apal.2011.12.020 MathSciNetCrossRefMATHGoogle Scholar - 4.Brattka, V., Gherardi, G.: Effective choice and boundedness principles in computable analysis. Bull. Symb. Log.
**17**(1), 73–117 (2011). doi:10.2178/bsl/1294186663 MathSciNetCrossRefMATHGoogle Scholar - 5.Brattka, V., Gherardi, G.: Weihrauch degrees, omniscience principles and weak computability. J. Symb. Log.
**76**, 143 – 176 (2011). ArXiv:0905.4679 MathSciNetCrossRefMATHGoogle Scholar - 6.Brattka, V., Gherardi, G., Hölzl, R.: Probabilistic computability and choice. Inform. Comput.
**242**, 249–286 (2015). doi:10.1016/j.ic.2015.03.005 MathSciNetCrossRefMATHGoogle Scholar - 7.Hirst, J., Mummert, C.: Reverse mathematics of matroids. arXiv:1604.04912
- 8.Kawamura, A., Müller, N., Rösnick, C., Ziegler, M.: Computational benefit of smoothness: Parameterized bit-complexity of numerical operators on analytic functions and Gevrey’s hierarchy. J. Complex.
**31**(5), 689–714 (2015). doi:10.1016/j.jco.2015.05.001 MathSciNetCrossRefMATHGoogle Scholar - 9.Ko, K.I.: Complexity theory of real functions. Progress in Theoretical Computer Science. Birkhäuser Boston, Inc., Boston, MA (1991). doi:10.1007/978-1-4684-6802-1 CrossRefMATHGoogle Scholar
- 10.Ko, K.I.: Polynomial-time computability in analysis. In: Handbook of Recursive Mathematics, Vol. 2. doi:10.1016/S0049-237X(98)80052-9, vol. 139, pp. 1271–1317. Studies Logic Foundations Mathematics, North-Holland, Amsterdam (1998)
- 11.Kunkle, D., Schröder, M.: Some examples of non-metrizable spaces allowing a simple type-2 complexity theory. In: Proceedings of the 6th Workshop on Computability and Complexity in Analysis (CCA 2004). doi:10.1016/j.entcs.2004.06.038, vol. 120, pp. 111–123. Electronics Notes Theoretical Computer Science, Elsevier, Amsterdam (2005)
- 12.Le Roux, S., Pauly, A.: Finite choice, convex choice and finding roots. Logical Methods in Computer Science (2015). doi:10.2168/LMCS-11(4:6)2015, ArXiv:1302.0380
- 13.Lester, D., Chambers, S., Lu, H.L.: A constructive algorithm for finding the exact roots of polynomials with computable real coefficients. Theoret. Comput. Sci.
**279**(1-2), 51–64 (2002). doi:10.1016/S0304-3975(00)00426-6 MathSciNetCrossRefMATHGoogle Scholar - 14.Müller, N. T. Ko, K. I., Weihrauch, K. (eds.): Constructive aspects of analytic functions, vol. 90. FernUniversität Hagen (1995). CCA Workshop, Hagen (1995)Google Scholar
- 15.Mylatz, U.: Vergleich unstetiger Funktionen in der Analysis. Diplomarbeit, Fachbereich Informatik, FernUniversität Hagen (1992)Google Scholar
- 16.Mylatz, U.: Vergleich unstetiger Funktionen: “principle of omniscience” und Vollständigkeit in der C-Hierarchie. Ph.D. thesis, Fernuniversität Gesamthochschule in Hagen (2006)Google Scholar
- 17.Neumann, E., Pauly, A.: A topological view on algebraic computations models. arXiv:1602.08004 (2016)
- 18.Pauly, A.: Methoden zum Vergleich der Unstetigkeit von Funktionen. Masters thesis, FernUniversität Hagen (2007)Google Scholar
- 19.Pauly, A.: Infinite oracle queries in type-2 machines (extended abstract) arXiv:0907.3230v1 (2009)
- 20.Pauly, A.: On the (semi)lattices induced by continuous reducibilities. Math. Log. Q.
**56**(5), 488–502 (2010). doi:10.1002/malq.200910104 - 21.Pauly, A.: On the topological aspects of the theory of represented spaces. Computability
**5**(2), 159–180 (2016). doi:10.3233/COM-150049. arXiv:1204.37631204.3763CrossRefMATHGoogle Scholar - 22.Pauly, A., De Brecht, M.: Towards synthetic descriptive set theory: An instantiation with represented spaces. arXiv:1307.18501307.1850
- 23.Pauly, A., De Brecht, M.: Non-deterministic computation and the Jayne Rogers theorem. Electron. Proc. Theor. Comput. Sci.
**143**(2014) (2012). DCMGoogle Scholar - 24.Pauly, A., Davie, G., Fouché, W.: Weihrauch-completeness for layerwise computability. arXiv:1505.020911505.02091 (2015)
- 25.Pauly, A., Steinberg, F.: Representations of analytic functions and weihrauch degrees. In: Proceedings of 11th International Computer Science Symposium in Russia (CSR), LNCS. doi:10.1007/978-3-319-34171-2_26, vol. 9691, pp. 367–381 (2016)
- 26.Pour-El, M., Richards, I.: Computability and noncomputability in classical analysis. Trans. AMS
**275**, 539–560 (1983)MathSciNetCrossRefMATHGoogle Scholar - 27.Pour-El, M., Zhong, N.: The wave equation with computable initial data whose unique solution is nowhere computable. Math. Log. Q.
**43**(4), 499–509 (1997)MathSciNetCrossRefMATHGoogle Scholar - 28.Pour-El, M.B., Richards, J.I.: Computability in analysis and physics. Perspectives in Mathematical Logic. Springer-Verlag, Berlin (1989). 10.1007/978-3-662-21717-7
- 29.Schröder, M.: Extended admissibility. Theor. Comput. Sci.
**284**(2), 519–538 (2002). doi:10.1016/S0304-3975(01)00109-8 MathSciNetCrossRefMATHGoogle Scholar - 30.Stein, T. v.: Vergleich nicht konstruktiv lösbarer Probleme in der Analysis. Diplomarbeit, Fachbereich Informatik, FernUniversität Hagen (1989)Google Scholar
- 31.Washihara, M.: Computability and tempered distributions. Math. Jpn.
**50**(1), 1–8 (1999)MathSciNetMATHGoogle Scholar - 32.Weihrauch, K.: Computable analysis. Texts in Theoretical Computer Science. An EATCS Series. Springer-Verlag, Berlin (2000). doi:10.1007/978-3-642-56999-9. An introduction
- 33.Weihrauch, K., Zhong, N.: Is wave propagation computable or can wave computers beat the Turing machine?. Proc. Lond. Math. Soc.
**85**(2), 312–332 (2002). doi:10.1112/S0024611502013643. http://plms.oxfordjournals.org/content/85/2/312.abstract - 34.Zhong, N., Weihrauch, K.: Computability theory of generalized functions. J. ACM
**50**(4), 469–505 (2003)MathSciNetCrossRefMATHGoogle Scholar - 35.Ziegler, M.: Real computation with least discrete advice: a complexity theory of nonuniform computability with applications to effective linear algebra. Ann. Pure Appl. Log.
**163**(8), 1108–1139 (2012). doi:10.1016/j.apal.2011.12.030 MathSciNetCrossRefMATHGoogle Scholar

## Copyright information

**Open Access**This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.