Comparing representations for function spaces in computable analysis

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.


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 [LRP15]). 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 ).

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 [Zie12]. Finding this number is Weihrauch equivalent to C 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 Figure 4 on Page 12 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 C N and LPO * . The results are summarized in Figure 5 on Page 16.
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 C 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 ∈ C ∞ (R) that decays faster than any polynomial (i.e. f ∈ S) and is computable as element of C ∞ (R), but as element of 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 C 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 [PS16].

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 [Wei00], and to [Pau16]. Also, [PER89] 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 δ X :⊆ N N → X from Baire space onto it. The elements of δ −1 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 δ N (p) := p(0). Therefore, from now on denote by 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 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 : X ⇒ Y. The domain of a multivalued function is the set of elements such that the image is not empty. Furthermore, recall that f :⊆ X → Y indicates that the function f is allowed to be partial, i.e. that its domain may be a proper subset of X. Figure 1). Figure 1: A diagram 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. [Ko98]) or via Type-2 Turing machines (as in e.g. [Wei00]). 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 [Sch02]), 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.
Let O(N) resp. A(N) denote the represented spaces of open resp. closed subsets of N. The underlying set of both O(N) and A(N) is the power set of N.
That is: A O(N)-name of a set of natural numbers is an enumeration of the set, however the enumeration is allowed to not return an element of the set in each step (otherwise no finite set would get a name). The closed sets A(N) are represented as complements of open sets: I.e. a A(N)-name of a set of natural numbers is an enumeration of the complement.
Given a triple M = (M, d, (x n ) n∈N ) such that (M, d) is a separable metric space and x n is a dense sequence, turn M into a represented space by equipping it with the representation This is the canonical way of considering R, R d and C as represented spaces; the dense sequences are standard enumerations of the rational elements. The space C(D) of continuous functions on a compact subset D of 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 R respectively.

Sequences in a represented space.
For a represented space X there is a canonical way to turn the set of sequences in X into a represented space X N : Let ·, · : N × N → N be a standard paring function (i.e. bijective, recursive with recursive projections). Define a function · : N N N → N N by For a represented space X define a representation of the set X N of the sequences in the set X underlying X by I.e. p is a name of (x m ) m∈N if for each fixed m the mapping n → p( m, n ) is a name of x m . In particular the spaces R N and C N of real and complex sequences are considered represented spaces in this way. For a partial, multivalued function f :⊆ X ⇒ Y let f N :⊆ X N ⇒ Y N denote the function defined by f N ((x n ) n∈N ) := (f (x n )) n∈N .

Weihrauch reducibility
This section provides a brief introduction to Weihrauch reducibility. The research programme of Weihrauch reducibility was formulated in [Bra05], a more up-to-date introduction can be found in [BGH15].
Every multivalued function f :⊆ X ⇒ 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. Let closed choice on the integers be the multivalued function C N :⊆ A(N) ⇒ 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'. C 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 :⊆ N N × N N → N N and H :⊆ N N → N N such that whenever G is a realizer of g, the function F := (p → K(p, G(H(p)))) 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 Figure 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 [f ]. 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 C N has received significant attention, e.g. in [BG11a,BdBP12,Pau07,Myl92,Myl06,BGH15,Pau09,HM16,NP16]. In particular, as shown in [PdB14], a function between computable Polish spaces is Weihrauch reducible to C N if and only if it is piecewise computable or equivalently is effectively ∆ 0 2 -measurable. For the purposes of this paper, the following representatives of this degree are also relevant: Lemma 4 ( [PDF15]). The following are Weihrauch equivalent: • C N , that is closed choice on the natural numbers.
• max :⊆ O(N) → N defined on the bounded sets in the obvious way.
Given p ∈ N N denote the support of p by supp(p) := {n ∈ N | p(n) > 0}. Furthermore, for a finite set A denote the number of elements of that set by #A. Proof. First construct the Weihrauch reduction that proves C N ≤ W Count: Let the pre-processor H be the function sending some p ∈ dom(C 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). For the opposite direction, i.e. Count ≤ W C N use Lemma 4 and replace C N by max. Define the pre-processor H of a Weihrauch reduction Count ≤ W max as follows: This means that H(p) is a O(N) name of supp(p). Applying max will give the maximal element of the support. Define the post-processor K to be the function This function is computable and since 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 6 ([Pau07, Korollar 3.1.4.6]). The function min : N N → 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 7. Let X be a computable metric space. Then lim X :⊆ X N → X maps a converging sequence to its limit.
As shown in [BdBP12] and whenever Y is a subspace of X, then lim Y ≤ W lim X . As {0, 1} N embeds into any computable metric space considered in this paper apart from N, it suffices to consider the Weihrauch degree lim := lim {0,1} N corresponding to lim {0,1} N . The degree lim is also complete for the effectively Σ 0 2 -measurable functions [Bra05,PdB13].
To give more intuition as to why the Weihrauch degrees LPO * , C 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 In computable analysis LPO shows up as the Weihrauch degree of the equality test for real (or complex) numbers. 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 [Pau10]. The operator ⋄ introduced in [NP16] 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 [C N ] = LPO ⋄ . Define one last operator on the Weihrauch degrees by setting [f ] := f N . This operation was also investigated in [BG11b] and corresponds to a countable number of invocations of f all performed in parallel.

Representations of analytic functions
Recall that a function is analytic if it is locally given by a power series: The set of analytic functions is denoted by C ω (D). Each analytic function is continuous, i.e. C ω (D) ⊆ 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 [Ko91]). 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 [Mül95]).
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 [KMRZ15], [KS05], [Mül95]. 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 rm (0) of radius r m := 2 1 m+1 around zero. Note that U m+1 ⊆ U m and that the intersection of all U m is the unit disk. Recall from the introduction that the space C(D) of continuous functions is represented as a metric space (where C is identified with R 2 ). Definition 9. Let C ω (D) denote the represented space of analytic functions on D, where the representation is defined as follows: A function q ∈ N 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 ∈ C(D).
Note that the representation of C ω (D) arises from the restriction of the representation of continuous functions by adding discrete additional information. This information is quantified by the advice function Adv C ω :⊆ C(D) → N whose domain are the analytic functions and that on those is defined by This function turns up in the results of this paper. In the terminology of [KMRZ15], one would say that C ω (D) arises from the restriction C(D)| C ω (D) by enriching with the discrete advice Adv C ω . The topology induced by the representation of C ω (D) is well known and used in analysis: It can be constructed as a direct limit topology and makes C ω (D) a so called Silva-Space. For more information on this topology and its relation to computability and complexity theory also compare [KS05].
The set 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 10. Let O denote the represented space of germs around zero with radii of convergence greater than 1, where the representation is defined as follows: A function q ∈ N N is a name of a power series (a k ) k∈N , if and only if and n → q(n + 1) is a name of the sequence (a k ) k∈N as element of C N .
As above, this representation is related to the restriction of the representation of C N by means of an advice function Adv O :⊆ C N ⇒ N whose domain are the sequences with radius of convergence strictly larger than one and that is defined on those by Again, the topology induced by this representation is well known and used in analysis: It is the standard choice of a topology on the set of germs and can be introduced as a direct limit topology.
Proofs that the following holds can be found in [KMRZ15] or [Mül95]: Theorem 11 (computability of summation). The assignment A proof of the following can be found in [KMRZ15]: Theorem 12. Differentiation is computable as mapping from C ω (D) to C ω (D).

Summing power series
Summing a power series is not computable on C N . Recall that Adv O was the advice function of the representation 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 eq. (AG) on page 8). Theorem 11 states that summation is computable on O. Therefore, the advice function Adv O can not be computable. The following theorem classifies the difficulty of summing power series and Adv O in the sense of Weihrauch reductions.
Theorem 13. The following are Weihrauch-equivalent: • C N , that is: Closed choice on the naturals.
• Sum, that is: The partial mapping from C N to C(D) defined on the sequences with radius of convergence strictly larger than one by I.e. summing a power series.
• Adv O , that is: The function from eq. (AG) on page 8. I.e. obtaining the constant from the series.
Proof. Build a Weihrauch reduction circle: C N ≤ W Sum: Lemma 5 permits to replace C N by Count. The Weihrauch reduction Count ≤ W Sum can be constructed as follows: Let the preprocessor be a realizer of the computable mapping that assigns to p ∈ N N the sequence (a k ) k∈N ∈ C N defined by Note that p ∈ dom(Count) means that p has a finite support, and the radius of convergence of (a k ) k∈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∈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.
Sum ≤ W Adv O : Let the pre-processor be the identity. Note that an element of Adv O ((a k ) k∈N ) and a C N -name of (a k ) k∈N can easily be put together to an O-name of (a k ) k∈N . Thus the post-processor can be chosen to be the composition of this mapping and a realizer of the summation mapping on O, which is computable by Theorem 11.
Adv O ≤ W C N : Let the pre-processor be the function that maps a given name p of (a k ) k∈N ∈ C ω to an A(N)-name of the set Adv O ((a k ) k∈N ). Note that an enumeration of the complement of this set can be extracted from p as follows: For all k and m ∈ N dovetail the test |a k | > 2 − 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 Adv O ((a k ) k∈N ): If the above does not hold for any k, then |a k | ≤ 2 − k m+1 m for all k and m is an element of Adv O ((a k ) k∈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.

Differentiating analytic functions
In Section 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 [Mül95] 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 14. Germ, that is: The partial mapping from C(D) to C N defined on analytic functions by mapping them to their series expansion around zero, is computable.
Proof. Remember that the Cauchy integral formula states that for an analytic function f on the closed unit disk: It is well known that the integral is computable from a name of the function f ∈ C(D). This works uniformly in k.
The next theorem is very similar to Theorem 13. Both the advice function Adv C ω and computing a germ around a boundary point are shown to be Weihrauch equivalent to C N . Note that the coefficients of the series expansion (a k ) k∈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 15. The following are Weihrauch equivalent: • C N , that is closed choice on the naturals.
• Diff 1 , that is the partial mapping from C(D) to C defined on analytic functions by I.e. evaluating the derivative of an analytic function in 1.
• Adv C ω , that is the function from eq. (AC). I.e. obtaining the constant from the function.
Proof. By building a circle of Weihrauch reductions: C N ≤ W Diff 1 : Use Lemma 5 and show Count ≤ W Diff 1 instead. Let p be an element of the domain of Count. That is: supp(p) = {n ∈ N | p(n) > 0} is finite. Define a sequence of analytic functions f n : Figure 3). The sequence is carefully chosen such that 0 1 Figure 3: The functions f n .
Furthermore, it is computable as a sequence of functions from C(D).
Consider the function Note that this function can be computed from 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 in Therefore, the post-processor K(p, q) := q results in a Weihrauch reduction.
Diff 1 ≤ W Adv C ω : Let the pre-processor be the identity. An appropriate post-processor can be described as follows: Combine the return value of Adv C ω on the function f and the C(D)-name of f to an C ω (D)-name of f . Afterwards apply a realizer of the differentiation operator on C ω (D) which can be chosen computable by Theorem 12. Finally, obtain a C(D)-name of f ′ from the C ω (D)-name and evaluate it in 1.
Adv C ω ≤ W C N : Combine computable Germ : C(D) → C N , the classification Adv O ≡ W C N from Theorem 13 and computable (a k ) k∈N → x → k a k x k : O → C ω (D) from Theorem 11.
Recall from the introduction that C(D)| C ω (D) resp. C N | O denote the represented spaces obtained by restricting the representation of C(D) resp. C N to C ω (D), resp. O. Theorems 11, 13 and 15 and Lemma 14 are illustrated in fig. 4. 3 Polynomials

Polynomials as finite sequences
Consider the set 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 16. Let C[X] denote the represented space of polynomials, where the representation is defined as follows: p ∈ N N is a C[X]-name of P if p(0) ≥ deg(P ) and n → p(n + 1) is a C p(0)+1 -name of the first p(0) + 1 coefficients of P . Let C m [X] denote the set of monic polynomials over C, i.e. the polynomials with leading coefficient equal to one. Make C m [X] a represented space by restricting the representation of 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 C × := n∈N C n as follows: A function p is a name of x ∈ C × if and only if x ∈ C p(0) and n → p(n + 1) is a C p(0) name of x. Note that the construction of the representation of C[X] is very similar. The only difference being that in C × vectors with leading zeros are not identified with shorter vectors. Now, the task of finding the zeros in an unordered way can be formalized by computing the multivalued function that maps a polynomial to the set of lists of its zeros, each appearing according to its multiplicities: The importance of C m [X] is reflected in the following well known lemma: Lemma 17. Restricted to C m [X] the mapping Zeros is computable.
Proof sketch. This is well known. A nice description of an algorithm to do this can for instance be found in [LCL02], 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 C × . Get an approximation to each of the coefficients with precision 1 2 . Since the highest coefficient will be one, it can be found from this approximation.
The main difficulty in computing the zeros of an arbitrary polynomial is to find its degree. A polynomial of known degree can be converted to a monic polynomial with the same zeros by scaling. On C[X] consider the following functions: • deg: The function assigning to a polynomial its degree. 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 19. The following are Weihrauch-equivalent to LPO * : • deg, that is the mapping from C[X] to N defined in the obvious way.
• Monic, that is the mapping from C[X] to C m [X] defined on the non-zero polynomials by • Zeros :⊆ C[X] → C × , mapping a non-zero polynomial to the set of its zeros, each appearing according to its multiplicity.
Proof. Note that LPO * is Weihrauch equivalent to the function min : N N → N by Proposition 6. Proceed by building a chain of Weihrauch equivalences: min ≡ W deg: To show 1 min ≤ W deg, note that given p ∈ N N and n ≤ p(0), we can compute a n defined by a n = 2 − min{i|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 := p(0) i=0 a i x i , and find that min p = p(0) − deg P . On the other hand to see deg ≤ W min let p be a 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 ≡ W Monic: For deg ≤ W 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 18. Monic ≤ 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 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 17. Denote the versions of the degree resp. degree bound functions that take continuous resp. analytic functions by deg C(D) , Dbnd C(D) resp. deg C ω (D) , Dbnd C ω (D) . When polynomials are regarded as functions, resp. analytic functions, these maps become harder to compute.

Polynomials as functions
Theorem 20. The following are Weihrauch-equivalent: • C N , that is: Closed choice on the naturals.
• Dbnd C ω (D) , that is: Given an analytic function which is a polynomial, find an upper bound of its degree.
• deg C ω (D) , that is: Given an analytic function which is a polynomial, find its degree.
Proof. Build a circle of Weihrauch reductions: : Use Lemma 4 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 C ω (D)-name of the function f corresponding to P can be computed from p: A 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 Adv C ω (f ). Let the pre-processor H be a realizer of this assignment. Obviously Dbnd C ω (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.
Dbnd C ω (D) ≤ W deg C ω (D) : Is trivial: Using the identity as pre-processor and the second projection as post-processor will do. deg C ω (D) ≤ W C N : By Lemma 4 replace C N with max. Let p be a C ω (D)-name of the function corresponding to some polynomial P . Shifting the name will result in a C(D)-name of P and by Lemma 14 a C 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 C that was fixed for the definition of the representation of C. Define the pre-processor H as follows: This pre-processor is computable and 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 15 and state this as theorem: Theorem 21. The following are Weihrauch-equivalent to C N : • deg C(D) , that is: Given a continuous function which happens to be a polynomial, find its degree.
• Dbnd C(D) , that is: Given an analytic function which happens to be a polynomial, find an upper bound of its degree.
• Adv C ω | 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 C N follows directly from the proofs of Theorem 20. For the last item first note, that the Weihrauch reduction Adv C ω ≤ W C N constructed in Theorem 15 is also a Weihrauch reduction showing Adv C ω | C[X] ≤ W C N . This is generally true for restrictions. On the other hand, the sequence f n of analytic functions in the proof of the reduction C N ≤ W Adv C ω 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 Dbnd C ω (D) may be regarded as the advice function of C[X] over C ω (D): The representation where a function p is a name of a polynomial P if and only if p(0) = Dbnd C ω (D) and n → p(n+1) is a C ω (D)-name of P is computationally equivalent to the representation of C[X]. The same way, Dbnd C(D) can be considered an advice function of C[X] over C(D). Figure 5 illustrates Lemma 17, Proposition 6 and Theorems 20 and 21.

Test function spaces
This section considers three spaces of test functions as a final example. These spaces are in particular relevant as their dual spaces with respect to the topologies introduced below are the space D ′ of distributions, S ′ of tempered distributions and E ′ of distributions with compact support. The spaces D, S and E are complete locally convex spaces. Recall that a topological vector space is called locally convex if its topology is the initial topology of a family ( · i ) i∈I of semi-norms. Set I := N × N. In the case of E the semi-norms can be used. For S use the semi-norms defined via Finally note that D can be regarded as the union of all the spaces D K of smooth functions with support contained in the compact set K. The Spaces D K can be regarded topological vector spaces as the space E above. Define a collection of semi-norms on D as follows: A semi-norm · on D is contained in the collection if and only if it restricts to a continuous semi-norm on each of the spaces D K .
With respect to the locally convex topologies defined above the inclusions ι S D : D ֒→ S and ι E S : S ֒→ E are continuous. The corresponding subspace topologies, however, are strictly coarser. The index set of the families of semi-norms on E and S are both N × N and can be identified with N using the pairing function from the introduction. This makes these spaces Fréchet spaces. Note that a Fréchet space can always be equipped with a translation invariant metric by setting where ( · i ) i∈N is a countable family of semi-norms inducing the topology. On D there does not exist a countable family of semi norms that induces the right topology: It is not metrizable.

Representing test functions
For representing these spaces first turn to E and S, which can be handled as metric spaces. For the space E of smooth functions choose as dense sub sequence the polynomials with rational coefficients. Equip E with the corresponding metric representation.
Lemma 22. An element of E is computable if and only if the mapping is computable.
Proof. First assume that the mapping is computable 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: Computability on the space S of Schwartz functions is investigated in [ZW03] 2 . Note that the rational polynomials are not contained in the space 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 S is to effectivize the definition directly. Definition 24. Let S denote the represented space of Schwartz functions, where the representation is defined as follows: A function q ∈ N N is a name of a Schwartz function f if for all d, m, k ≤ n it holds that and n → q(2n + 1) is a name of f ∈ E.
A proof that this representation is computably equivalent to the metric representation of S can be found as Lemma 5.3 (2) in [ZW03]. This representation adds information to an 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 D not being metrizable does not prohibit the existence of a well behaved representation. For instance also the space C ω (D) of analytic functions is also not metrizable. The topology of 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 D is for instance studied in [ZW03,KS05].
Definition 25. Let D denote the represented space of bump functions, where the representation is defined as follows: A function q ∈ N 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 ∈ E. Again, the representation of D arises from subspace representation of E by enriching with discrete advice. The advice function given is by This can be pieced together from [ZW03] or [KMRZ15]. We give a direct proof.
Proof. That 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 ′ and an easy induction show that for |x| < 1 where p n are integer polynomials recursively defined as follows: These formulas show that the mapping (m, x) → f (m) (x) is computable. The computability of f in E now follows from Lemma 22 and to find a computable D-name it suffices to add 1 to the front of the computable E-name.

Inclusions
We are now ready to investigate the inclusion maps and their inverses between these spaces. Follow [ZW03,Proposition 5.4] to see that the inclusion ι S D : D ֒→ S is computable: Given a D-name q of F obtain the values of an S-name of f (compare Definition 24) on even numbers by 2n → q(0) and the values on odd numbers by 2n + 1 → q(n + 1). That the map ι E S : S ֒→ E is computable follows from comparing the metric representations. Note that ι S D and ι E S are injective thus they have unique partial sections π D S and π S E with domains D ⊆ S resp. S ⊆ E. As mentioned before the subspace topologies are strictly finer, thus the sections are not continuous.
Proposition 28. The following are Weihrauch-equivalent to C N : • π D S :⊆ S → D, the partial inverse of the embedding D ֒→ S. • π D E := π D S • π S E :⊆ E → D, the partial inverse of the embedding D ֒→ E.
Proof. Exhibit a cycle of Weihrauch reductions: C N ≤ W π D S : Recall, that by Lemma 4 the function C N may be replaced the function Bound :⊆ O(N) ⇒ N defined on the finite sets in the obvious way.
Recall the function f from Example 26 and its shifts f λ (x) := f (x − λ). Let the preprocessor H be a realizer of the function mapping a string function p to the function Let g k denote the k-th partial sum of g. Thus Here the latter sum is obviously smaller than 2 −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 27. Now the sequence (f i ) i∈N is a computable element of D N and therefore also of S N and the sequence g k can be computed from this sequence and p. This suffices to compute a 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.
π D S ≤ W π D E : Follows from the computability of π S E . π D E ≤ W C N : Assume we are given an E-name of some f ∈ D. Let (q n ) n∈N be a standard enumeration of the rationals. Let the pre-processor H map f to the set the set This set is not empty since any bound on the support of 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 -approximation valid on [−q m , q m ] from the E-name and evaluate it on q m with this the same precision to witness the violation. Therefore H is computable.
Applying C 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 29. For the partial inverse π S E :⊆ E → S of the inclusion S ֒→ E it holds that π S E = lim, i.e. that π S E ≡ W C N N .
Proof. First prove π S E ≤ W C N N . To obtain a S-name of f from a 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| ≥ 2 an . Each a n can be found using one instance of C 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 S-name of f , from an E-name of f is Weihrauch reducible to C N N . For the other direction by Lemma 5 it suffices to prove Bound N ≤ W π S E . Note that Bound N produces from p ∈ N N such that ∀m ∈ N : max{p( n, m ) | n ∈ N} a q ∈ N N such that q(m) is a bound of the maximum above.
Let f be the function from Example 26 and f i its integer shifts. For i, k ∈ N let m i,k denote the smallest integer such that p( m i,k , k ) = i. Consider the following sequence of functions: Due to the assumption p ∈ dom(Bound N ) the functions g k have compact support. Furthermore, from the bounds from Lemma 27 it is easy to see that the function g := k∈N g k fulfills g S d,m ≤ i∈img(p) (1 + m i,k + i) d (17m) 4m < ∞ and is therefore contained in S.
On the other hand all the values of the g k are positive and therefore g(m i,k + p( i, k )) ≥ g k (m i,k + p( i, k )) ≥ 2 −k Therefore, if q is an S-name of g, then for all i it holds that q(2k) ≥ p( i, k ) and q(2·) is a valid return value for Bound N .
Another important representative of the degree lim is the Turing jump J : {0, 1} N → {0, 1} N mapping p to the Halting problem relative to p. As shown in [BG11b], J ∈ lim (essentially by a uniform version of Shoenfields Limit Lemma). This has the important consequence that whenever [T ] = lim, then there is some computable point x ∈ dom(T ) such that T (x) computes the Halting problem [Bra99].
Corollary 30. There exists a function f : R → R which is computable as an element of E, and which also is an element of S, but as the latter, computes the Halting problem.

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 C 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 [PER83,PEZ97], 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 [WZ02] 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 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 (R) function is equivalent to lim [Ste89].
We should point out that many of the results proved in Section 2 work for more general domains: Lemma 14 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 15 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.