Outline of Partial Computability in Computable Topology

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10307)

Abstract

In the framework of computable topology we investigate properties of partial computable functions, in particular complexity of various problems in computable analysis in terms of index sets, the effective Borel and Lusin hierarchies.

1 Introduction

Classical computability theory has a long term tradition to study partial computable functions [16, 17]. While the class of effective topological spaces, in particular computable Polish spaces, is one of the main objects for investigation in the Effective Descriptive Set Theory (EDST) [3, 14, 19] the class of partial computable functions over effective topological spaces has not been deeply investigated yet. In this paper we address natural problems related to partial computable functions.

The paper is organised as follows. Sections 2 and 3 contain preliminaries and basic background. In Sect. 3.2 we introduce the class of effectively enumerable \(T_0\)–spaces with point recovering which contains computable Polish spaces among others and plays an important role in the description of the images of surjective partial computable functions. In Sect. 4 we recall the definition of a partial computable function in the settings of effectively enumerable spaces that is motivated by the following observations. It is well-known that in the domain–theoretic framework a partial computable real function is effectively continuous on its domain [2] and the domain is a \(\varPi ^0_2[\mathbb {R}]\) in the effective Borel hierarchy [13] (see also [6]). On the computable Polish spaces this definition agrees with several known approaches to partial computability [4, 5, 21]. We show that the class \({\mathcal PCF}\) of partial computable functions over effectively enumerable spaces is closed under composition. In Sect. 5 we work with computable Polish spaces. After showing the correspondence between the partial computable functions and the classical enumeration operators [16] we prove the existence of the principal computable numbering of \({\mathcal PCF}\) for computable Polish spaces. This allows us to study the complexity of index sets of important problems in computable analysis such as function equality and root verification. Then we turn to an investigation of images of partial computable functions. First we show the existence of a partial computable surjection between any computable Polish space and any effectively enumerable topological space with point recovering. Using this result we prove that for any computable Polish spaces \(\mathcal {X}\) and \(\mathcal {Y}\), the images of a partial computable functions \(f:\mathcal {X}\rightarrow \mathcal {Y}\) are exactly \(\varSigma ^1_1\)–subsets of Y.

2 Preliminaries

We refer the reader to [16, 17] for basic definitions and fundamental concepts of recursion theory, to [3, 7, 14] for basic definitions and fundamental concepts of DST and EDST, in particular, for the definitions of the effective Borel and Lusin hierarchies. In the major part of our paper we work with the following notion of a computable Polish space. A computable Polish space is a complete separable metric space \(\mathcal {X}\) without isolated points and with a metric d such that there is a countable dense set \({\mathcal B} = \{ b_1,\,b_2,\dots \}\) called a basis of X that makes the following two relations \( \{(n,m,i) \mid d(b_n,b_m) < q_i,\ q_i\in \mathbb {Q}\}\)\( \{(n,m,i) \mid d(b_n,b_m) >q_i,\ q_i\in \mathbb {Q}\}\) computably enumerable (c.f. [4, 15, 21]). The standard notations B(xy) and \({\overline{ B}(x,y)}\) are used for open and closed balls with the center x and the radius y. We consider this concept in the framework of effectively enumerable spaces (see Sect. 3.1). We work with the Baire space \({\mathcal N}=(\omega ^\omega ,\alpha _{\mathcal N})\), the Cantor space \({\mathcal C}=(2^\omega ,\alpha _{\mathcal C})\) with the standard topologies and numberings of the bases.

3 Basic Background

3.1 Effectively Enumerable Topological Spaces

Now we recall the notion of an effectively enumerable topological space. Let \(\left( X,\tau ,\alpha \right) \) be a topological space, where X is a non-empty set, \(B_\tau \subseteq 2^{X}\) is a base of the topology \(\tau \) and \(\alpha :\omega \rightarrow B_\tau \) is a numbering.

Definition 1

[11]. A topological space \(\left( X,\tau ,\alpha \right) \) is effectively enumerable if the following conditions hold.

  1. (1)
    There exists a computable function \(g:\omega \times \omega \times \omega \rightarrow \omega \) such that
    $$\begin{aligned} \alpha ( i)\cap \alpha ( j)=\bigcup _{n\in \omega }\alpha ( g(i,j,n)). \end{aligned}$$
     
  2. (2)

    The set \(\{ i| \alpha ( i)\ne \emptyset \} \) is computably enumerable.

     
For a computable Polish space \(\left( X,{\mathcal B}, d\right) \) in a naturale way we define the numbering of the base of the standard topology as follows. First we fix a computable numbering \(\alpha ^*:\omega \setminus \{0\}\rightarrow \left( \omega \setminus \{0\}\right) \times \mathbb {Q}^{+}\). Then,
$$\begin{aligned}&\alpha (0)=\emptyset ,\\&\alpha (i)= B(b_{n},r) \,\,\,\hbox {if}\,\,\, i>0 \,\hbox { and }\, \alpha ^*(i)=(n,r). \end{aligned}$$
For \(\alpha ^*(i)=(n,r)\) later we use notation \(n=u(i)\) and \(r=r_i\).
It is easy to see that \((X,\tau ,\alpha )\) is an effectively enumerable topological space. Therefore we consider the computable Polish spaces as a proper subclass of the effectively enumerable topological spaces. For details we refer to [11]. In this paper for such effectively enumerable topological space \((X,\tau ,\alpha )\) we use the standard relations on the indices of basic balls defined as follows:
$$\begin{aligned}&i\prec _X j\leftrightharpoons d(b_{u(i)},b_{u(j)})+r_i<r_j,\\&i \mid _X j \leftrightharpoons d(b_{u(i)},b_{u(j)})>r_i+r_j, \end{aligned}$$
for details see, e.g., [18]. The relation \(\prec _X\) is irreflexive and transitive and if \(i\prec _X j\) then \(\mathrm{cl}(\alpha (i))\subseteq \alpha (j)\). It is easy to see that these relations are computably enumerable on the indices of basic balls. We recall the notion of an effectively open set.

Definition 2

Let \(\left( X,\tau ,\alpha \right) \) be an effectively enumerable topological space. A set \(A\subseteq X\) is effectively open if there exists a computably enumerable set \(V\subseteq \omega \) such that \( A=\bigcup _{n\in V}\alpha (n).\)

It is worth noting the set of all effectively open subsets of X is closed under intersection and union since the class of effectively enumerable sets is a lattice.

3.2 Effectively Enumerable \(T_0\)–spaces with Point Recovering

In this section we introduce effectively enumerable \(T_0\)–spaces with point recovering. Further on we will see that they play an important role in the description of images of surjective partial computable functions.

Definition 3

Let \({\mathcal Y}=\left( Y,\lambda ,\beta \right) \) be an effectively enumerable \(T_0\)–space. We say that \({\mathcal Y}\) admits point recovering if \(\{A_x\mid x\in Y\}\) is a \(\varSigma ^1_1\)-subset of \(\mathcal {P}(\omega )\), where \(A_x=\{n\mid x\in \beta (n)\}\). Here \(\mathcal {P}(\omega )\) is considered as the Cantor space \(\mathcal {C}\).

Theorem 1

Every computable Polish space \( {\mathcal X}=\left( X,\tau ,\alpha \right) \) admits point recovering. Moreover, \(\{A_x\mid x\in X\}\) is a \(\varPi ^0_2\)–subset of \({\mathcal C}\).

Proof

For a computable Polish space \( {\mathcal X}=\left( X,\tau ,\alpha \right) \), to prove that the set \(\{A_x\mid x\in X\}\) is a \(\varPi ^0_2\)-set in the effective Borel hierarchy on \(\mathcal {C}\) let us observe that, for \(I\subseteq \omega \), \((\exists x\in X)\, I=A_x\) if and only if the following conditions hold.
$$\begin{aligned} \hbox {Cond 1: }&(\forall k\in \omega ) (\exists m\in \omega ) (\exists n\in \omega ) (\exists r\in \mathbb {Q}^{+} ) (\exists l\in \omega ) (\exists r^\prime \in \mathbb {Q}^{+} ) \Big ( k\in I\rightarrow \\&\big ( \alpha ^*(k)=(n,r)\wedge \alpha ^*(m)=(l,r^\prime )\wedge r^\prime <\frac{r}{2}\wedge m\prec _X k \wedge m\in I \big )\Big )\\&\hbox {where}\,\,\, \alpha ^*\,\, \hbox {is defined as on the page 2}.\\ \hbox {Cond 2: }&(\forall k\in \omega )(\forall m\in \omega )\Big (\big ( k\in I\wedge m\in I\big )\rightarrow \alpha (k)\cap \alpha (m)\ne \emptyset \Big ).\\ \hbox {Cond 3: }&I\ne \emptyset .\\ \hbox {Cond 4: }&(\forall k\in \omega )(\forall m\in \omega )\Big (\big ( k\in I\wedge k\prec _X m\big )\rightarrow m\in I\Big ). \end{aligned}$$
Let us denote \(\varPsi (I)=\hbox {Cond 1}(I)\wedge \hbox {Cond 2}(I)\wedge \hbox {Cond 3}(I)\wedge \hbox {Cond 4}(I)\). By definition, \(\varPsi \) is in \(\varPi ^0_2\)-form.    \(\square \)

Remark 1

It is easy to see that the conditions \(\hbox {Cond 1}(I)-\hbox {Cond 4}(I)\) in Theorem 1 can be rewritten in the special form
$$\begin{aligned} \forall \bar{k}\big ( \eta (\bar{k}, I)\vee \varPhi (\bar{k},I)\big ), \end{aligned}$$
where \(\eta \) is a disjunction of formulas of the kind \(k_i\not \in I\) and \(\varPhi \) is a computable disjunction (possible infinite) of \(\exists \)–formulas with positive occurrences of I i.e. \(\varPhi \) does not contain formulas of the kind \(k_i\not \in I\). Indeed, for example, \(\hbox {Cond 4}(I)\) can be rewritten as follows:
$$\begin{aligned} (\forall k\in \omega )(\forall m\in \omega )\Big ( k\not \in I\vee m\in I\vee \lnot \, k\prec _X m\Big ). \end{aligned}$$
Since \(\lnot \, k\prec _X m\leftrightharpoons (\forall l\in \omega )\, Q(m,k,l)\), where Q(mkl) defines computable subset of \(\omega ^3\), we have
$$\begin{aligned} \hbox {Cond 4 }(I)\leftrightarrow (\forall k\in \omega )(\forall m\in \omega ) (\forall l\in \omega )\Big ( k\not \in I\vee m\in I\vee Q(m,k,l)\Big ). \end{aligned}$$
Later we use this form in the proof of Theorem 2.

Proposition 1

There exists effectively enumerable topological space that does not admit point recovering.

Proof

Let us consider \({\mathcal C}\) as a subset of \(\mathbb {R}\) and take \(Y\subseteq {\mathcal C}\) such that \(\{A_x\mid x\in Y\}\) is non-analytic. It is possible to do since the number of subsets \(Y\subseteq {\mathcal C}\) such that \(\{A_x\mid x\in Y\}\) is analytic is no more than continuum. Then put \(X=\mathbb {R}\setminus Y\) and \({\mathcal X}=(X,\tau _X)\), where the topology \(\tau _X\) is induced by \(\tau _\mathbb {R}\).

It is clear that \({\mathcal X}\) is an effectively enumerable topological space since \({\mathcal C}\) is nowhere dense in \(\mathbb {R}\). Taking into account that \(\{A_x\mid x\in X\}=\{A_x\mid x\in \mathbb {R}\}\setminus \{A_x\mid x\in Y\}\) we conclude that \({\mathcal X}\) does not admit point recovering.    \(\square \)

4 \({\mathcal PCF}\) over Effectively Enumerable Topological Spaces

In this section we recall the notion of a partial computable function \(f:\mathcal {X}\rightarrow \mathcal {Y}\), where \( {\mathcal X}=\left( X,\tau _X,\alpha \right) \) is an effectively enumerable topological space and \( {\mathcal Y}=\left( Y,\tau _Y,\beta \right) \) is an effectively enumerable \(T_0\)–space.

Definition 4

[8]. Let \(\mathcal {X}=\left( X,\tau _X,\alpha \right) \) be an effectively enumerable topological space and \(\mathcal {Y}=\left( Y,\tau _Y,\beta \right) \) be an effectively enumerable \(T_0\)–space. A function \(f:\mathcal {X}\rightarrow \mathcal {Y}\) is called partial computable (pcf) if there exist a computable sequence of effectively open sets \(\{O_n\}_{n\in \omega }\) and a computable function \(H:\omega ^2\rightarrow \omega \) such that
  1. 1.

    \(\mathrm {dom}(f)=\bigcap _{n\in \omega } O_n \) and

     
  2. 2.

    \(f^{-1}(\beta (m))=\bigcup _{i\in \omega } \alpha (H(m,i))\cap \mathrm{dom}(f).\)

     

In the following if a partial computable function f is everywhere defined we say f is a total computable function. For effectively enumerable topological spaces \({\mathcal X}\) and effectively enumerable \(T_0\)–space \({\mathcal Y}\) we denote the set of partial computable functions \(f:\mathcal {X}\rightarrow \mathcal {Y}\) as \({\mathcal PCF}_\mathcal {XY}\).

Remark 2

It is worth noting that for computable Polish spaces, Definition 4 corresponds to the results in [5], where partial TTE–computable functions have been described via effective continuity and \(\varPi ^0_2\)-domains. Moreover, for partial real functions, the classes of \({\mathcal PCF}_{\mathbb {R}\mathbb {R}}\), the TTE–computable [20], the domain-computable [2] and the majorant–computable functions [9, 12] coincide.

The following proposition is a straightforward corollary of Definition 4.

Proposition 2

Let \( {\mathcal X}=\left( X,\tau ,\alpha \right) \) be an effectively enumerable topological space and \({\mathcal Y}=\left( Y,\lambda ,\beta \right) \) be an effectively enumerable \(T_0\)-space.

  1. 1.

    If \(f:\mathcal {X}\rightarrow \mathcal {Y}\) is a pcf, then f is continuous at every points of \(\mathrm{dom}(f)\).

     
  2. 2.

    A total function \(f:\mathcal {X}\rightarrow \mathcal {Y}\) is computable if and only if it is effectively continuous.

     

Proposition 3

[8]. Over effectively enumerable \(T_0\)–spaces, \({\mathcal PCF}\) is closed under composition.

5 \({\mathcal PCF}\) over Computable Polish Spaces

In this section we consider partial computable functions over the subclass of effectively enumerable topological spaces which is the class of computable Polish spaces. We give a characterisation of partial computability in terms of classical enumeration operators (see e.g. [16]). Then based on this characterisation we show the existence of the principal computable numbering of \({\mathcal PCF}_{\mathcal {XY}}\) and compute the complexity of some problems such as function equality and root verification.

5.1 Characterisation of \({\mathcal PCF}_\mathcal {XY}\)

Definition 5

[16]. A function \(\varGamma _e:{\mathcal P}(\omega )\rightarrow {\mathcal P}(\omega )\) is called an enumeration operator if
$$\begin{aligned} \varGamma _e(A)=B\leftrightarrow B=\{ j\mid \exists i \, c(i,j)\in W_e, \ D_i\subseteq A\}, \end{aligned}$$
where \(W_e\) is the e-th computably enumerable set, and \(D_i\) is the i-th finite set. A function \(\varGamma _e:{\mathcal P}(\omega )\rightarrow {\mathcal P}(\omega )\) is called a reduced enumeration operator if
$$\begin{aligned} \varGamma _e(A)=B\leftrightarrow B=\{ j\mid (\exists i \in A) \, c(i,j)\in W_e\}, \end{aligned}$$
where \(W_e\) is the e-th computably enumerable set.

Now we recall the notion of a computable function introduced in [11].

Definition 6

[11]. Let \( {\mathcal X}=\left( X,\tau ,\alpha \right) \) be an effectively enumerable topological space and \({\mathcal Y}=\left( Y,\lambda ,\beta \right) \) be an effectively enumerable \(T_0\)-space.

A partial function \(f:\mathcal {X}\rightarrow \mathcal {Y}\) is called computable if there exists an enumeration operator \(\varGamma _e:{\mathcal P}(\omega )\rightarrow {\mathcal P}(\omega )\) such that, for every \(x\in X\),
  1. 1.
    If \(x\in dom(f)\) then
    $$\begin{aligned} \varGamma _e(\{i\in \omega |x\in \alpha ( i)\})=\{j\in \omega \mid f(x)\in \beta ( j)\}. \end{aligned}$$
     
  2. 2.
    If \(x \not \in dom(f)\) then, for all \(y \in Y\),
    $$\begin{aligned} \bigcap _{j\in \omega } \{ \beta ( j) | j \in \varGamma _e (A_x) \} \ne \bigcap _{j\in \omega } \{\beta ( j) | j \in B_y \}, \end{aligned}$$
    where \(A_x = \{i \in \omega | x \in \alpha ( i )\},\ B_y = \{ j \in \omega | y \in \beta (j) \}\).
     

In this case we say that \(\varGamma _e\) completely defines the function f.

Remark 3

It is worth noting that if we work with effectively enumerable topological spaces then a function is computable if and only if there exists a reduced enumeration operator satisfying the requirements of Definition 6.

Proposition 4

Let \(\varGamma _e\) be an enumeration operator, \( {\mathcal X}=\left( X,\tau ,\alpha \right) \) and \({\mathcal Y}=\left( Y,\lambda ,\beta \right) \) be computable Polish spaces. Then \(E=\{x\mid \varPsi (\varGamma _e(A_x))\}\) is a \(\varPi ^0_2\)-subset of X, where \(\varPsi \) is a \(\varPi ^0_2\)-condition from Theorem 1. Moreover, the function \(f:{\mathcal X}\rightarrow {\mathcal Y}\) defined as follows: \(\mathrm{dom}(f)=E\) and, for \( x\in \mathrm{dom}(f)\), \(f(x)=y\leftrightarrow \varGamma _e(A_x)=B_y\) is a partial computable function.

Proof

Let us show that the condition \(\varPsi (\varGamma _e(A_x))\) defines a \(\varPi ^0_2\)-subset of X. From Remark 1 it follows that \(\varPsi (I)\) is a conjunction of \(\varPi ^0_2\)-formulas in the form
$$\begin{aligned} \forall \bar{k}\big ( \bigvee _{i\in D} k_i\not \in I \vee \varPhi (\bar{k},I)\big ), \end{aligned}$$
where D is a finite subset of the indices of \(\bar{k}\) and \(\varPhi \) is a computable disjunction of \(\exists \)–formulas with positive occurrences of I. Therefore, for \(i=1,\dots ,4\) every \(\hbox {Cond}\, i(\varGamma _e(A_x))\) defines the set
$$\begin{aligned}&\{x\mid \forall \bar{k}\, x\in A^i_{\bar{k}}\}, \hbox { where} \\&A^i_{\bar{k}}=\{x\mid \bigvee _{j\in D} k_j\not \in \varGamma _e(A_x) \vee \varPhi _i(\bar{k},\varGamma _e(A_x))\}\\&= \{x\mid \bigvee _{j\in D} k_j\not \in \varGamma _e(A_x)\}\cup \{x\mid \varPhi _i(\bar{k},\varGamma _e(A_x))\}. \end{aligned}$$
Let us make a close look at \(A^i_{\bar{k}}\). The first element of the union is a \(\varPi ^0_1\)-subset of \(\mathcal {X}\) and the second one is a \(\varSigma ^0_1\)-subset of \(\mathcal {X}\) according to the following observation.
By the definition of the enumeration operator \(\varGamma _e\),
$$\begin{aligned} \{x\mid k\in \varGamma _e(A_x)\}=\bigcup _{<k,j>\in W_e}\bigcap _{j\in D_k}\alpha (j). \end{aligned}$$
Therefore it is effectively open and its complement is co-effectively closed. As corollary every set \(\{x\mid \hbox {Cond}\, i(\varGamma _e(A_x))\}\) is a \(\varPi ^0_2\)-subset of \(\mathcal {X}\).
Let us show that f is a partial computable function. It is worth noting that \(x\in \mathrm{dom }(f)\leftrightarrow \varGamma _e(A_x)\in \{B_y\mid y\in Y \} \leftrightarrow \varPsi (\varGamma _e(A_x))\). So \(\mathrm{dom }(f)\) is a \(\varPi ^0_2\)-subset of X. For \(x\in \mathrm{dom}(f)\),
$$\begin{aligned}&x\in f^{-1} (\beta ( j))\leftrightarrow f(x)\in \beta ( j) \leftrightarrow \exists k \left( k\in \{i|x\in \alpha ( i)\} \wedge c(k,j)\in W_e \right) \\&\leftrightarrow \bigvee _{c(k,j)\in W_e} x\in \alpha ( k ) \leftrightarrow x\in \bigcup _{ m\in \omega } \alpha ( H(j,m)) \end{aligned}$$
for a computable function \(H:\omega \times \omega \rightarrow \omega \). Therefore f is a partial computable function.    \(\square \)

Further on if \(\varGamma _e\) and f satisfy the conditions of Proposition 4 we say that \(\varGamma _e\)definesf.

Theorem 2

Let \( {\mathcal X}=\left( X,\tau ,\alpha \right) \) and \({\mathcal Y}=\left( Y,\lambda ,\beta \right) \) be computable Polish spaces. A function \(f:\mathcal {X}\rightarrow \mathcal {Y}\) is computable if and only if it is partial computable.

Proof

\((\rightarrow )\)The claim follows from Proposition 4.

\((\leftarrow )\) Now suppose, \(\mathrm {dom}(f)=\bigcap _{n\in \omega } O_n \) and, for \(x\in \mathrm{dom}(f)\), \( f(x)\in \beta ( n)\leftrightarrow x\in \bigcup _{i\in \omega }\alpha (H(n,i))\), where \(\{O_n\}_{n\in \omega }\) is a computable sequence of effectively open sets such that \(O_{n+1}\subseteq O_n\) and \(H:\omega ^2\rightarrow \omega \) is a computable function. It is worth noting that, for all \(n\in \omega \) and \(i\in \omega \), \(O_n\cap \alpha (H(n,i))\) is an effectively open set. So, \(O_n\cap \alpha (H(n,i))=\bigcup _{t\in T_{ni}}\alpha (t)\), where \(n\in \omega \), \(i\in \omega \) and \(\{T_{ni}\}_{n,\,i\in \omega }\) is a computable sequence of c.e. sets. Put
$$\begin{aligned} W_e=\{ c(t,n)\mid (\exists \, i\in \omega )\, t\in T_{ni}\}. \end{aligned}$$
Let \(\varGamma _e\) be a reduced enumeration operator that corresponds to \(W_e\). By Proposition 4 this operator defines a function \(f_{\varGamma _e}\). Let us show that \(f=f_{\varGamma _e}\). We first prove that \(\mathrm {dom}(f)=\mathrm {dom}(f_{\varGamma _e})\). If \(x\in \bigcap _{n\in \omega } O_n\) then, by construction, \(\varGamma _e(A_x)=B_{f(x)}\). Indeed, let \(n\in \omega \) be such that \(f(x)\in \beta (n)\). By definition, \((\exists i\in \omega )\, x\in \alpha (H(n,i))\). This means that \(x\in \alpha (t)\) for \(t\in T_{ni}\), therefore \(n\in \varGamma _e(A_x)\). Conversely, if \(n\in \varGamma _e(A_x)\) then \((\exists i\in \omega )(\exists t\in T_{ni})\, f(x)\in \beta (n)\). So \(\varGamma _e(A_x)=B_{f(x)}\) and \(x\in \mathrm {dom}(f_\varGamma )\). So \(\mathrm {dom}(f)\subseteq \mathrm {dom}(f_{\varGamma _e})\).

If \(x\not \in \bigcap _{n\in \omega } O_n\) then there exists \(k\in \omega \) such that \(x\not \in O_n\) for all \(n\ge k\). In other words, \( x\not \in \bigcup _{t\in T_{ni}}\alpha (t)\) for all \(n\ge k\). This means that, for all \(n\ge k\), \(\lnot (\exists t\in T_{ni})\, x\in \alpha (t)\), i.e., \(n\not \in \varGamma _e(A_x)\). Therefore \(\varGamma _e(A_x)\) is finite and \(B=\cap \{\beta (j)\mid j\in \varGamma _e(A_x)\}\) is a finite intersection of basic open balls. Since we consider spaces without isolated points, \(B\ne \cap \{\beta (j)\mid j\in B_y\}=\{y\}\) for any \(y\in Y\). In particular, \(x\not \in \mathrm {dom}(f_{\varGamma _e})\).

Now if \(x\in \mathrm{dom}(f)=\mathrm{dom}(f_{\varGamma _e})\) then, by the definitions of f and \(\varGamma \),
$$\begin{aligned} \varGamma (A_x)=\{j|\exists s\, H(j,s)\in A_x\} = \{j| x\in f^{-1}(\beta ( j)\}=\{j| f(x)\in \beta ( j)\}. \end{aligned}$$
Therefore \(B_{f(x)}=B_{f_\varGamma (x)}\). Since any point y is uniquely defined by the set of basic neighborhoods, \(f(x)=f_\varGamma (x)\). So \(\varGamma _e\) completely defines f.    \(\square \)

5.2 Index Sets for \({\mathcal PCF}_\mathcal {XY}\)

In this section we show that there exists a principal computable numbering of \({\mathcal PCF}_{\mathcal {XY}}\) for computable Polish spaces \(\mathcal {X}\) and \(\mathcal {Y}\). With respect to this principal computable numbering we investigate complexity of important problems such as totality and root verification. It turns out that for some problems the corresponding complexity does not depend on the choice of a computable Polish space while for other ones the corresponding choice plays a crucial role.

A function \(\gamma :\omega \rightarrow {\mathcal PCF}_\mathcal {XY}\) is called a numbering of \({\mathcal PCF}_\mathcal {XY}\) if \(\{\gamma ( n)\mid {n\in \omega }\}={\mathcal PCF}_\mathcal {XY}\). A numbering \(\gamma :\omega \rightarrow {\mathcal PCF}_\mathcal {XY}\) is called computableif \(\varGamma :\omega \times \mathcal {X}\rightarrow \mathcal {Y}\) such that \(\varGamma (n,x)=\gamma (n)(x)\) is a partial computable function. The numbering \(\gamma \) is called principal computable if it is computable and every computable numbering \(\xi \) is computably reducible to \(\gamma \). It is worth noting that these definitions agree with the notions of computable and principal computable numberings of \(A\subseteq \mathcal {P}(\omega )\) [1]. The following proposition is a straightforward corollary of Proposition 4 and Theorem 2.

Proposition 5

There exists the principal computable numbering \(\gamma \) of \({\mathcal PCF}_\mathcal {XY}\). In fact, \(\gamma (e)\) is a pcf defined by \(\varGamma _e\).

Let \(\bot _{\mathcal {XY}}\) denote the nowhere defined function.

Proposition 6

The index set \(Ix(\{(f\in {\mathcal PCF}_{\mathcal {XY}}\mid f\ne \bot _{\mathcal {XY}}\})\) is \(\varSigma ^1_1\)-complete.

Proof

Let us fix computable Polish spaces \(\mathcal {X}\) and \(\mathcal {Y}\). Our proof is based on the following lemmas.

Lemma 6.1

[8]. There exists an effective procedure which given any computable sequence \(\{A_n\}_{n\in \omega }\) of effectively open subsets of \(\mathcal{N}\) produces a computable sequence \(\{E_n\}_{n\in \omega }\) of effectively open subsets of X such that \(\bigcap _{n\in \omega } A_n=\emptyset \leftrightarrow \bigcap _{n\in \omega }E_n=\emptyset \).

Lemma 6.2

Let \(\{E_n\}_{n\in \omega }\) be a computable sequence of effectively open subsets of lX. There is an algorithm producing a partial computable function \(f:\mathcal {X}\rightarrow \mathcal {Y}\) such that \(\mathrm{dom} (f)=\bigcap _{n\in \omega } E_n\).

Lemma 6.3

[8]. Let us fix a \(\varSigma ^1_1\)–complete \(I\subseteq \omega \). Then there exists an effective procedure which generates a computable sequence \(\{A^m_n\}_{m,\,n\in \omega }\) of effectively open subsets of \(\mathcal{N}\) such that \(\bigcap _{n\in \omega } A^m_n\ne \emptyset \leftrightarrow m\in I\).

In order to prove Proposition 6 first let us note that the standard Kleene-Addison algorithm [16] shows that \(Ix(\{f|f\ne \bot \}\in \varSigma ^1_1\). Our goal is to show that \(I\le _m Ix(\{f|f\ne \bot \})\). For that, we construct a computable sequence \(\mathcal{F}=\{f_m\}_{m\in \omega }\) of partial computable functions such that \(m\in I\leftrightarrow f_m\ne \bot \). Using Lemmas 6.3 and  6.1 we construct a computable sequence \(\{A^m_n\}_{m,\,n\in \omega }\) of effectively open subsets of \(\mathcal{N}\) and a computable sequence \(\{E^m_n\}_{m,\,n\in \omega }\) of effectively open subsets of X such that \(\bigcap _{n\in \omega } A^m_n\ne \emptyset \leftrightarrow m\in I\) and \(\bigcap _{n\in \omega } A^m_n=\emptyset \leftrightarrow \bigcap _{n\in \omega }E^m_n=\emptyset \). Using Lemma 6.2 we can effectively construct a partial computable function \(f_m\) such that \(\mathrm{dom}(f_m)=\bigcap _{n\in \omega }E^m_n\). So, there exists a computable function \(\chi :\omega \rightarrow \omega \) such that \(f_m=\gamma (\chi (m))\). The function \(\chi \) is a reduction, since \(m\in I\leftrightarrow \gamma (\chi (m))\ne \bot \).    \(\square \)

Corollary 1

For \({\mathcal PCF}_\mathcal {XY}\), the problem of function equality is \(\varPi ^1_1\)-complete.

Theorem 3

[10]. For partial computable real functions Open image in new window, totality is \(\varPi ^0_2\)-complete.

Theorem 4

[8]. For partial computable functions Open image in new window, totality is \(\varPi ^1_1\)-complete.

For \(\mathcal {X}=\mathbb {R}\) (or \(\mathcal {N})\) and \(\mathcal {Y}=\mathbb {R}\), complexity of other important problems such as root verification can be found in [8].

Proposition 7

Let \(K\subseteq {\mathcal PCF}_\mathcal {XY}\). If \(K\ne \emptyset \) and \(\bot \not \in K\) then Ix(K) is \(\varPi ^0_2\)–hard.

Proof

The proof is based on the following observation. Suppose \(A\in \varPi ^0_2\), \(f\in {\mathcal PCF}_{\mathcal { XY}}\) and \(f\ne \bot _{\mathcal XY}\). Then there exists a computable function \(g:\omega \rightarrow \omega \) such that
$$\begin{aligned} n\in A \rightarrow g(n) \in Ix(\{f\}) \hbox { and } n\not \in A \rightarrow g(n) \in Ix(\bot _{\mathcal XY}). \end{aligned}$$
The existence of g for a computable Polish space \(\mathcal { Y}\) can be proven in a similar way as for \(\mathcal { Y}=\mathbb {R}\) (see [10]).    \(\square \)

Corollary 2

(Generalised Rice’s Theorem). Let \(K\subset {\mathcal PCF}_\mathcal {XY}\). Then Open image in new window if and only if \(Ix(K)\not \in \varDelta ^0_2\).

5.3 Complexity of Images of Partial Computable Functions

First we propose a characterisation of effectively enumerable topological spaces that are images of partial computable surjections from computable Polish spaces.

Proposition 8

Let \( {\mathcal X}=\left( X,\tau ,\alpha \right) \) be a computable Polish space and \({\mathcal Y}=\left( Y,\lambda ,\beta \right) \) be an effectively enumerable \(T_0\)-space. Then the following assertions are equivalent.

  1. 1.

    There exists a partial computable surjection \( f:\mathcal {X}\twoheadrightarrow \mathcal {Y}\).

     
  2. 2.

    The space \(\mathcal {Y}\) admits point recovering.

     

Proof

\((1)\rightarrow (2).\) Assume \( f:\mathcal {X}\twoheadrightarrow \mathcal {Y}\) is a partial computable surjection. It means that \(\mathrm {dom}(f)=\bigcap _{n\in \omega } O_n=\bigcap _{n\in \omega }\bigcup _{s\in \omega } \alpha (g(n,s)) \) and for all \(x\in \mathrm{dom}(f)\), \( f(x)\in \beta ( n)\leftrightarrow x\in \bigcup _{i\in \omega }\alpha (H(n,i))\), where \(g:\omega ^2\rightarrow \omega \) and \(H:\omega ^2\rightarrow \omega \) are computable functions. Recall that \(A_x=\{n\mid x\in \alpha (n)\}\) and \(B_y=\{m\mid y\in \beta (m)\}\). In order to show that \(\mathcal {Y}\) admits recovering let us prove that \(\{B_y\mid y\in Y\}\) is a \(\varSigma ^1_1\)-subset of \(\mathcal {P}(\omega )\) considered as the Cantor space. Since f is a surjection, for \(I\subseteq \omega \), \((\exists y\in Y)\, I=B_y\) if and only if \((\exists x\in \mathrm{dom}(f))\, I=B_{f(x)}\). Let us make analysis. If \(I=B_{f(x)}\) then
$$\begin{aligned}&n\in I\leftrightarrow \quad (\exists x\in \mathrm{dom}(f)) f(x)\in \beta (n)\leftrightarrow (\exists x\in \mathrm{dom}(f))\, x\in \bigcup _{i\in \omega } \beta (H(n,i)) \\&\qquad \qquad \qquad \qquad \quad \qquad \qquad \quad \,\qquad \leftrightarrow (\exists x\in \mathrm{dom}(f))(\exists i\in \omega )\, H(n,i)\in A_x. \end{aligned}$$
From Theorem 1 it follows that \(J\in \{A_x\mid x\in X\}\leftrightarrow \varPsi (J)\), where \(\varPsi (J)\) is a \(\varPi ^0_2\)-subset of \(\mathcal {C}\). It is easy to see that \(x\in \mathrm{dom}(f)\leftrightarrow (\forall n\in \omega )\, x\in O_n\leftrightarrow (\forall n\in \omega )(\exists s \in \omega ) g(n,s)\in A_x\). Finally, we have
$$\begin{aligned}&(\exists y\in Y) I=B_y\leftrightarrow (\exists J\subseteq \omega ) \quad \Big (\varPsi (J)\wedge (\forall n\in \omega ) \Big ( n\in I\leftrightarrow \Big ( (\exists i\in \omega )\, H(n,i)\in J\wedge \\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \quad (\forall m\in \omega )(\exists s \in \omega )\, g(n,s)\in J \Big ) \Big )\Big ). \end{aligned}$$
Now we can see that \(\{B_y\mid y\in Y\}\) is a \(\varSigma ^1_1\)-subset of \(\mathcal {C}\).

\((2)\rightarrow (1).\) Let \(\mathcal {Y}\) admit point recovering. We construct a required partial computable surjection in few steps:\(\begin{array}{lclclclcl}\mathcal {X}&{}\twoheadrightarrow &{}\mathcal {N} &{}\twoheadrightarrow &{} \mathcal {C}&{}\twoheadrightarrow &{} \mathcal {C}^2 &{} \twoheadrightarrow &{} \mathcal {Y}\\ \end{array}.\)

Step 1. It is known (see e.g. [9, 14, 19]) that there exists a homeomorphism \(F:{\mathcal N} \rightarrow \mathcal {X}\) such that \(F^{-1}:\mathcal {X}\rightarrow {\mathcal N}\) is a partial computable surjection.

Step 2. A partial computable surjection \(g:\mathcal {N}\twoheadrightarrow \mathcal {C}\) is defined in a standard way \(g(f)= \lambda n. f(n)\, mod\, 2\).

Step 3. A partial computable bijection \(\lambda :\mathcal {C}^2\twoheadrightarrow \mathcal {C}\) is defined in a standard way \(\lambda (I,J)=\{2n\mid n\in I\}\cup \{2n+1\mid n\in J\}\).

Step 4. Let us construct a partial computable surjection \(h:{\mathcal C}^2\twoheadrightarrow \mathcal {Y} \). Assume \(\varTheta \) is a \(\varSigma ^1_1\)-condition that certifies point recovering of \(\mathcal Y\) i.e. \(I=B_y\) for some \(y\in Y\) iff \(\varTheta (I)\leftrightharpoons (\exists J\subseteq \omega ) \varPhi (I,J)\), where \(\varPhi (I,J)\) is a \(\varPi ^0_2\)-condition (see e.g. [14]). Put \(D=\{(I,J)\mid \varPhi (I,J)\}\subseteq \mathcal {C}^2\).

If \((I,J)\in D\) then \(I=B_y\) for some \(y\in Y\). Since Y is a \(T_0\)-space, this y is uniquely defined by I. Define \(h(I,J)=y\). We have \((I,J)\in h^{-1}(\beta (n))\leftrightarrow I=B_z \hbox { for some } z\in \beta (n) \leftrightarrow \varPhi (I,J)\wedge n\in I\). So, \(\mathrm{dom}(h)=D\) is a \(\varPi ^0_2\)-subset of \(\mathcal { C}^2\) and \(h^{-1}(\beta (n))=D\cap \left( \{I\subseteq \omega \mid n\in I\}\times \mathcal {C}\right) \). Therefore h is a partial computable surjection.

Step 5. A required partial computable surjection is the composition \(f=h\circ \lambda ^{-1}\circ g \circ F^{-1}\), i.e.,
$$\begin{aligned} \begin{array}{lclclclcl} &{} F^{-1 }&{} &{}g &{} &{} \lambda ^{-1}&{} &{}h &{} \\ \mathcal {X} &{}\twoheadrightarrow &{} \mathcal {N} &{}\twoheadrightarrow &{} \mathcal {C}&{}\twoheadrightarrow &{} \mathcal {C}^2 &{} \twoheadrightarrow &{} \mathcal {Y}. \end{array} \end{aligned}$$
The construction is complete.    \(\square \)
In order to study the complexity of images of partial computable functions we use the effective Borel and Lusin hierarchies on computable Polish spaces [14, 19]. In particular our proofs are based on the following properties of Borel and analytic subsets of a computable Polish space \(\mathcal {X}\):
  • A set B is a \(\varPi ^0_2\)–set in the effective Borel hierarchy on \(\mathcal {X}\) (a \(\varPi ^0_2\)–subset of X) if and only if \(B=\bigcap _{n\in \omega } A_n\) for a computable sequence of effectively open sets \(\{A_n\}_{n\in \omega }\).

  • A set \(A\in \) is a \(\varSigma ^1_1\)–set in the effective Lusin hierarchy on \(\mathcal {X}\) (a \(\varSigma ^1_1\)–subset of X) if and only if \(A=\{y\mid (\exists x\in X) B(x,y)\}\), where B is a \(\varPi ^0_2\)–subset of X.

Theorem 5

Let \(\mathcal X\) be a computable Polish space, \(\mathcal Y\) be an effectively enumerable \(T_0\)-space and \(Y_0\subseteq Y\). Then the following assertions are equivalent.

  1. 1.

    \(Y_0\) is the image of a partial computable function \(f:\mathcal {X}\rightarrow \mathcal {Y}\).

     
  2. 2.

    \(\{B_y\mid y\in Y_0\}\) is a \(\varSigma ^1_1\)–subset of \(\mathcal {C}\).

     

Proof

\(1)\rightarrow 2).\) Assume \(Y_0\) is the image of a partial computable function \(f:\mathcal {X}\rightarrow \mathcal {Y}\). For \(x\in \mathrm{dom}(f)\) and \(y=f(x)\in Y_0\), we have
$$\begin{aligned} n\in B_{f(x)}\leftrightarrow f(x)\in \beta (n) \leftrightarrow x\in \bigcup _{i\in \omega }\alpha (H(n,i))\leftrightarrow \{H(n,i)\mid i\in \omega \}\cap A_x\ne \emptyset . \end{aligned}$$
Then, for \(I\subseteq \omega \),
$$\begin{aligned}&I\in \{B_y\mid y\in Y_0\}\\&\leftrightarrow \exists J\in \{A_x\mid x\in \mathrm{dom}(f)\}(\forall n\in \omega ) \Big ( n\in I\leftrightarrow \{H(n,i)\mid i\in \omega \}\cap A_x\ne \emptyset \Big ). \end{aligned}$$
This is a \(\varSigma ^1_1\)-condition since
$$\begin{aligned} J\in \{A_x\mid x\in \mathrm{dom}(f)\} \leftrightarrow (\forall m\in \omega ) J\cap J_m\ne \emptyset , \end{aligned}$$
where \(\{J_m\}_{m\in \omega }\) is a computable sequence of c.e. sets such that \(\mathrm{dom}(f)=\bigcap _{m\in \omega }O_m\) and \(O_m=\bigcup _{i\in J_m}\alpha (i)\).
\(2)\rightarrow 1).\) Let \(\{B_y\mid y\in Y_0\}\in \varSigma ^1_1\). This means that \(J\in \{B_y\mid y\in Y_0\}\leftrightarrow (\exists I\subseteq \omega )\, Q(I,J)\), where Q(IJ) is a \(\varPi ^0_2\)–condition on \(\mathcal {C}\) (see e.g. [14]). Let us construct a partial computable function \(h:{\mathcal C}^2\twoheadrightarrow \mathcal {Y} \) such that \(\mathrm{dom}(h)=D\) and \(\mathrm{im}(h)=Y_0\). Put \(D=\{(I,J)\mid Q(I,J)\}\subseteq \mathcal {C}^2\). If Q(IJ) then \(J=B_y\) for some \(y\in Y\). Since \(\mathcal {Y}\) is a \(T_0\)-space, y is uniquely defined by I. Define \(h(I,J)=y\). We have \((I,J)\in h^{-1}(\beta (n))\leftrightarrow J=B_z \hbox { for some } z\in \beta (n) \leftrightarrow Q(I,J)\wedge n\in J\). So, \(\mathrm{dom}(h)=D\) is a \(\varPi ^0_2\)-subset of \(\mathcal { C}^2\) and \(h^{-1}(\beta (n))=D\cap \left( \{I\subseteq \omega \mid n\in I\}\times \mathcal {C}\right) \). Therefore h is a partial computable function. Using Theorem 8 we construct the composition of partial computable surjections f, g and h as follows:
$$\begin{aligned} \begin{array}{lclclcl} &{}\small { f}&{} &{}g &{} &{}h &{} \\ \mathcal {X} &{}\twoheadrightarrow &{} \mathcal {C}&{}\twoheadrightarrow &{} \mathcal {C}^2 &{} \rightarrow &{} \mathcal {Y}.\\ \end{array} \end{aligned}$$
This is a required function.

Proposition 9

Let \(\mathcal Y\) be a computable Polish space, \(Y_0\subseteq Y\) and \(\widetilde{Y}_0=\{B_y\mid y\in Y_0\}\). Then \(Y_0\) is a \(\varSigma ^1_1\)–subset of \(\mathcal {Y}\) if and only if \(\widetilde{Y}_0\) is a \(\varSigma ^1_1\)–subset of \(\mathcal {C}\).

Theorem 6

Let \(\mathcal X\) and \(\mathcal Y\) be computable Polish spaces and \(Y_0\subseteq Y\). Then the following assertions are equivalent.

  1. 1.

    \(Y_0\) is the image of a partial computable function \(f:\mathcal {X}\rightarrow \mathcal {Y}\).

     
  2. 2.

    \(Y_0\) is a \(\varSigma ^1_1\)–subset of Y.

     

Proof

The claim follows from Theorem 5 and Proposition 9.    \(\square \)

References

  1. 1.
    Ershov, Y.L.: Theory of numberings. In: Griffor, E.R. (ed.) Handbook of Computability Theory, pp. 473–503. Elsevier Science B.V., Amsterdam (1999)CrossRefGoogle Scholar
  2. 2.
    Edalat, A.: Domains for computation in mathematics, physics and exact real arithmetic. Bull. Symbolic Log. 3(4), 401–452 (1997)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Gao, S.: Invariant Descriptive Set Theory. CRC Press, New York (2009)MATHGoogle Scholar
  4. 4.
    Gregoriades, V., Kispeter, T., Pauly, A.: A comparison of concepts from computable analysis and effective descriptive set theory. Math. Struct. Comput. Sci. 1–23(2016). https://doi.org/10.1017/S0960129516000128. (Published online: 23 June 2016)
  5. 5.
    Hemmerling, A.: Effective metric spaces and representations of the reals. Theor. Comput. Sci. 284(2), 347–372 (2002)MathSciNetCrossRefMATHGoogle Scholar
  6. 6.
    Hemmerling, A.: On approximate and algebraic computability over the real numbers. Theor. Comput. Sci. 219(1–2), 185–223 (1999)MathSciNetCrossRefMATHGoogle Scholar
  7. 7.
    Kechris, A.S.: Classical Descriptive Set Theory. Springer, New York (1995)CrossRefMATHGoogle Scholar
  8. 8.
    Korovina, M., Kudinov, O.: Complexity for partial computable functions over computable Polish spaces. Math. Struct. Comput. Sci. (2016). doi:10.1017/S0960129516000438. (Published online: 19 December 2016)
  9. 9.
    Korovina, M., Kudinov, O.: Computable elements and functions in effectively enumerable topological spaces. Mathematical structure in Computer Science (2016). doi:10.1017/S0960129516000141. (Published online: 23 June 2016)
  10. 10.
    Korovina, M., Kudinov, O.: Index sets as a measure of continuous constraint complexity. In: Voronkov, A., Virbitskaite, I. (eds.) PSI 2014. LNCS, vol. 8974, pp. 201–215. Springer, Heidelberg (2015). doi:10.1007/978-3-662-46823-4_17 Google Scholar
  11. 11.
    Korovina, M., Kudinov, O.: Towards computability over effectively enumerable topological spaces. Electr. Notes Theor. Comput. Sci. 221, 115–125 (2008)MathSciNetCrossRefMATHGoogle Scholar
  12. 12.
    Korovina, M., Kudinov, O.: Towards computability of higher type continuous data. In: Cooper, S.B., Löwe, B., Torenvliet, L. (eds.) CiE 2005. LNCS, vol. 3526, pp. 235–241. Springer, Heidelberg (2005). doi:10.1007/11494645_30 CrossRefGoogle Scholar
  13. 13.
    Korovina, M., Kudinov, O.: Characteristic properties of majorant-computability over the reals. In: Gottlob, G., Grandjean, E., Seyr, K. (eds.) CSL 1998. LNCS, vol. 1584, pp. 188–203. Springer, Heidelberg (1999). doi:10.1007/10703163_14 CrossRefGoogle Scholar
  14. 14.
    Moschovakis, Y.N.: Descriptive set theory. North-Holland, Amsterdam (2009)CrossRefMATHGoogle Scholar
  15. 15.
    Moschovakis, Y.N.: Recursive metric spaces. Fund. Math. 55, 215–238 (1964)MathSciNetMATHGoogle Scholar
  16. 16.
    Rogers, H.: Theory of Recursive Functions and Effective Computability. McGraw-Hill, New York (1967)MATHGoogle Scholar
  17. 17.
    Soare, R.I.: Recursively Enumerable Sets and Degrees: A Study of Computable Functions and Computably Generated Sets. Springer Science and Business Media, Heidelberg (1987)CrossRefMATHGoogle Scholar
  18. 18.
    Spreen, D.: On effective topological spaces. J. Symb. Log. 63(1), 185–221 (1998)MathSciNetCrossRefMATHGoogle Scholar
  19. 19.
    Selivanov, V.: Towards the effective descriptive set theory. In: Beckmann, A., Mitrana, V., Soskova, M. (eds.) CiE 2015. LNCS, vol. 9136, pp. 324–333. Springer, Cham (2015). doi:10.1007/978-3-319-20028-6_33 CrossRefGoogle Scholar
  20. 20.
    Weihrauch, K.: Computable Analysis. Springer, New York (2000)CrossRefMATHGoogle Scholar
  21. 21.
    Weihrauch, K.: Computability on computable metric spaces. Theor. Comput. Sci. 113(1), 191–210 (1993)MathSciNetCrossRefMATHGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.A.P. Ershov Institute of Informatics Systems, SbRASNovosibirskRussia
  2. 2.Sobolev Institute of Mathematics, SbRASNovosibirskRussia

Personalised recommendations