1. Introduction
1.1. Compactness
Compactness plays a central role in classical analysis. We don’t have space to talk about all the applications of compactness in analysis, but refer the reader to the survey [Reference Hewitt60] for a detailed discussion. Compactness allows us to have an intrinsic connection between the infinite and the discrete finite instances of problems. In the words of Hewitt [Reference Hewitt60],
“A great many propositions of analysis are:

– trivial for finite sets;

– true and reasonably simple for infinite compact sets;

– either false of extremely difficult to prove for noncompact sets.”
If the reader thinks about any basic course in analysis, they will be struck about how many elementary theorems about real analysis rely on compactness in some form or another. When we turn to analysis on more general spaces, again compactness plays a central role. Classically, compact metric spaces are perhaps the most wellunderstood separable spaces after the discrete ones. Metrizable compact manifolds and compact topological groups have been studied extensively.
1.2. Goals
The concern of this paper is computable analysis; specifically computability aspects of Polish spaces (complete separable metric spaces). In this paper we will hope to achieve three goals.

• We will give a unified and smooth account of uses of compactness in computable analysis. This will involve the unification of a number of disparate approaches offered by many authors down through the years. We will describe and improve the fundamental techniques associated with computable compactness that are scattered throughout the literature.

• We will apply this machinery to prove several new results. This includes a characterization of recursive profinite groups in terms of computable compactness and a new computation of Čech cohomology. We will also give new simplified proofs of some known results (more details below).

• We will offer an answer to the following question:
“What is the ‘correct’ notion of computability for a compact Polish(able) topological space?”
1.3. Historical context
The roots of computable analysis go back to the early twentieth century (see, e.g., [Reference Borel12]). In his seminal papers [Reference Turing143, Reference Turing144], Turing clarified this early intuition. He gave the first universally accepted formal definition of a computable function. Turing used this definition to solve the Hilbert’s Entscheidungsproblem. But Turing also introduced computable analysis on $[0,1]$ . He analysed computable functions on the field of computable real numbers. He defined a real $\xi $ to be computable if there is a Turing machine that, on input i, outputs a rational $r=\frac {m}{n}$ such that $\xi r < 2^{i}$ . This approach was pursued especially in Russia by Markov and his school, culminating in Aberth’s book [Reference Aberth1]. Strangely, Turing’s definition of a computable function (i.e., on the computable reals) is now usually referred to as Markov computability. Our paper lies in the tradition of what has become known as “type 2” computable analysis. This tradition goes back to the work of Grzegorczyk [Reference Grzegorczyk55–Reference Grzegorczyk57] and Kleene [Reference Kleene79]. In this approach, we view effective functions as computable operators that are not restricted to computable reals and work for arbitrary reals. Avigad and Brattka [Reference Avigad and Brattka4] give an excellent overview of the development of computable analysis from the work of Turing.
The majority of early research was restricted to computability on the real line and in $\mathbb {R}^n$ . In these spaces, the rationals and the tuples of rationals can be used to define computable points. This idea can be extended to more general spaces, as follows. For an abstract Polish space, we fix a dense sequence and require that we have a distance function which is a computable on the dense set. For example, as above, we could use polynomials with rational coefficients in $C[0,1]$ . (Precise definitions will be found in Section 2.) Within this setting, computabilitytheoretic aspects of metric and normed spaces have also been studied for many decades; some of the earlier references include [Reference Myhill109, Reference PourEl and Caldwell122, Reference PourEl and Richards123].
Computabilitytheoretic aspects in the Euclidean and the totally disconnected ultrametric cases, particularly Cantor space $2^\omega $ , have been of central importance. The Euclidean case—in the sense that the space is actually a subset of $\mathbb {R}^n$ for some n—is treated in [Reference Braverman and Yampolsky22, Reference Ko81, Reference PourEl and Richards124, Reference Weihrauch146]. The ultrametric case—and more specifically the study of effectively closed subsets of Cantor space—is a welldeveloped classical subject of computability theory with surveys such as [Reference Cenzer29, Reference Cenzer and Remmel30]. This subdivision is of course a bit artificial since Cantor space can be viewed as a subset of $[0,1]$ , but the metric will no longer be an ultrametric.
In the past decade or two there has been an increasing interest in the computabilitytheoretic aspects of abstract metric spaces. The central questions in such investigations include:

– When does a space admit a computable presentation, and in what sense is it computable?

– Can we compute certain invariants or objects associated with this space (e.g., the space of probability measures on the space), and if “yes” then in what sense?

– Can we establish computable analogues of the classical topological results?

– Can we classify computable points in computable topological spaces?

– Can we classify computably presentable spaces in a given class? etc.
The computabilitytheoretic study of abstract metric and topological spaces is developing hand in hand with work on reverse mathematics [Reference Mummert107], algorithmic randomness [Reference Hoyrup and Rojas63], enumeration degree theory [Reference Pauly118], and (to some extent) effective descriptive set theory [Reference Moschovakis106]. The notion of a computable presentation of a space is central in such investigations. Many classical spaces such as $2^{\omega }$ and $L^2[0,1]$ are equipped with a “natural” computability structure which is usually fixed; the theory is then developed for the fixed computability structure. The two classical texts [Reference PourEl and Richards124, Reference Weihrauch146] essentially take this approach. Even though both books talk about ways to compare different computability structures on a fixed space, the space under consideration is usually equipped with a few “natural” computability structures that can be compared. For example, in $C[0,1]$ one could use polynomials with rational coefficients or, alternatively, piecewise linear functions with rational parameters; these turn out to be equivalent (in a rather strong sense). But of course, not every space has a computable presentation simply from cardinalitytheoretic observations. Can we describe those spaces that do admit computable presentations, at least from some common classes? For instance, for which compact Polish K does the Banach space $C(K)$ have a computable presentation? What about the space of probability measures on K? etc.
To attack these and similar questions we will often have to depart from classical computable analysis (that deals with fixed “natural” computable presentations) and use methods of computable topology. Although we can point at earlier initiatives such as, e.g., [Reference Kalantari and Weitkamp73–Reference Kalantari and Weitkamp75, Reference Nogina114, Reference Nogina115, Reference Spreen139–Reference Spreen and Young141], most of the related work in computable topology is more recent and includes [Reference Čelar and Iljazović28, Reference Gavruskin and Nies48, Reference Hoyrup, Kihara and Selivanov62, Reference Kalantari and Welch76, Reference Korovina and Kudinov85, Reference Kudinov and Selivanov87, Reference Weihrauch and Grubba148]. Computable topology is notorious for its zoo of various notions of computability for a topological space. In contrast with effective algebra [Reference Ash and Knight3, Reference Ershov and Goncharov41] where all standard notions of computable presentability had been separated more than halfacentury ago (e.g., [Reference Feiner42]), some of the key notions of computable presentability in topology have been separated only very recently [Reference Bazhenov, HarrisonTrainor and Melnikov8, Reference HarrisonTrainor, Melnikov and Ng59, Reference Hoyrup, Kihara and Selivanov62, Reference Lupini, Melnikov and Nies91]; these results will be discussed in detail later in the paper.
In the recent years there has been a tendency to focus on the three main notions of computable presentability of a (compact) Polish space: a computable Polish space, a computable topological space, and a computably compact space. Our paper is focused on one of these three important notions of computable presentability, namely computable compactness that is defined and discussed below. Computable compactness is clearly restricted to compact Polish spaces. Nonetheless, we will see that the notion and the techniques associated with it have farreaching applications in computable analysis that are not restricted to compact spaces.
1.4. Computable compactness
Recall that we mentioned that the notion of a computable Polish space, or a computably metrized space, seems to be the most wellestablished notion of computable presentability for a Polish(able) space. The early classical works on computable metric spaces include [Reference Ceitin27, Reference Lacombe88, Reference Moschovakis105]. A Polish space is computable or computably completely metrized if there is a complete, compatible metric d and a dense subset of special or ideal points $(x_i)_{i \in \omega }$ of the space such that $d(x_i, x_j)$ are computable reals uniformly in i and j. If we view spaces up to isometry, we fix the metric; if we study them up to homeomorphism then we assume d is compatible. In the present article, we assume the metric to be complete, since in all examples that we care about it will indeed be such. For instance, compact metric spaces are complete and separable.Footnote ^{1} However, the issue is that in a computably metrized compact space, we do not necessarily have computable access to its finite covers.
Classical uses of compactness do not need an understanding of how finite covers are obtained. For classical purposes, it is sufficient that the finite covers exist. Thus, when we consider computability aspects of compact spaces, it is natural to quantify what we mean by this. There are many definitions of a space being computably compact throughout the literature. Remarkably, as we prove below, they—as well as some new useful ones—are all equivalent. For instance, Mori, Tsujii, and Yasugi [Reference Mori, Tsujii and Yasugi104] say that a computably metrized space is computably compact (or effectively compact) if there is a computable function which takes n and produces a finite $2^{n}$ cover of the space by open balls centred in special points and having rational radii. (Such balls are called basic.)
The notion has proven to be extremely useful, and the techniques associated with computable compactness tend to be elegant. Indeed, it is not uncommon that a tedious and technical proof in computable analysis becomes transparent and compact (pun intended) after a thoughtful application of computable compactness.
In spite of the usefulness of computable compactness and its numerous applications in the literature, it seems there is not many “standard” references that would contain a systematic exposition of the most fundamental results and techniques associated with computable compactness. Even though these are some excellent papers and Ph.D. theses written on related subjects (e.g., [Reference Brattka and Presser19, Reference Iljazović and Kihara67, Reference Miller103, Reference Pauly117]), many results and proofs are scattered throughout the literature. As a result, it seems that some fundamental facts about computably compact spaces keep being rediscovered over and over again. Proofs of some results in the literature (including some recent ones) can be significantly simplified via choosing a more careful setup in which computable compactness can be used to simplify combinatorics. It seems that some of the standard techniques associated with computable compactness are not necessarily uniformly known, and perhaps even that the theory itself is a bit underappreciated.
Thus, as mentioned above, our first main goal of this article is to fill this apparent gap in the literature, at least partially. Once we accumulate enough techniques and develop new ones, we will apply this machinery to prove new results and improve known proofs; this is our second main goal. Recall that our third goal is to try to suggest a correct notion of computable compact Polish space. The potential candidates for the “correct” computability notion include a computable topological space, a computably metrized space, and computably compact space, and some other perhaps more exotic notions—such as a rightc.e. (uppersemicomputable) metric spaces—that can be found in the literature and some of which will be mentioned later. We suggest that the following might be true:
Computable compactness is the right notion of computability for compact Polish spaces.
Even if the reader will disagree with this thesis after looking at the results that we present here, the definition of computable compactness is certainly robust. More formally, Theorem 1.1 contains eight equivalent formulations of computable compactness some of which are new. Many of the applications that we discuss in this article—perhaps most notably the recently discovered effective Stone and Pontryagin dualities—strongly suggest that our thesis should not be dismissed even if we view spaces up to homeomorphism. We will also explain why all three standard definitions of computable presentability for a compact Polish space—computably compact, computably metrized, computable topological—differ up to homeomorphism.
The study of computably compact spaces is very closely related to the investigation of effectively closed subsets of computably metrized Polish spaces, especially when the set happens to be computable closed. As we will see in Proposition 3.29, under some mild restrictions computable closed sets can be viewed as computably compact spaces, and vice versa by $(vi)$ of the theorem below. We cite [Reference Iljazović and Kihara67] for an excellent recent survey. The cited survey, however, does not really have many proofs or proof sketches, so we felt that including proofs should be a good idea; this is done in Section 3.5, which includes the necessary facts that we will need in the present paper.
Another classical and closely related subject in computability theory is the area of $\Pi ^0_1$ classes. This area can be viewed as a special case of the theory of effectively closed sets but restricted to $2^{\omega }$ . Of course, more can be said about $2^{\omega }$ than about an arbitrary space. Unlike the theories of computably compact spaces and computable closed sets, there is no shortage of excellent surveys and papers about $\Pi ^0_1$ classes (e.g., [Reference Cenzer29, Reference Cenzer and Remmel30, Reference Diamondstone, Dzhafarov and Soare34]), and the draft of a book “Effectively Closed Sets $\Pi ^0_1$ Classes” by Cenzer and Remmel that is available online (as of early 2022). Thus, we will not include many proofs, we just state a few results in Section 2.6 that we will need, and will give references.
These three topics—computably compact spaces, computable closed sets, and $\Pi ^0_1$ classes—are closely related, and no firm line can be drawn between them.
Before we proceed, we should admit that giving a complete and comprehensive survey of the existing literature and results on the subject is not among the main goals of this article, but nonetheless we will provide many useful references. This is not a survey paper in the usual sense, it is mainly a technical semisurvey paper with many new results, and it should be treated as such. We also chose to spread further discussion and references to the literature throughout the paper (where it is relevant) rather than to write a giant introduction.
1.5. The Main Theorem
The following theorem will be proven over the subsequent sections. The fundamentals of computable compactness theory will be developed simultaneously with the proof. We will discuss each clause of the theorem in detail shortly; for now we note that $\mathrm{(iii)},\mathrm{(iv)}$ , and $\mathrm{(viii)}$ are new.
Theorem 1.1. For a computably, completely metrized Polish space M, the following are equivalent:

(i) Given n, we can effectively compute (the finite set of parameters describing) a finite $2^{n}$ cover $K_n$ of M by basic open balls.

(ii) We can effectively enumerate all finite basic open covers (each given at once as a finite set of parameters) of the space.

(iii) The same as $\mathrm{(i)}$ , but additionally in each finite cover n we can uniformly decide whether any finite collection of basic open balls in $ K_n$ intersect.

(iv) In the notation of $\mathrm{(iii)}$ , we can additionally uniformly decide (non)emptiness of intersection for any finite collection of balls in $\bigcup _{n \in \omega } K_n$ , but balls may have merely computable radii (and, thus, are not necessarily basic).

(v) There is a computable sequence of computable reals $(\epsilon _n)_{n \in \omega }$ ( $\epsilon _n \leq 2^{n}$ ) so that, for every n, we can compute the maximal number of points in the space that are at least $\epsilon _n$ far from each other.

(vi) M is computably homeomorphic to a computable closed subset of the Hilbert cube.

(vii) M is a computable surjective image of $2^{\omega }$ .

(viii) The full continuous diagram of M is decidable.
As we will note later, it is easy to see that $\mathrm{(ii)}$ is also equivalent to the approach that is standard throughout reverse mathematics ([Reference Simpson135]): there exists an enumeration functional that, given a countable cover composed of basic open balls outputs (an index of) some finite subcover of the cover. This approach is perhaps the most familiar one to a working mathematician, while $\mathrm{(i)}$ is rather an effective analogy of total boundedness. Of course, a complete metric space is compact iff it is totally bounded, but this elementary fact is perhaps not quite as wellknown as the standard definition of compactness. There are also other characterizations of computable compactness, e.g., for subsets of a fixed space in terms of Hausdorff distance. We will mention this characterisation later when we talk about computable closed sets and the Hilbert cube $\mathrm{(vi)}$ (see Fact 3.39). There are also other characterisations of computable compactness in special classes, e.g., in the class of profinite groups. We will discuss some such characterizations in due course.
In view of this theorem, we have the following definition, which is a characterization established in this paper:
Definition 1.2. A computable Polish space is called computably compact or effectively compact if it satisfies (the equivalent conditions in) Theorem 1.1.
The equivalence of $\mathrm{(i)}$ and $\mathrm{(ii)}$ is wellknown, and usually one of the two is taken as the standard definition of a computably compact space. See Theorem 3.3.
It seems that $\mathrm{(iii)}$ or something similar might be also known, but perhaps in some other form (see, e.g., [Reference Hoyrup, Kihara and Selivanov62] for some related informal discussions). Also, Section 8.4 of [Reference Iljazović and Kihara67] contains a discussion of spiritually similar results. Perhaps, the most closely related material can be found in [Reference Pauly119]. However, we were unable to find any explicit proof of the equivalence of $\mathrm{(i)}$ and $\mathrm{(iii)}$ anywhere in the literature. For a proof, see Theorem 3.13.
As far as we know, $\mathrm{(iv)}$ is new. Characterization $\mathrm{(iv)}$ will be very useful in several applications greatly reducing the combinatorial complexity of proofs in many cases. It will be especially useful in computing cohomology groups of spaces, but some further (perhaps, less expected) applications will also be presented. This equivalence is stated and then proven in Theorem 3.16.
Iljazovič [Reference Iljazović65] was the first to discover the equivalence of the fifth formulation $\mathrm{(v)}$ with the standard definition; it has recently been rediscovered in [Reference Pauly, Seon and Ziegler120]. Its significance is the remarkable fact that computable compactness is an isometric invariant of the space. In other words, computable compactness is not a property of some specific nice presentation, but it is an intrinsic property that holds for all isometric presentations. The result will appear as Theorem 3.21.
The sixth version $\mathrm{(vi)}$ is wellknown, but we are not sure who was the first to observe its equivalence to computable compactness. See Theorem 3.36 for a proof.
The seventh item $\mathrm{(vii)}$ is an effective version of the classical Hausdorff–Alexandroff theorem (see Theorem 3.40). The result is due to Brattka, de Brecht, and Pauly (see Proposition 4.1 of [Reference Brattka, de Brecht and Pauly20]). Also, working independently, Couch, Daniel, and McNicholl [Reference Couch, Daniel and McNicholl32] proved the result for the special case of closed subspaces of $\mathbb {R}^n$ . Around the same time, Day and Miller [Reference Day and Miller33] independently discovered another important special case of this result, specifically for probability spaces. Interestingly, in Remark 3.23 of his large unpublished survey “Algorithmic randomness, martingales and differentiability” Jason Rute refers to this property (being a computable image of $2^{\omega }$ ) as being a stronger version of computable compactness.Footnote ^{2} And indeed it may seem at first glance that it should be stronger than, e.g., $\mathrm{(i)}$ . We give two new and substantially different proofs of the result, one using $\mathrm{(iv)}$ discussed above, and the other one using $\Pi ^0_1$ classes and the Hilbert cube. Both proofs serve as a fine illustration of the techniques that we develop in the paper. The effective Hausdorff–Alexandroff theorem will be rather useful in several applications that will be discussed in due course.
Finally, the last item $\mathrm{(viii)}$ of the theorem is new; it is inspired by [Reference Ben Yaacov and Pedersen10, Definition 9.9] and the very recent paper [Reference Camrud, Goldbring and McNicholl25]. It says that any formula of continuous logic formed in the language of pure metric uniformly defines a computable function $M^n \rightarrow [0,1]$ , where n is the number of free parameters in the formula. This pleasant, unexpected, but quite elementary result will be stated formally in Theorem 3.7. Theorem 3.7 will be restricted to spaces of diameter $\leq 1$ , but as noted in the remarks preceding this theorem, it is just a mere notational convenience. The result perhaps confirms one’s suspicion that in the case of compact metric spaces, continuous logic is not particularly expressive.
1.6. Summary of applications
We now discuss several applications (of computable compactness) that can be found in Section 4. We are mainly focused on the applications that are either new, or give new proofs of known results. We also mention several applications that are very recent and are related to our research interests. We also pose several open questions.
Our list of applications is not even close to being exhaustive, but we will discuss the literature where more results of this sort can be found. Here is a summary:

(1) In Section 4.1 the reader can find several useful standard results most of which are at least halfacentury old. They serve as a mere illustration of some of the basic techniques.

(2) The next Section 4.2 contains an unpublished result of Nies and Melnikov that states that $\Pi _1^0$ classes can be used to represent isometric isomorphisms between effectively compact spaces. The result is not difficult, but its consequences are fairly powerful; in particular, combined with several standard results about $\Pi ^0_1$ classes, this method gives elegant and much more “compact” proofs of some results from the literature.

(3) Section 4.3 contains an application of computable compactness to constructing basic sequences in Banach spaces. The application is elementary but is neat. The subtlety is that, in classical Banach space theory, one routinely uses dual spaces and Hahn–Banach theorem to construct basic sequences (e.g., [Reference Carothers26]), but it is known that the Hahn–Banach theorem is not computable [Reference Brattka16, Reference Metakides, Nerode and Shore102]. Computable compactness gives a way to circumvent this obstacle. The result is very recent and can be found in Long’s M.Sc. thesis [Reference Long90].

(4) The next Section 4.4 applies the techniques developed in Section 3 to Stone spaces; these results are very recent and can be found in [Reference HarrisonTrainor, Melnikov and Ng59, Reference Hoyrup, Kihara and Selivanov62]. For instance, we will see that a Stone space is computably compact iff it is computably metrizable iff the dual Boolean algebra is computably presentable. Among many applications, we will explain why the isomorphism problem for Stone spaces is $\Sigma ^1_1$ complete. The result is “known” but it seems it has never been stated in the literature; we include it for future reference. We will also see that these techniques can be used to produce an example of a computable topological Polish space not homeomorphic to any computably metrized space.

(5) In Section 4.5 we prove that a profinite group is recursively presented (in the sense of [Reference La Roche128, Reference Smith137]; to be defined) iff it is computably compact; this result is new.

(6) Section 4.6 contains a new algorithm for computing Čech cohomology of a computably compact space. The algorithm is new, but the result itself is not new (though it is very recent [Reference Lupini, Melnikov and Nies91]). In the subsection we also discuss several applications of Čech cohomology in computable topology.

(7) Section 4.7 applies computability of Čech cohomology established in the previous subsection to produce examples of computably metrized compact spaces that are not homeomorphic to any computably compact space. It is not hard to find a computably metrized space that is not isometrically isomorphic to any computably compact space (just take the interval $[0, \Omega ]$ , where $\Omega $ is Chaitin’s omegaFootnote ^{3} or some other leftc.e. real that codes $0'$ .) However, the situation becomes more complex if we view spaces up to homeomorphism. The result is not new but is very recent, and the proof that we give is a new combination of modern and classical techniques some of which we introduce in the preceding subsections. Our new proof is perhaps the simplest one known so far.

(8) Section 4.8 contains a new proof of computable universality of $C[0,1]$ among computable Polish spaces up to (computable) isometry. The issue is that the standard proofs of universality of $C[0,1]$ rely on the Hahn–Banach theorem; as we have already mentioned above, it is not computable in general. Sierpinski [Reference Sierpiński134] suggested a more direct proof that he thought was “effective”; however, his proof gives a merely $0'$ computable embedding. We use tools of computable compactness to produce a computable embedding of any computable Polish space to the standard presentation of $C[0,1]$ . The result is not new [Reference Bagaviev, Batyrshin, Bazhenov, Bushtets, Dorzhieva, Kornev, Melnikov, Ng and Koh5], but the proof that we here give is new. Our new proof is much less combinatorially involved than the one in [Reference Bagaviev, Batyrshin, Bazhenov, Bushtets, Dorzhieva, Kornev, Melnikov, Ng and Koh5]; the latter does not use computable compactness tools. (However, it is not necessarily clear that our proof holds primitively recursively, while the proof from [Reference Bagaviev, Batyrshin, Bazhenov, Bushtets, Dorzhieva, Kornev, Melnikov, Ng and Koh5] gives a primitive recursive embedding.)

(9) In Section 4.9 we prove that every computably compact space of finite covering dimension can be computably embedded into a finitely dimensional Euclidean space. This is an improved version of a very recent result of HarrisonTrainor and Melnikov [Reference HarrisonTrainor and Melnikov58] that establishes that there is an arithmetical embedding. Our result is stronger and the technique that we use is different from what has been used in [Reference HarrisonTrainor and Melnikov58]. The new version heavily relies on one of the new characterizations of computable compactness that we prove in the paper. It will allow us to effectivize one of the standard proofs from the classical literature with only minor modifications.

(10) Section 4.10 contains the proof of the fact that, for a computably compact X, the space of probability measures $\mathcal {P}(X)$ on X is a computable homeomorphic image of $2^\omega $ . This is known, even though the standard reference [Reference Day and Miller33] does it only for the special case of $X = 2^{\omega }$ and via an explicit construction of a computable map from $2^{\omega }$ onto $\mathcal {P}(X)$ . But it is actually easier to establish computable compactness of $\mathcal {P}(X)$ directly (using covers), and then apply (vii) of Theorem 1.1. The result is very recent and is due to Marcone and Valenti [Reference Marcone and Valenti92]. Computable compactness of $\mathcal {P}(X)$ can be used to show that a compact computable group is computably compact iff it admits a computable Haar probability measure. This is a known result and we will discuss it more fully in Section 4.10.

(11) The final Section 4.11 contains several open questions that are related to the material contained in the previous subsections. Most of these questions are directly or indirectly related to compactness.
To make our exposition smoother, we shall often define notions when we need them. The most commonly known basic notions of computable metric space theory can be found in the preliminaries.
2. Preliminaries
All of our spaces are Polish (separable and completely metrizable) spaces. Such spaces are also sometimes called Polishable. All spaces are also compact, unless stated otherwise. There will be only very few exceptions towards the end of the paper where the spaces considered will not be compact, namely the Urysohn space and the space of continuous functions on the unit interval $C[0,1]$ .
We will almost never consider the empty space, even though it is actually possible to include this rudimental case into our framework. However, many proofs become more uniform and definitions more convenient if we exclude this case.
We remind the reader that a real $\alpha $ is computable if there exists a computable sequence $(q_{f(i)}\mid i\in {\mathbb N})$ of rational numbers such that $\alpha q_{f(i)}<2^{i}.$ If we have a computable sequences of rationals but only know that $q_{f(i)}\to \alpha $ , but not a computable modulus of convergence, then we would say that $\alpha $ is a $\Delta _2^0$ real; and if the sequence $q_{f(i)}$ is monotonically increasing (resp. decreasing), then $\alpha $ is said to be leftc.e. or lower semicomputable (resp. right c.e. or upper semicomputable).
Much work in computable analysis from recent years has been concerned with the theory of representations [Reference Weihrauch146]. In the type 1, countable case, when we talk about functions acting on, for example, polynomials, we really mean functions acting on numbers or strings “representing” the objects. In the type 2 case, a representation is a way of assigning an infinite string $\alpha $ in Baire space $\omega ^{\omega }$ with the object we wish to run algorithms upon; and to do so in a computationally meaningful way. However, in the case of Polish spaces, Cauchy sequences provide a natural and effective way to represent elements. Thus, we stick throughout with the notation as presented in the subsections below.
2.1. Effective metrizations of Polish spaces
A Polish space $(M,d)$ is rightc.e. presented or admits a rightc.e. metric if there exists a sequence $(\alpha _i)_{i\in \omega }$ of Mpoints which is dense in M and such that for every $i,j\in \omega $ , the distance $d(\alpha _i, \alpha _j)$ is a rightc.e. real, uniformly in i and j. (In particular, we always assume that the metric is complete.) More formally, there is a c.e. set $W \subseteq \omega ^{2}\times \mathbb {Q}$ such that for any i and j,
Note that the sequence $(\alpha _i)_{i \in \omega }$ may contain repetitions; equivalently, it is possible that $d(\alpha _i, \alpha _j) = 0$ for some $i,j$ . We call points $\alpha _i$ from the sequence special or ideal. For instance, an undirected (simple) graph with the shortest path metric is a rightc.e. metrized space. We will see that $\Pi ^0_1$ classes can also be viewed as rightc.e. metrized spaces.
The definition of a leftc.e. Polish space is obtained from the notion of a rightc.e. Polish space using the notion of a leftc.e. real, mutatis mutandis.
Definition 2.1. A Polish space is computably presented or, perhaps more descriptively, computably metrizable if there is a (complete) metric on the space which is both rightc.e. and leftc.e.
Strictly speaking, a computable or a rightc.e. metrization of a space is a countable object $(\alpha _i)_{i\in \omega }$ , but we will usually identify a computable metrization $(\alpha _i)_{i\in \omega }$ of space M with its completion $\overline {(\alpha _i)_{i\in \omega }}$ .
Remark 2.2. Note that we intentionally did not emphasise whether we consider Polish spaces up to isometric isomorphism or under some other notion of similarity, such as, e.g., quasiisometry or homeomorphism. Indeed, these will lead to nonequivalent notions. For example, for a real $\xi $ , the space $[0, \xi ]$ is isometrically isomorphic to a computably metrized space if, and only if, $\xi $ is leftc.e. However, for any real $\xi $ this space is homeomorphic to the unit interval $[0,1]$ which is of course computably metrizable. In this paper we usually consider Polish spaces under homeomorphism, that is, a Polish space has a rightc.e. presentation if it is homeomorphic to the completion of a rightc.e. metrized space. Nonetheless, we will emphasise this in most of the theorems and lemmas that we prove to make sure that there is no conflict of terminology.
2.2. Computable topological spaces
There are several definitions of a computable topological space that can be found in [Reference Kalantari and Weitkamp73, Reference Korovina and Kudinov83, Reference Spreen139]. We will use the following.
Definition 2.3 (see, e.g., Definition 3.1 of [Reference Korovina and Kudinov84] or Definition 4 of [Reference Weihrauch and Grubba148]).
A computable topological space is given by a computable, countable basis of its topology for which the intersection of any two basic open sets (“basic balls”) can be uniformly computably listed. More formally, it is a tuple $(X,\tau ,\beta ,\nu )$ such that:

• $(X,\tau )$ is a topological $T_0$ space,

• $\beta $ is a base of $\tau $ ,

• $\nu \colon \omega \to \beta $ is a computable surjective map (i is called an index of $\nu (i)$ ), and

• there exists a c.e. set W such that for any $i,j\in \omega $ ,
$$\begin{align*}\nu(i) \cap \nu(j) = \bigcup \{ \nu(k)\,\colon (i,j,k) \in W\}. \end{align*}$$
Let $(X,\tau ,\beta ,\nu )$ be a computable topological space. For $i\in \omega $ , by $B_i$ we denote the open set $\nu (i)$ . As usual, we identify basic open sets $B_i$ and their $\nu $ indices. There are many versions of this notion above in the literature (see, e.g., [Reference Spreen139]). All of these notions are essentially Definition 2.3 with some extra assumption. For example, one can also additionally require that there is a computable dense sequence $(x_i)_{i \in \omega }$ such that $\{\langle i, j \rangle : x_i \in B_j \}$ is computably enumerable. See [Reference Nogina115, Reference Spreen139] for many other extra assumptions, some of which definitely seem ad hoc. We thus stick with the basic Definition 2.3. Perhaps, the most natural example of a computable topological Polish space is given by the proposition below.
Proposition 2.4 (cf. Theorem 2.3 of [Reference Korovina and Kudinov84]).
Every rightc.e. Polish space is a computable topological space.
Proof Let $(M,d)$ be a rightc.e. Polish space, and let $(\alpha _i)_{i\in \omega }$ be its sequence of special points. By $\tau $ we denote the metric topology of $(M,d)$ . As usual, the base $\beta $ of $\tau $ contains basic open balls
For $i\in \omega $ and $q\in \mathbb {Q}^{+}$ , we put $\nu (i,q) = B(\alpha _i,q)$ .
We prove that the tuple $(M,\tau ,\beta ,\nu )$ is a computable topological space. It is sufficient to establish the following: for any $i,j\in \omega $ and $q,r\in \mathbb {Q}^{+}$ , we can (uniformly) effectively enumerate a set $X \subseteq \omega \times \mathbb {Q}^{+}$ such that
Our set X is defined as follows: X contains all pairs $(k,t)$ such that
Since the space $(M,d)$ is rightc.e., it is not hard to see that the set X is c.e., uniformly in $i,j,q,r$ . If $(k,t)\in X$ , then by using the triangle inequality, we can easily show that $B(\alpha _k,t)$ is a subset of $B(\alpha _i,q) \cap B(\alpha _j,r)$ .
Let x be an arbitrary point from $U = B(\alpha _i,q) \cap B(\alpha _j, r)$ . Choose positive rationals $\epsilon $ and $\delta $ such that $\epsilon < q  d(\alpha _i, x)$ and $\delta < r  d(\alpha _j, x)$ . Since U is open, we can find $k\in \omega $ and $t \in \mathbb {Q}^+$ such that $x\in B(\alpha _k, t) \subseteq U$ and $t < \min (\epsilon /2, \delta /2)$ . Then we have
Therefore, $(k,t)$ belongs to X, and the set X satisfies (1). Hence, $(M,\tau ,\beta ,\nu )$ is a computable topological space.
For instance, every computably metrized Polish space is a computable topological space. We shall return to computable topological and rightc.e. spaces later, when we talk about Stone duality. Effective compactness can also be defined for computable topological and rightc.e. spaces, but we will not need this degree of generality until Section 4.4. (This will be clarified in the remarks before Theorem 4.28.) Until Section 4.4 we restrict ourselves to computable, completely metrized spaces.
2.3. The definition of computable compactness
We have already explained what it means for a Polish space to be computably metrized. We usually assume that all our spaces are Polish metric and nonempty. Recall that a complete metric space M is compact iff for every $\varepsilon>0$ , there exists a finite set F of points such that every point has distance less than $\varepsilon $ to F. For now, we say that a space is computably compact if it satisfies $\mathrm{(i)}$ of Theorem 1.1:
Definition 2.5. A computably metrized space is called computably compact if there exists a computable function that, given n, outputs the index of a finite tuple of basic open balls of radii ${<}2^{n}$ that cover M.
We should explain a bit more carefully all the terms that we use in the definition above. A ball centred in a special point is basic if its radius is a rational number. When we consider finite covers, we usually say that we can compute a finite cover by basic open balls if we can compute the index of a finite set that codes the indices of the finitely many centres and the rational radii of basic open balls in the cover. This should not be confused with enumerating a finite cover, i.e., listing one ball after another in a c.e. fashion.
Remark 2.6. Most proofs in this article do not actually need the radii to be rational numbers, but would work with balls of radius a computable real. However, we cannot list computable reals effectively. Therefore, we cannot hope to have an effective base of topology consisting of all basic balls with computable radii and computable points.
Suppose a compact space is computably metrized. How much computational power do we need to make it computably compact?
Definition 2.7. Let $ M = (M, d, (p_i)_{i \in {\mathbb {N}}})$ be a compact computable metric space. A compactness modulus of $ M$ is any function that bounds
from above. We call h the least modulus of compactness.
Note that if $h(n)= j$ , then the $2^{n+1}$ basic open balls centred in $p_0, \ldots , p_j$ cover the space. Since $d(p_i, p_k) \leq 2^{n}$ is a $\Pi ^0_1$ condition and the quantifier $\exists k< j$ is bounded, and the space is compact, h is computable relative to $0'$ . It is not difficult to show that there exists a computably metrized compact space in which the least modulus of compactness computes $0'$ , and indeed, any modulus of compactness as well. As we mentioned in the introduction, the interval $[0,\Omega ]$ defines a computably metrized space that is not isometrically isomorphic to any computably compact space (by Theorem 3.21), and its modulus of compactness (for any computable presentation) computes $0'$ .
In what will follow, we will not necessarily need the (least) modulus of compactness. Indeed, it is sufficient to calculate some (and not necessarily the least) j such that $\forall i \exists k< j \, d(p_i, p_k) \leq 2^{n}$ . One way to state this would be to require j to be “the first found” (in some $\Delta ^0_2$ approximation sense) that works. A space is computably compact if for every n we can compute some j that works. It is not difficult to manufacture a pathological example of a space where some j can be computably found for a given n, but one cannot compute the least such j. (See the next subsection for a similar counterexample.)
2.4. More about basic open balls
Notation 2.8. For a basic open B, write $B^c$ for the basic closed ball with the same centre and radius as B.
The reader should keep in mind that the space can be very strange, quite unlike ${\mathbb R}^n$ . For instance, the closure $\overline {B}$ of B does not have to be equal to $B^c$ in general (think of an isolated point in $B^c\setminus B$ ). Also, in general we cannot decide whether two basic open or closed balls intersect or not, as is illustrated by the example below.
Example 2.9. There exists a computably compact subspace of the unit square such that there is no uniformly computable procedure deciding whether two given basic open or basic closed $2^{n}$ balls intersect.
To make sure that the nonemptiness of intersection of open balls is undecidable, for every n create a gadget consisting of two points $x_n$ and $y_n$ at distance $2^{n} 2^{n2}$ from each other, and also put a third point $z_n$ at distance exactly $2^{n}$ from each of $x_n$ and $y_n$ . The point is at the intersection of the $2^{n}$ circles centred at $x_n$ and $y_n$ .

• Wait for the nth potential procedure to declare that $B(x_n, 2^{n}) \cap B(y_n, 2^{n}) =\emptyset $ .

• If this ever happens at some stage s, take $m = s+n+1$ and put a new point $w_n$ at distance exactly $2^{m}$ from $z_n$ so that $w_n \in B(x_n, 2^{n}) \cap B(y_n, 2^{n})$ .
To make sure that the nonemptiness of intersection of basic closed balls is undecidable, for every n create a similar gadget, but this time keep $z_n$ out of the space at every finite stage. Instead, initiate the enumeration of a sequence $(\xi _{i,n})$ of points in the complement of $B^c(x_n, 2^{n}) \cup B^c(y_n, 2^{n})$ rapidly converging to $z_n$ , i.e., $d(z_n, \xi _{i, n}) = 2^{ni}$ . At stage s, put $\xi _{s, n}$ into the space.

• Wait for the nth potential procedure to declare that $B^c(x_n, 2^{n}) \cap B^c(y_n, 2^{n}) \neq \emptyset $ .

• If this ever happens at some stage s, stop putting points $\xi _{s,n}, \xi _{s+1,n} \ldots $ into the space.
It should be clear that, for each gadget, the diagonalization works. We also note that the gadgets are uniformly computably compact. We can fit all these gadgets into the unit square and get a computably compact metric space (of Cantor–Bendixson rank 2) with the desired property.
Thus, we see that the nonemptiness of settheoretic intersection of basic open balls in not c.e. in general. We will return to this issue in Section 3.3 where we will see that there are enough balls for which this property actually is decidable; hence, we can get a characterization of computable compactness where the basic balls used in covers have decidable intersections.
A similar example can be produced to show that inclusion is also not c.e. in general. The following stronger notion is c.e.; it will be very useful throughout the paper. We write $r(B)$ for the radius of a basic ball B and we use $cntr(B)$ to denote its (distinguished) center.
Definition 2.10. A basic open ball U is said to be formally included into a basic open W, written $U \subseteq _{form} W$ , if
This notion has been around for many decades (see, e.g., [Reference Spreen139] where it is called strong inclusion). If the centres and the radii are computable (not necessarily special and rational, respectively), formal inclusion remains c.e. The same can be said about formal sdisjointness defined as follows.
Definition 2.11. Two basic open balls U and W are formally sdisjoint if $r(U) + r(W) < d(cntr(U), cntr(W))$ and this can be seen after calculating the radii and the distance with precision $2^{s}$ . We say that U and W are formally disjoint if they are formally sdisjoint for some s.
We note that formal inclusion remains c.e. in the context of rightc.e. metric spaces, while formal disjointedness remains c.e. in leftc.e. metric spaces.
2.5. Effectively continuous maps
Let X be a computable topological space. For a point $x\in X$ , its name is the set
We say that a map $f:X \rightarrow Y$ between computable topological spaces X and Y is computable if there exists an enumeration operator that, given the name of $x \in X$ , outputs the name of $f(x) \in Y$ .
An open name of an open set $U \subseteq X$ is a set $W\subseteq \omega $ such that
Definition 2.12. Let X and Y be computable topological spaces. A function $f\colon X \to Y$ is effectively continuous if there is a c.e. family $F\subseteq \mathcal {P}(X) \times \mathcal {P}(Y)$ of pairs of (indices of) basic open sets such that:

(C1) For every $(U,V) \in F$ , we have $f(U) \subseteq V$ .

(C2) For every point $x \in X$ and every basic open E in Y such that $f(x)\in E$ , there exists a basic open D in X with $(D,E) \in F$ and $x\in D$ .
The elementary fact below is wellknown and can be traced back to, e.g., [Reference Ceitin27]. In this specific form it can be found in [Reference Melnikov and Montalbán97]. The lemma essentially says that a map is computable if, and only if, it is effectively continuous.
Lemma 2.13. Let $f\colon X\to Y$ be a function between computable Polish spaces. Then the following conditions are equivalent:

(1) f is effectively continuous.

(2) There is an enumeration operator $\Phi $ that on input an open name of an open set V in Y lists an open name of the set $f^{1}(V)$ in X.

(3) There is an enumeration operator $\Psi $ that given the name of a point $x\in X$ , enumerates the name of $f(x) \in Y$ .
(We remark that the proof below works for rightc.e. spaces. It also works for computable topological spaces with c.e. formal (strong) inclusion that can be defined abstractly without any reference to a metric; see, e.g., [Reference Melnikov and Montalbán97, Reference Spreen139].)
Proof $(1) \Rightarrow (2).$ Suppose $V = \bigcup _{i \in W} B_i$ . Note that (C2) implies that
and thus the name of $f^{1}(B_i)$ can be listed using only positive information about $W,$ with all possible uniformity.
$(2) \Rightarrow (3).$ Note that $B \in N^{f(x)}$ if and only if $f^{1}(B)$ contains a basic open set in $N^x$ .
$(3) \Rightarrow (1).$ Define a collection F of pairs $(D,E)$ of (indices of) basic open sets in $X \times Y$ as follows. Fix a basic open E in Y. Enumerate all basic open D in X, and for each such D, enumerate all finite collections $D, A_1,\ldots , A_k$ of basic open sets (in X) such that $D \subseteq _{form} \cap _{i \leq k} A_i$ (meaning that D is formally contained in each $A_i$ ). Feed these finite collections to $\Phi $ and wait for some E to be enumerated in the output. When E is enumerated (if ever), put $(D,E)$ into F.
We claim that F defined above satisfies (C1) and (C2). We check (C1). If $(D,E) \in F$ then $f(D) \subseteq E$ . Indeed, suppose $d \in D$ . There exists a sequence $D, A_1, \ldots , A_k$ such that $\Phi ^{\{D, A_1,\ldots , A_k\}}$ enumerates E. Recall $D \subseteq _{form} \cap _i A_i$ implies $D \subseteq \cap _i A_i$ , thus for any $d \in D$ the sequence listed by $\Phi ^{N^d}$ will contain E, and therefore $f(D) \subseteq E$ . We now check (C2). Fix $x \in X$ and a basic open $E \ni f(x)$ . We must show that for some basic open $D \ni x$ , $(D, E) \in F$ . By assumption, $\Phi ^{N^x}$ enumerates $N^{f(x)}$ that contains E. Suppose E is listed with use $A_1, \ldots , A_k$ . Since the $A_i$ all contain x, there exists a basic open $D \ni x$ that is formally included into their intersection. Since the operator uses only positive information about its oracle, it will list E on input $\{D, A_1, \ldots , A_k\}$ as well, and thus $(D,E)$ will be enumerated into F.
2.6. $\Pi ^0_1$ classes
$\Pi _1^0$ classes will be important for some of the work to follow. Thus we give a brief reminder of the basic definitions and results.
We fix the standard computable presentation of $2^{\omega }$ under the usual shortest common initial segment ultrametric. The space $2^{\omega }$ can be viewed as $[2^{<\omega }]$ the set of infinite paths through the complete binary tree, so points are paths. A closed subset C of $2^{\omega }$ is called an a $\Pi ^0_1$ class if we can computably enumerate the basic clopen sets whose union make up the complement of C in $2^{\omega }$ . That is, C is the set of paths $[T]$ through a computable subtree T of $2^{<\omega }$ .
A moment’s thought reveals that in computable mathematics $\Pi _1^0$ classes occur everywhere. One of the fundamental correspondences is $\Pi _1^0$ classes and degrees of theories, pioneered by Jockusch and Soare in the early 1970s [Reference Jockusch and Soare70–Reference Jockusch and Soare72], and even earlier by Kreisel [Reference Kreisel86] and Shoenfield [Reference Shoenfield133]. That is, $\Pi _1^0$ classes effectively correspond to (completions of) axiomatizable theories under Stone duality.
We shall need the following elementary fact:
Fact 2.14. An isolated point in a $\Pi ^0_1$ class is computable.
Thus, for instance, if a $\Pi _1^0$ class is countable, it must have a computable point. Another wellknown but less elementary fact that we will refer to is the following result.
Theorem 2.15 (The Low Basis Theorem [Reference Jockusch and Soare72]).
A nonempty $\Pi ^0_1$ class contains a member P of low Turing degree, that is, $P'\equiv _T \emptyset '$ .
Since we are concerned with computable compactness, it seems reasonable to see what computable compactness means in this context.
Example 2.16. Let $C=[T] \subseteq 2^{\omega }$ be a $\Pi _1^0$ class such that Ext $(T)=\{\sigma \in T\mid \exists \alpha \in 2^{\omega }(\sigma \alpha \in [T])\}$ is computable.Footnote ^{4} Then $C= [T]$ can be viewed as a computably compact space. To see why, first use computability of Ext $(T)$ to define a computable sequence of (uniformly computable) strings $D=\{\alpha _i\mid i\in \omega \} \subseteq 2^{\omega }$ so that D is dense in C; we omit the details. (The example will be generalised in Section 3.5 where we will give a complete proof of a more general result.) Clearly, being the completion of D, C forms a computably metrized space under the ultrametric inherited from $2^{\omega }$ . Given n, we compute a $2^{n}$ cover. Compute $E_n=\{\sigma \mid \sigma \in $ Ext $(T)\land \sigma =n+1\}$ . Let $E_n=\{\tau _1,\dots , \tau _k\}$ . For each i we can use the fact that Ext $(T)$ is computable to calculate the leftmost extension $\alpha _i$ of $\tau _i$ in C, and then the balls of radius $2^{n}$ around the $\alpha _i\cap C$ cover C.
Many other facts about $\Pi _1^0$ classes can be found in [Reference Cenzer29, Reference Cenzer and Remmel30] and Chapter 2 of [Reference Downey and Hirschfeldt36].
3. The definition of computable compactness is robust
3.1. The other two standard definitions of computable compactness
Our convention is that all of our spaces are nonempty Polish spaces. Definition of computable compactness says that for every n we can compute a cover of the space by basic $2^{n}$ balls. This definition seems a weak form of compactness, as it seems that having a fixed cover for each $2^{n}$ does not seem quite as good as having access to all finite covers. The following definition would seem to give a stronger notion of computable compactness.
Definition 3.1. We define computably metrized space to be $*$ computably compact if the collection of all finite covers of M by basic open balls can be given as a c.e. collection of explicit finite sets.
We also note that Definition 3.1 is equivalent to:
Definition 3.2. We say that a computably metrized space is computably countably compact if there is a partial computable operator that, on input any potential c.e. open basic cover, halts if it is a cover and outputs some finite subcover.
It is easy to see that a space is effectively $*$ compact iff it is computably countably compact. To see why computable countable compactness implies $*$ computable compactness, we can enumerate all finite collections of basic open balls and apply the algorithm: if the procedure halts output its subcover. This enumerates a collection of finite covers, and to enumerate them all, we consider the union of this collection with the collection of all finite sets of balls. The other direction is also straightforward: if the space is $*$ computably compact, given a c.e. cover wait till we enumerate a finite subcover. These versions of countable compactness is essentially the approach used in reverse mathematics (e.g., [Reference Simpson135]).
Interestingly, the two potential definitions suggested above (and a few more) turn out to be equivalent.
Theorem 3.3 (Folklore).
For a computably metrized (compact) Polish space M, TFAE:

(1) M is computably compact.

(2) M is $*$ computably compact.
Proof The implication $(2)\rightarrow (1)$ is obvious.
Assume $(1)$ . We prove $(2)$ . Take a finite collection $(B_i)$ of basic open sets and assume it is a cover. We must argue that eventually we will be able to effectively recognise that it is indeed a cover. The idea is that there exists an $\epsilon = 2^{n}$ so small that every $\epsilon $ cover of M is formally contained in this given cover. (This will be the Lebesgue number of the cover, in particular.) This will also be true for the $\epsilon $ cover that will be given to us according to the definition of computable compactness. Since formal inclusion is c.e., we will be able to recognise that this formal inclusion has occurred. Noting that formal inclusion does imply settheoretic inclusion, so if some $\epsilon $ cover is formally included in some other finite collection of basic open balls, then this other collection must also be a cover. Thus, if we succeed, it will show that $(B_i)$ is equivalent to saying that, for some n, every ball in the $2^{n}$ cover given to us by the definition of computable compactness (and indeed, any other $2^{n}$ cover) is formally included in one of the $B_i$ . This is, of course, a $\Sigma ^0_1$ property.
It remains to prove that such an $\epsilon $ exists. We argue noncomputably. Let $c_i$ be the center of $B_i$ , and $r_i$ be its the radius. Define for every i, a function $f_i (x) = r_i  d(x,c_i)$ if x is in the ball $B_i$ , and $0$ otherwise. This function is continuous. Now take the supremum of the finite family $(f_i)$ to define a new continuous g; $g(x)=\sup _i f_i(x)$ . If $(B_i)$ indeed was a cover, then the function g would be strictly positive, because each x is inside one of the $B_i$ .
Let v be its infimum that is achieved somewhere, by compactness. Take a rational $\epsilon =2^{m}$ less than $v/2$ . Then for every point y, we have $ \epsilon < r_i  d(y, c_i)$ ; that is
equivalently, $B(y, \epsilon ) \subset _{form} B_i$ . This inclusion will still hold if we replace $\epsilon $ with an even smaller $\epsilon '$ . Thus, in particular, every basic open $\epsilon '$ ball is formally included in one of the $B_i$ . Consequently, $(1)$ implies $(2)$ .
Remark 3.4. The proof of $(1) \rightarrow (2)$ above additionally tells us that, for any given finite basic cover there is an $\epsilon $ small enough so that any $\epsilon $ cover formally refines the given cover. Also note that to recognize formal inclusion in a c.e. way, we do not need the radii $r_i$ to be rational numbers; (uniformly) computable $r_i$ will suffice.
In view of Theorem 3.3, henceforth we use computably compactness and $*$ computably compactness interchangeably, and without further comment.
3.1.1. Elementary properties of computably compact spaces
Examples of computably compact spaces are the unit interval $[0,1]$ , the unit circle that can be viewed as the set of complex numbers having norm one: $\{\xi \in \mathbb {C}:  \xi  =1\}$ , the Hilbert cube, cantor space $2^\omega $ , and also “natural” (rational) geometric realisations of finite simplicial complexes that are central to algebraic topology. Simplicial complexes will be used as a tool later in the paper, and indeed will be discussed in the next subsection. We shall give much more intricate examples of computably compact spaces in due course.
There are several properties of computably compact spaces that are immediate from the definitions. These, for instance, include those summarised in the following:
Proposition 3.5 (Folkore).

(1) Let $f:M \rightarrow \mathbb {R}$ be computable and let M be computably compact. Then $\sup _{x \in M} f(x)$ and $\inf _{x \in M} f(x)$ are computable real numbers. Furthermore, this is uniform.

(2) The class of (nonempty) computably compact spaces is closed under taking (finite or computably infinite) direct products. More specifically, if $(M_i)_{i \in I}$ is a uniformly computable sequence of spaces, where $I \in \omega \cup \{\omega \}$ , then the direct product
$$ \begin{align*}\prod_{i \in I} M_i\end{align*} $$under (say) the metric$$ \begin{align*}\sum_{i \in I} 2^{i} \dfrac{d(x_i, y_i)}{1+d(x_i, y_i)},\end{align*} $$where $x_i$ denotes the ith projection of $x \in \prod _{i \in I} M_i$ , is a computably compact metric spaceFootnote ^{5} . (See, e.g., Lemma 3 of [Reference Rettinger126].) 
(3) If $f, g :M^n \rightarrow \mathbb {R}$ are computable and M is computably compact, then the following functions are also computable:

• $\sup _{x \in M} f(x, x_2, \ldots , x_n)$ and $\inf _{x \in M} f(x, x_2, \ldots , x_n)$ ;

• $\max \{f, g \}$ and $\min \{f, g\}$ ;

• $fg, f+g, \alpha g$ for any computable real $\alpha $ .
This is also uniform in the strongest sense possible.

We omit the elementary proof. We remark that in (2), the choice of a dense computable sequence is not canonical. One way of choosing a dense computable sequence is to fix some (e.g., the first found) sequence of special points $\alpha $ in the product, and then using elements that are “eventually $\alpha $ .” That is the dense subset will be given by the collection of sequences of special points that are equal to $\alpha $ for cofinitely many coordinates (projections). There are other potential metrics that we can use instead of the one suggested above, but the natural choices will be effectively equivalent (meaning that the identity map will be computable with respect to one and the other metric under consideration).
3.2. Continuous logic and decidability
In this subsection we discuss continuous model theory and continuous logic. For a smooth introduction to this subject, we cite [Reference Ben Yaacov, Berenstein, Henson and Usvyatsov9]. We will not need the definitions of continuous model theory in their full generality. Our structures are compact metric spaces of diameter at most $1$ . The restriction on the diameter can be removed using linear scaling of the metric. We view such spaces as structures in the signature $\{d\}$ , where $d:M^2 \rightarrow [0,1]$ .
The idea is that every formula $\phi $ of continuous logic is (associated with) a uniformly continuous function, and $[\phi ]: M^n \rightarrow [0,1]$ . In classical logic the truth values $\{T,F\}$ are built into the language, and continuous logic has $[0,1]$ similarly built into the signature. We therefore fix the standard computably compact copy of $[0,1]$ given by $\mathbb {Q} \cap [0,1]$ and view it as a part of the language, not a part of our structure. Traditionally, $\phi (\bar {x})$ is interpreted as “true” if $[\phi (\bar {x})] = 0$ , and false if $ [\phi (\bar {x})] = 1$ . But of course, there are continuum many possibilities inbetween. Having in mind this intended interpretation of formulae, we write $f, g,h \ldots $ to denote our continuous formulae. Because of the aforementioned somewhat unusual interpretation of the truth values, it makes sense to define the analog
of implication as follows:
In particular, $1$ (which is the “ultimate false”) implies any g. Also, we interpret the disjunction as the minimum:
and we interpret the conjunction as the maximum of the two functions. The analog of the negation of f is
. Also, we include $\dfrac {1}{2} f$ to mean $\dfrac {1}{2}[f]$ . Finally, instead of quantifiers we use $\sup $ and $\inf $ . For example, if $f(x,y)$ has already been defined, we can define $g(x)$ to be
and in this case clearly
which is (uniformly) continuous if f was.Footnote ^{6}
Since our language is merely $\{d\}$ , the atomic formulae are just $d(x,y)$ and the constant functions $0$ and $1$ . We close these formulae under finite iterations of $\sup , \inf , \wedge , \vee , \dfrac {1}{2} \cdot ,$ and to define the (full) continuous diagram of $(M, d)$ . The definition below is inspired by [Reference Ben Yaacov and Pedersen10, Definition 9.9] and [Reference Camrud, Goldbring and McNicholl25, Definition 3.2]. Recall that we fixed the usual computable presentation on the unit interval.
Definition 3.6. We say that a Polish space of diameter ${\leq}1$ is continuously decidable if its continuous diagram is uniformly computable. That is, given (the Gödel number of) a continuous formula $\phi (\bar {x})$ (from the full continuous diagram of M) we can uniformly produce an index for a Turing operator that computes the function
where $\bar {x} = x_1, \ldots , x_n$ .
In the definition above, we could allow M to have an arbitrary diameter $1 \leq \delta \leq m \in \mathbb {N}$ and use $m^{1} [\phi (\bar {x})]$ as an interpretation of our formulae. Alternatively, we could scale the metric and use $d'(x,y) = m^{1} d(x,y)$ . Thus, the theorem below is not really restricted to spaces of diameter $\leq 1$ ; it is a mere notational convenience.
Theorem 3.7. Suppose X is a computable Polish space that is compact and has diameter $\leq 1$ . Then the following are equivalent:

(1) X is continuously decidable.

(2) X is computably compact.
Proof $(2) \rightarrow (1)$ . The supremums and infimums of computable functions are uniformly computable (see Proposition 3.5(1)), and so is for every computable f and g. The proof then proceeds by induction on the complexity of continuous formulae (with parameters).

(1) The distance function is computable by our assumption, and so are the constant functions $1$ and $0$ .

(2) If $f(x, \bar {y}), g(x, \bar {y})$ are computable, then so are , and $\dfrac {1}{2} f(x, \bar {y})$ (see Proposition 3.5(3)).
The latter also includes the case when there are no parameters, which means that the function is just the constant function (a computable real).
$(1) \rightarrow (2)$ . Let $(x_i)$ be the computable dense sequence. There is a formula of continuous logic saying that
which we can computably evaluate with precision $2^{n}$ . If we discover that
then every point is at distance at most $2^{n+1}$ from one of the $x_i$ , by the triangle inequality. Since we can effectively list such formulae, and for every n there exists an m for which the formula holds up to $2^{n}$ (by compactness), we conclude that we can effectively produce at least one $2^{n}$ cover for every n.
The result above should hold for any metric compact structures, e.g., compact Polish groups. Of course, $(1) \rightarrow (2)$ remains the same, but $(2) \rightarrow (1)$ should be carefully verified. We leave this as a conjecture.
Remark 3.8. Note that in the proof, we only need to decide formulae with parameters special points. So it follows that a presentation is decidable with parameters special points iff it is decidable with arbitrary parameters.
3.3. Deciding the intersection
The results in this section appear to be new as state; however, similar arguments and some informal explanations closely related to what we do here can be found in the literature (e.g., in [Reference Hoyrup, Kihara and Selivanov62, Reference Pauly119]). One standard way of using a (finite) cover of a compact space in dimension theory and algebraic topology is to use Alexandroff’s notion of a nerve.
Definition 3.9 (Alexandroff [Reference Alexandroff2]).
A nerve of a cover is a simplicial complex in which the faces are the collections of basic open sets that have a nontrivial intersection.
For example, each basic open set is a zerodimensional simplex (a node), and balls $\{B,C,D\}$ form a twodimensional face if $B \cap C \cap D \neq \emptyset $ . From the computabilitytheoretic standpoint, the issue with this definition is that, for a fixed finite open cover, the nonemptiness of each specific intersection is merely $\Sigma ^0_1$ ; recall Example 2.9 in the preliminaries. Intuitively, most problems arise when the notions “closed ball” and “closure of ball” disagree. This in fact can happen only for countably many radii, and we can find sufficiently small “acceptable radii” [Reference Pauly119]. To state the result formally, we push the notion of computable compactness to its limits.
Definition 3.10. A sequence of basic open balls is $\cap $ decidable if for every finite sequence of balls $B_0, \ldots , B_k$ from the sequence, we can computably decide whether $\bigcap _{i = 0, \ldots , k} B_i = \emptyset .$
Before we proceed, we state and prove one elementary but important lemma. Recall that, for a basic open B, we write $B^c$ for the basic closed ball with the same centre as B, and that the closure $\overline {B}$ of B does not have to be equal to $B^c$ in general.
Lemma 3.11. Suppose M is computably compact. Then, for basic closed balls $B_i^c$ and $B_j^c$ , the property $B_i^c \cap B_j^c = \emptyset $ is c.e. uniformly in $i,j$ . The same is true for any finite collection of basic closed balls.
Proof The open set $M \setminus B_i^c$ is c.e. Indeed, we just list all the basic open balls that are formally disjoint from $B_i^c$ via a standard argument.Footnote ^{7} Thus, the union of the complements, which is the complement of the intersection $B_i^c \cap B_j^c$ , is also c.e. open. It covers the space if, and only if, the intersection is empty. By computable compactness of M, this is c.e. The case of finitely many balls is similar.
Definition 3.12. A computably metrized (compact) M is nervedecidable, or $**$ computably compact, if for every $n>0$ we can computably find a finite $2^{n}$ cover $K_n$ (represented as a finite tuple of basic open balls) of M so that $K_n$ is $\cap $ decidable uniformly in n.
Theorem 3.13. A computably metrized M is nervedecidable ( $**$ computably compact) if, and only if, it is computably compact.
Proof Obviously, $**$ computably compactness implies computable compactness. To this end, we assume computable compactness of M. We will use the equivalence of computable compactness and $*$ computable compactness throughout the rest of the proof without explicit reference.
We need to show that, for every $\epsilon>0$ , there exists a finite basic open $\epsilon $ cover K of the space. Fix a finite $\epsilon /2$ cover of the space by basic open balls, and replace each ball in the cover with an $\epsilon $ ball with the same centre. Let S be this new $\epsilon $ cover. Recall that $B^c$ denotes the basic closed ball with the same centre as B. For each basic open $B_1, \ldots , B_k \in S$ , (exactly) one of the possibilities is realized:

(a) $ \bigcap _{i \leq k} B_i^c = \emptyset $ , or

(b) $\bigcap _{i\leq k} B_i \neq \emptyset $ , or

(c) $ \bigcap _{i \leq k} B_i^c \neq \emptyset $ but $\bigcap _{i\leq k} B_i = \emptyset $ .
Note that there are only finitely many conditions like that in total.
If we shrink the radii of all $B \in S$ by a $\delta <\epsilon /2$ (but keep the same centres), then the conditions of the form $(a)$ will still hold, and the smaller balls will still cover the space because the $\epsilon $ balls do. If $\delta $ is small enough, then the conditions of the form $(b)$ will still be satisfied, since there are only finitely many conditions like that involved.Footnote ^{8} The third alternative $(c)$ must be witnessed only by points y such that, for some $B_i = B(c,r)$ , $d(y,c) =r$ . This means that, after the shrinking by $\epsilon /2>\delta >0$ so small that the alternative $(b)$ still holds for each tuple of balls, we completely exclude the third alternative for the new cover.
This argument shows that such a cover exists. Since the conditions are c.e. by Lemma 3.11, it remains to search for a cover such that each finite collection of basic balls in the cover satisfies either $(a)$ or $(b)$ .
By Remark 3.4, we can additionally assume that $K_{n+1}$ formally refines $K_n$ . Clearly, we get the following corollary which will be useful later:
Corollary 3.14. Every computably compact space admits uniformly computable sequence of $2^{n}$ nerves (one nerve for each n), where the latter are represented as a finite combinatorial simplices. Furthermore, the formal inclusion between covers $K_{n+1}$ and $K_n$ induces a simplicial map between the respective nerves $;$ these maps are uniformly computable in n. (We cite [Reference Munkres108] for the standard definitions from algebraic topology that we omit here.)
3.3.1. A stronger condition
It will be convenient to have a system of covers $(K_n)$ so that not only each $K_n$ is $\cap $ decidable but the whole collection $\bigcup _n K_n$ is $\cap $ decidable. (We strongly conjecture that there is an elementary counterexample.) For instance, we will see soon that having such a stronger system of covers will allow us to computably map $2^{\omega }$ onto the space; this is $(vii)$ of Theorem 1.1.
We are not sure whether such covers can be uniformly constructed for basic open balls with rational radii (represented as a pair of integers), but we can contract such a system for balls with centres in special points and uniformly computable radii.Footnote ^{9} We call such balls basic computable open.
Definition 3.15. A computably metrized M is strongly computably compact if M admits a system of $2^{n}$ covers $K_n$ , $n \in \omega $ , by basic computable open balls such that $\bigcup _n K_n$ is $\cap $ decidable.
Theorem 3.16. A computably metrized M is computably compact if, and only if, it is strongly computably compact.
Proof By slightly increasing the radii of all the balls in a cover, we can ensure their radii are rational. Thus, every strongly computably compact space is computably compact. To this end, we assume the space is computably compact.
The idea behind the proof is as follows. We would like to argue that the idea from the proof of the previous Theorem 3.13 can be iterated. For example, suppose we have come up with a $\cap $ decidable $K_0$ and need to find $K_1$ so that $K_0 \cup K_1$ is $\cap $ decidable. But to find such a cover, we might have to slightly shrink the radii of the balls that we have already put into $K_0$ . This is because it could be that for some $B \in K_0$ and C that we attempt to put into $K_1$ , there is a point at distance $r(B)$ from the centre of B that lies in C and is isolated, so there is nothing in $B \cap C$ .
Suppose we iterate the strategy form the proof of Theorem 3.13 and allow the procedure to slightly shrink all the balls in $K_0$ , thus updating the radii of balls in $K_0$ . But note that $K_0$ must still satisfy the closed properties $ \bigcap _{i \leq k} B_i^c = \emptyset $ and finitely many open properties $\bigcap _{i\leq k} B_i \neq \emptyset $ . The former is not an issue since the radii will decrease. The latter, however, needs to be maintained more carefully. When we first discover the finitely many open relations of the form of finitely many strict inequalities (when $K_0$ is first introduced), we also compute a rational parameter $\delta _0>0$ such that the relations will still hold if we decrease the radii of the balls by $\delta _0.$ This is possible since the conditions build down to finitely many strict inequalities involving the radii and computable numbers:
where $c_i$ are centres of the balls and $x_i$ are special points witnessing that a certain intersection is not empty.
We then define $\delta _{0, n} = 2^{n2}\delta _0$ and note that $\sum _i \delta _{0, i} < \delta _0.$ We intend to shrink the radii of each ball in $K_0$ by at most $\delta _{0,s}$ at stage s. This will make the radii in the balls computable while maintaining the finitely many conditions that $K_0$ needs to satisfy.
We also iterate this. When we define $K_1$ , we will have more open conditions to maintain for $K_0 \cup K_1$ . We compute a $\delta _1>0$ and set $\delta _{1, n} = 2^{n2}\delta _1$ . We also ensure that $\delta _{1, n} \leq \delta _{0, n}$ , for every n. When we define (our first approximation to balls in) $K_2$ at stage t, we will allow balls in $K_0$ to shrink by at most $\delta _{1, t} \leq \delta _{0,t}$ and balls in $K_1$ by at most $\delta _{1, t}$ . All the finitely many conditions will still be satisfied.
We iterate this process until, in the end of the construction, we finally get a collection of computable balls $\bigcup _n K_n$ . At no stage we are stuck. By the choice of the parameters, all of the open conditions still hold, while the closed conditions will be satisfied vacuously.
Hopefully, the explanation above is sufficiently convincing, but we shall give a formal proof for completeness.
Formal proof.
Lemma 3.17. For every $\epsilon>0$ and $\delta>0$ and any finite collection $K'$ of basic open balls, there exists a finite basic open $\epsilon $ cover K of the space and a collection of basic open balls $K"$ such that:

(i) Every ball in $K"$ has the same centre as some ball in $K'$ but its radius is at most $\delta $ smaller.

(ii) For each basic open $B_1, \ldots , B_k \in K" \cup K$ , either $ \bigcap _{i \leq k} B_i^c = \emptyset $ or $\bigcap _{i\leq k} B_i \neq \emptyset $ holds.
Of course, $\bigcap _{i \leq k} B_i^c = \emptyset $ implies $\bigcap _{i\leq k} B_i = \emptyset $ , and thus K in the lemma has computable nerve, and for the same reason $K \cup K'$ is $\cap $ decidable.
Proof of Lemma 3.17
Fix a finite $\epsilon /2$ cover of the space by basic open balls, and replace each ball in the cover with an $\epsilon $ ball with the same centre. Let S be this new $\epsilon $ cover. Recall that $B^c$ denotes the basic closed ball with the same centre as B.
For each tuple of basic open $B_1, \ldots , B_k \in S \cup K'$ , (exactly) one of the possibilities is realized:

(a^{′}) $ \bigcap _{i \leq k} B_i^c = \emptyset $ , or

(b^{′}) $\bigcap _{i\leq k} B_i \neq \emptyset $ , or

(c^{′}) $ \bigcap _{i \leq k} B_i^c \neq \emptyset $ but $\bigcap _{i\leq k} B_i = \emptyset $ .
Note that there are only finitely many conditions in total.
If we shrink the radii of all $B \in S$ by a $\delta '< \min \{ \delta , \epsilon /2 \}$ (but keep the same centres), then the conditions of the form $(a')$ will still hold, and the smaller balls will still cover the space because the $\epsilon $ balls do. If $\delta '$ is small enough, then the conditions of the form $(b')$ will also still be satisfied, since there are only finitely many conditions like that involved. Note that the third alternative must be witnessed only by points y such that, for some $B_i = B(c_i,r)$ , $d(y,c_i) =r$ . This means that, after we shrink the radii by $\epsilon /2>\delta '>0$ , $(b')$ will still holds for each tuple of balls, but we completely exclude the third alternative. Define $K"$ to be the balls in $K'$ after the shrinking, and K is the shrunken balls from S.
The rest of the proof proceeds by induction; we iteratively apply Lemma 3.17 to produce a system of covers that satisfies the properties required in the definition of a strongly computably compact presentation. We produce a sequence $(K_n)$ of covers, as follows.
At stage $0$ , search for a finite collection of basic open balls K satisfying conditions of Lemma 3.17 with $\epsilon = \delta = 1$ and $K' = \emptyset $ . Define $\hat {K}_{0,0}$ equal to the first found such K. Also, for the finite collection of strict inequalities that witness nonemptiness of intersections in $K_{0,0}$ calculate a parameter $\delta ' \in \mathbb {Q}$ such that the inequalities would still hold if we decrease the radii by $\delta '$ . Set $\delta _0 = \delta '$ and $\delta _{0,i} = 2^{i2}\delta _{0}$ .
At stage $s>0$ , suppose $K_{i, s1}$ ( $i <s $ ) and $\delta _{s1, s1}$ have already been defined. Search for a finite collection of covers K that satisfies the lemma with $K' = \bigcup _{i<s} K_{i, s1}$ , $\epsilon = 2^{s}$ , and $\delta = \delta _{s1, s1}$ . This will give a finite collection of balls $K"$ having the same centres as balls in $K'$ but perhaps having radii at most $\delta $ smaller than the radii of the respective balls in $K'$ . For $i<s$ , define $K_{i, s}$ to be the collection of those balls in $K"$ that have the same centre as some ball in $K_{i, s1}$ . Define $K_{s,s} = K$ , where K is first found satisfying the conditions of the lemma. Compute a rational $\delta '>0$ so small that the finitely many strict inequalities that witness nonemptiness of finite collections of balls in $\bigcup _{i\leq s} K_{i, s}$ will still hold if we decrease all the radii of all balls in $\bigcup _{i\leq s} K_{i, s}$ by $\delta '$ . Set $\delta _{s} = \min \{\delta _s, \delta '\}$ and define $\delta _{s,s} = 2^{s2}\delta _{s}$ . Proceed to the next stage.
The verification boils down to noting that at no stage of the construction we are stuck, so $K_{i,s}$ and $\delta _{s,s}$ are defined for every s. This is because of Lemma 3.11 implying that the conditions $(a')$ and $(b')$ are uniformly c.e., and because of Lemma 3.17 saying that balls and parameters with the needed properties exist. Thus, we just search for the first found balls and parameters.
At every stage s, the radii of the balls in $K_{i,s}$ shrink by at most $\delta _{s,s} \leq 2^{s}$ , which makes each of the radii uniformly approach a computable real number as s goes to infinity. Set $K_i$ equal to these balls that have their radii equal to the limit of the radii of the balls with the same centre in $K_{i,s}$ . When compared to the radius of the ball in $K_{s,s}$ when it was first introduced, the radius of the respective ball in $K_s$ will be smaller by at most $\sum _{n>s} \delta _{n,n} < \sum _{n>s} \delta _{s,n} \leq \delta _s $ , and $\delta _s$ is not greater than the parameter $\delta '$ that was calculated at stage s and that was sufficient to maintain the nonemptiness of finite intersections in $K_{s,s}$ . Since the radii can only decrease, the conditions that say that the closed balls do not intersect will be preserved from a stage to a stage, and in the limit.
It follows therefore that $\bigcup _n K_n$ consists of uniformly computable collection of basic computable balls and is $\cap $ decidable.
Remark 3.18. The reader should note that, instead of using basic open covers, we could just as well used basic closed covers in the proof of Theorem 3.16. For instance, for any finite collection of basic computable balls $C_0, \ldots , C_k$ , we have $\bigcap _{i \leq k} C_i =\emptyset \iff \bigcap _{i \leq k} C^c_i =\emptyset ,$ where $C_i^c$ is the basic closed ball with the same centre and radius as $C_i$ . Also, by Remark 3.4, we can always assume that $K_{n+1}$ is formally contained in $K_n$ , and this will still be true if we choose working with closed covers. For that, define a new system of (closed or open) covers $K_{f(n)}$ where $f(n)$ is a computable monotone function that grows sufficiently fast so that $K_{f(n+1)}$ formally refines $K_{f(n)}$ .
However, even when we are working with closed basic computable balls, the intersection can always be witnessed by a special point, because the respective open balls intersect too.
Recall that $\overline {C}$ denotes the closure of a basic computable open ball C, and recall that
and, in general, both inclusions can be strict. But these inclusions also guarantee that we can use closures of the open balls to form covers in Theorem 3.16 and still decide intersection. We can also come up with any combination of open, closed, and closures (e.g., decide whether $B_i \cap \overline {B_j} \cap B^c_k = \emptyset $ ) for any computable balls in K constructed in Theorem 3.16.
Definition 3.19. If a computable sequence $(K_n)$ of finite $2^{n}$ covers of computable balls satisfies the properties described in Definition 3.15 then we say that $(K_n)$ is a fully $\cap $ decidable system of covers of the space. Such a K is given by a uniformly computable sequence of (finite sets $K_n$ of) indices of radii and special points, and we can choose whether we want to consider open, closed, or closures of open balls that have these parameters (see Remark 3.18).
For instance, when we say “ $B^c(r,q)$ is in $K_n$ ” or “ $\overline {B(r,q)}$ in $K_n$ ,” or the same for $B(r,q)$ , we really mean that parameters $\langle r, q \rangle $ are listed in $K_n$ (where q is given as an index of a computable real).
The following lemma will be useful later.
Lemma 3.20. Let $K = \bigcup _n K_n$ be a fully $\cap $ decidable system of covers of a space M. Then, for every closed ball $D^c$ in K we can enumerate all basic open B in M such that $B \cap D^c \neq \emptyset $ .
Proof Suppose $B \cap D^c \neq \emptyset $ and let x be any (not necessarily special) point in the intersection. Suppose the radius of B is $\delta $ , and let $c_1$ be the centre of B, and $r_1$ its radius. For some positive $\delta $ , we have
Fix n so that $2^{n}< \delta /2$ , and consider the finite set $K_n$ . Since $K_n$ is a (closed or open) cover of the whole space, there must exist some $C \in K_n$ such that $x \in C$ . Since $x \in D^c$ , it must be that
and (by our assumption) this can be recognised computably. We claim that for this C, we have that C is formally included into B.
Indeed, if $c_2$ is the centre of C and $r_2$ is it radius, then we have that $d(x, c_2) < r_2 \leq 2^{n} < \delta /2$ , and therefore
which is the same as to say that C is formally included into B.
It follows that B intersects $D^c$ if, and only if, there is an $n>0$ and a ball $C \in K_n$ such that $C \cap D^c \neq \emptyset $ and C is formally included into B. This is a $\Sigma ^0_1$ property.
3.4. Isometryinvariance of computable compactness
Iljazovič [Reference Iljazović65] discovered that the notion of computable compactness admits another characterization that entails that it is isometryinvariant, i.e., every isometrically isomorphic computable metrization of the space must also be computably compact. This property has recently been independently rediscovered in [Reference Pauly, Seon and Ziegler120].
Theorem 3.21. Suppose M is computably compact and N is a computably metrized space isometrically isomorphic to M. Then N is computably compact as well.
We claim that the theorem can be derived as a consequence of condition $\mathrm{(v)}$ in Theorem 1.1:
There is a computable sequence of computable reals $(\epsilon _n)_{n \in \omega }$ such that $\epsilon _n \leq 2^{n}$ and so that, for every n, we can compute the maximal number of points in the space that are at least $\epsilon _n$ far from each other (in the sense of strict inequality).
We first prove Theorem 3.21 assuming that $\mathrm{(i)} \leftrightarrow \mathrm{(v)}$ in Theorem 1.1, and then we prove $\mathrm{(i)} \leftrightarrow \mathrm{(v)}$ .
Proof of Theorem 3.21
Assume that, in M, we can compute $(\epsilon _n)_{n \in \omega }$ and the maximal number $D(n)$ corresponding to $\epsilon _n$ . In N, search for $D(n)$ many special points that are $\epsilon _n$ far from each other. The $\epsilon _n$ balls around these points will give a finite cover of the space. We can slightly enlarge the radii to make sure that they are rational.
Proof of $\mathrm{(i)} \leftrightarrow \mathrm{(v)}$ in Theorem 1.1
The proof of Theorem 3.21 above essentially shows that $\mathrm{(v)}$ implies $\mathrm{(i)}$ . Thus, we assume computable compactness and prove $\mathrm{(v)}$ .
The reader perhaps wonders why we did not use $\epsilon _n = 2^{n}$ in $\mathrm{(v)}$ . To clarify this subtlety, we shall attempt to show that, in a computably compact M, the following invariant $D(M,2^{n})$ is uniformly computable in n:
$D(M,2^{n})$ is the maximal number of points of the space M that are $>2^{n}$ apart from one another.
The issue that we will face will clarify why we need to adjust our $\epsilon _n$ ’s. Also, it will be easy to modify this naive attempt and obtain a procedure that actually works for some $\epsilon _n \leq 2^{n}$ .
We describe our attempt. Given $\bar {x} \in M^m$ , we can calculate $\inf _{i<j \leq m} d(x_i, x_j) $ and then
If this supremum is $< 2^{n}$ , then m is too large, i.e., $m>D(M,2^{n})$ . Note that this is a c.e. event. On the other hand, by searching through all possible mtuples we can bound the maximal number of such points from below. The issue is that the supremum could be exactly equal to $2^{n}$ , so we may end up with a pair of integers $n_0, n_0+1$ each of which can potentially be equal to the invariant $D(M,2^{n})$ ; here $n_0+1$ corresponds to the situation when there are $n_0+1$ points at distance exactly $2^{n}$ from one another.
In this case we shall wait long enough so that any $(n_0+2)$ tuple has at least one pair of points at distance $> 2^{n}$ , and for some small $\xi _n < 2^{n1}$ there exist $n_0 +1$ points at distance $2^{n} \xi _n$ . Then
This allows us to compute a computable sequence of rationals
where clearly $\epsilon _n \leq 2^{n}$ , such that $D(M,\epsilon _n)$ is a computable sequence of natural numbers. Indeed, for this $\epsilon _n$ there is an $n_0+1$ tuple $\bar {y}_n$ of points that satisfy the desired properties. We can assume these points are special.
It follows from the proof above that these $\epsilon _n$ can be chosen rational and indeed, computed in the strong sense (as fractions). Note that we also obtain:
Corollary 3.22. Suppose that M and N are isometrically isomorphic computable metrized spaces. Then both admit the same modulus of compactness up to Turing degree.
3.5. Calculus of effectively closed sets
In this subsection we present some wellknown basic results about effectively closed sets, and we also derive several pleasant consequences of these results that will be important in the sequel. The notion of an effectively closed set is a generalisation of a $\Pi ^0_1$ class, and it is especially useful if the ambient space is effective compact. We will need some basic facts of this generalised theory, but of course a lot more is known (see the very recent large survey [Reference Iljazović and Kihara67]).
Definition 3.23. A closed subset C of a computably metrized M is effectively closed if $M \setminus C$ is c.e. open.
It should be clear that effectively closed sets are closed under finite unions and arbitrary computable intersections (meaning that the effective procedures listing the complements must be uniformly indexed). The following lemma is also an immediate consequence of the definition:
Lemma 3.24 (Folklore).
Suppose $f: A \rightarrow B$ is a computable surjection, and assume C is effectively closed in B. Then $f^{1}(C)$ is effectively closed (in A).
Proof This is because $A \setminus f^{1}(C) = f^{1}(B\setminus C)$ is c.e. open. To see why, recall that f is computable if, and only if, it is effectively open. If a basic open D is enumerated into $B \setminus C$ , then we will list all pairs $(D', D")$ in the continuous name of f such that $D"$ is formally included in D. Since every $x \in D$ is contained in such a $D"$ (by surjectivity), this will give an enumeration of $f^{1}(D)$ . Putting these enumerations together for all such D in $B \setminus C$ , we will list its preimage.
Another observation is an easy generalization of a wellknown fact about $\Pi ^0_1$ classes.
Fact 3.25 (Folklore).
Suppose $P = \{p\}$ is effectively closed singleton in a computably compact space X. Then the only point p of P is (uniformly) computable.Footnote ^{10}
(This can of course be pushed to show that isolated points can also be computed, though nonuniformly.)
Proof Given n, wait for a basic open ball D of radius $2^{n}$ and finitely many basic open $B_1, \ldots , B_n \in X \setminus P$ such that $D, B_1, \ldots , B_n$ cover X. Then $p \in D$ .
The fact above admits various generalisations, but we will encounter one such generalisation (specifically, in the proof of Corollary 4.11). More generally, effectively closed sets, $\Pi ^0_1$ classes, computable functions, and computably compact spaces are closely technically related. To make this relationship explicit, we need one more definition. As usual, we identify basic open balls with their indices.
Definition 3.26. A closed subset of a computably metrized M is c.e. if $\{B: B \mbox { basic open and } B \cap C \neq \emptyset \}$ is c.e.
Sets that satisfy the definition above are sometimes called computably overt in the literature. For more about effectively overt spaces, we cite [Reference Brattka and Presser19, Reference de Brecht, Pauly and Schröder23]. The fact below is wellknown; we are not sure who was the first to observe this. We cite, e.g., [Reference Brattka and Presser19, Corollary 3.14(1)].
Lemma 3.27. A closed subset C of a computably metrized space M is computably enumerable if, and only if, C possesses a uniformly computable (in M) dense sequence of points.
Note that the dense sequence makes C a computable Polish space under the induced metric.
Proof of Lemma 3.27
Suppose C possesses such a computable sequence $(\alpha _i)_{i \in \mathbb {N}}$ . Then the density of the sequence in C implies that $B_i \cap C \neq \emptyset $ iff $\exists j \alpha _j \in B_i$ , which is a uniformly $\Sigma ^0_1$ statement.
Now suppose C is a computably enumerable closed subset of M. Our goal is to construct a uniformly computable (finite or infinite) sequence of points $(\alpha _i)_{i \in I}$ that is dense in C. The proof below does not have to be nonuniform, but for notational convenience we split it into two cases, namely, when C is finite or infinite.
If C is finite, then it clearly contains only computable points. To see why, assume it is not empty (in this case there is nothing to prove) and let x be any point in C. Take a ball small enough so that $\{x\}\in B\cap C$ . To get a $2^{n}$ approximation to x, wait for a basic open $B'$ of radius $< 2^{n}$ so that $B'\cap C \neq \emptyset $ and additionally $B'$ is formally contained in B.
Without loss of generality, we assume C is infinite. We uniformly approximate a computable sequence by stages. Before we describe stage s, recall that two basic open balls U and W are formally sdisjoint if $r(U) + r(W) < d(cntr(U), cntr(W))$ and this can be seen after calculating the radii and the distance with precision $2^{s}$ . Then U and W are formally disjoint if they are formally sdisjoint for some s.
At stage $0$ , search for a basic open ball $B_{0, 0}$ of radius ${<}1$ such that $B_{0,0} \cap C \neq \emptyset $ . If such a ball is never found then do nothing. If it is every found, go to the next stage.
At stage $s>1$ first check whether there exists a basic open ball with index $<s$ which is formally sdisjoint from $B_{0, s1}, \ldots , B_{s1, s1}$ . If such a basic open B exists, then choose the first fund $B_{s,s} \subseteq _{form} B$ and $B_{i, s} \subseteq _{form} B_{i, s1}$ , $i < s$ such that $B_{j, s} \cap C \neq \emptyset $ , the $B_{j, s}$ are pairwise formally disjoint and $r(B_{j, s}) < 2^{s}$ , $j = 0, \ldots , s$ . Otherwise, if no such B exists, fix the first found pairwise formally disjoint $B_{0,s}, \ldots , B_{s,s}$ that intersect C, have radii $ < 2^{s}$ , and such that $B_{i, s} \subseteq _{form} B_{i, s1}$ for $i < s$ (note there is no further restriction on $B_{s,s}$ ). This ends the construction.
Let $\alpha _i$ be the unique point of the Polish space such that $\{\alpha _i\} = \bigcap _{j \geq i} B_{i,j}.$ Since the construction is uniform and the radii of balls are rapidly shrinking, the points $\alpha _i$ form a uniformly computable sequence. Since each of the $B_{i, j}$ ( $j =i, i+1, \ldots $ ) intersects C and C is closed, each $\alpha _i \in C$ . It remains to check that $(\alpha _i)_{i \in \mathbb {N}}$ is dense in C. Let $\overline {(\alpha _i)}_{i \in \mathbb {N}}$ be the completion of $(\alpha _i)_{i \in \mathbb {N}}$ .
Suppose $c \in C$ . We claim that $c \in \overline {(\alpha _i)}_{i \in \mathbb {N}}$ . Assume $c \notin \overline {(\alpha _i)}_{i \in \mathbb {N}}$ , and there is a ball U centred in c which is outside $\overline {(\alpha _i)}_{i \in \mathbb {N}}$ . There will be a basic open ball $B' \ni c$ of radius at most $2^{n}$ and which is formally contained in U with precision $2^{n}$ :
Then at every stage $s>n+4$ the balls $ B_{i,s1}$ , $i = 0, \ldots , s1$ will be formally sdisjoint from B, as will be readily witnessed by the metric. At some late enough stage $s'$ we will get a confirmation that $B \cap C \neq \emptyset $ . There exist only finitely many basic balls that have their index smaller than the index of B. Therefore, eventually B will be used to define $B_{t,t} \subseteq _{form} B$ , contradicting the assumption that $U \cap \overline {(\alpha _i)}_{i \in \mathbb {N}} = \emptyset .$
Definition 3.28. A closed subset of a computably metrized M is computable if it c.e. and effectively closed.
As we mentioned immediately after the statement of Lemma 3.27, a c.e. closed subset of a computable metric space M can be viewed as a computably metrized space under the induced metric. It thus makes sense to ask when this subspace is computably compact. If M is computably compact, then it is both computable compact subset of itself and an effectively closed subset of itself. Interestingly, this trivial example is not misleading. The proposition below is also folklore (see, e.g., [Reference Brattka and Presser19, Corollary 4.14(1)]).
Proposition 3.29. For a closed subset C of a computably compact M, the following are equivalent:

1. C is a computably compact subspace of M.

2. C is computable.
Before we proceed to the proof, the reader might well wonder what is wrong with the following analog of the classical argument that closed subsets of compact spaces are compact:
Suppose that C is an effectively closed subset of a computably compact space P, then C is computably compact. Applying computable compactness we can compute a finite subcover and then attempt to “throw away” $\overline {C}$ (that can be listed). One obvious problem with this idea is that we can never be sure whether a basic open ball B (in P) intersects C, and thus we can never be sure whether we can keep B in our cover of C. By Lemma 3.27, this is equivalent to locating a computable dense sequence in C. This problem cannot be circumvented as C might not contain a computable dense sequence. Indeed, as Kleene showed in the 1950s there are effectively closed subsets of $2^\omega $ containing no computable points at all. We discuss more about this issue in Section 4. We turn to the proof of Proposition 3.29.
Proof Assume (1). It is clear that C is c.e. (by Lemma 3.27). To list its complement, fix $x \in M \setminus C$ . Let $\delta = \inf _{c \in C} d(x, c)$ . Then any $\delta /4$ cover of C must be formally disjoint from any ball centred in y with $d(y,x)<\delta /4$ . For every n, fix a finite $2^{n}$ cover $\mathcal {K}$ of C. It follows that $M \setminus C$ is equal to the union of the (uniformly) effectively open sets $U_n$ , where
It follows that (2) holds.
Now assume (2). C is computably metrized by Lemma 3.27; let $(y_j)$ be the computable dense subsequence. Fix $\epsilon = 2^{n}$ . We need to find an $\epsilon $ cover of C by basic open balls.Footnote ^{11} Regardless of whether the balls involved are basic or not, as long as their centres and radii are computable, the relation of formal containment remains c.e.
If a finite collection $\mathcal {K}$ of basic open (in C) balls formally contains a cover $\mathcal {K}'$ by basic open (in M) balls, then clearly $\mathcal {K}$ is a cover of C. We claim that this condition is also necessary (for $\mathcal {K}$ to cover C).
From the proof of Lemma 3.3 we know that, for a given cover $\mathcal {K}$ of C by (basic or not) open balls there is a small enough $\epsilon $ such that every $\epsilon $ cover of C will be formally contained in at least one ball of $\mathcal {K}$ .
Take $\delta = \epsilon /4$ . Fix a finite $\delta $ cover $\mathcal {K}'$ of C by balls that are centred in special points of M, not C. Every $B' \in \mathcal {K}'$ intersects C at some point x, and by the choice of $\delta $ , $d(x, cntr(B')) +\delta < \epsilon $ , thus $B(\epsilon , x) \supset _{form} B'$ . By transitivity of formal inclusion,Footnote ^{12} we have that $B'$ must be formally contained in some ball in $\mathcal {K}$ .
By computable compactness of M and computability of C, we can produce at least one $\delta $ cover $\mathcal {K}'$ of C by basic open balls of M, uniformly in $\delta $ . (To see why, replace every basic open ball in the c.e open name of $M \setminus C$ by the effective union of balls of radii at most $\delta $ that are formally contained in it. This gives a new c.e. enumeration of the complement of C but with balls of radii at most $\delta $ . Then take the c.e. collection of all basic $\delta $ balls that intersect C. Together these sets of balls cover M. Initiate the combined enumeration of these two c.e. sets and wait until at some finite stage we discover that we have a cover of M.)
Since formal inclusion is c.e., this gives a procedure of listing covers of C by basic balls (in C).
We see that computable compactness and computability of a closed set are very closely related notions. We have already mentioned above that an effectively closed set does not have to be computable, in general. However, suppose C is an effectively closed ( $\Pi ^0_1$ ) subset of, say, $\mathbb {R}^3$ , and suppose further that we know that it is a sphere or a ball. Is it computably closed? Miller [Reference Miller103] used algebraic topology to answer this question in the affirmative (in fact, in any dimension). The idea is that, roughly, we can nonuniformly localise it to a compact box in $\mathbb {R}^n$ and then use that a computably compact ball will eventually be contained in a simplex that “looks like the ball”; algebraic topology helps to make this formal. The results of Miller have been extended (e.g., to compact manifolds under some extra conditions) in [Reference Burnik and Iljazović24, Reference Iljazović64, Reference Iljazović66, Reference Iljazović and Sušić68]. But of course, if we are interested in presentations of spaces and especially up to homeomorphism, then a sphere or a compact surface is clearly homeomorphic to a computably compact space (e.g., given by a geometric realisation of its triangulation).
In general, there is no good reason why a basic closed ball (or the closure of a basic open ball) in an abstract Polish space needs to be computable closed; pathological examples similar to Example 2.9 can be constructed. Interestingly, it follows that there are always enough closed balls with computable radii that are computable closed as sets, and indeed uniformly so.Footnote ^{13} More specifically, an immediate consequence of the proposition above is that, in Theorem 3.16, we can additionally state that the basic closed balls in the covers are computable closed sets:
Proposition 3.30. Suppose $K = \bigcup _n K_n$ is a fully $\cap $ decidable system of covers of a computably metrized M. Then each computable closed ball $D^c$ in K is a computable closed set (thus, is a computably compact subspace of M), and this is uniform.
Proof Lemma 3.20 says that each such $D^c$ is c.e. closed. If $x \in M \setminus D^c$ , then x is inside an open ball C that is formally disjoint from $D^c$ , and such balls can be computably enumeratedFootnote ^{14} . Thus, the c.e. union of such open balls formally disjoint from $D^c$ makes up the complement of $D^c$ .
The fact above will be useful when we talk about the universality of $2^\omega $ . More generally, it seems to be useful in any iterated recursive argument in which a space is eventually replaced by its compact subset, and then a subset of this subset, etc. The lemma below will also be useful throughout the rest of the paper. It is also wellknown (see [Reference Weihrauch147, Theorem 3.3] and [Reference Pauly117, Proposition 5.5]).
Lemma 3.31. Suppose $f:X \rightarrow Y$ is a computable map, and assume X is computably compact. Then $f(X)$ is c.e. closed (in Y) and computably compact.
Proof Let $(x_i)$ is a computable dense sequence in X. Then $(f(x_i))$ is dense in $f(X)$ . (Every $\alpha = \lim _j x_j$ for some subsequence $(x_j)$ and, by continuity, $f(\alpha ) = \lim _j f(x_j)$ , so $f(X)\subseteq cl(f(x_i))$ . Suppose $\xi \in cl(f(x_i))$ , say $\xi = \lim _j f(x_j)$ . By compactness, $(x_j)$ has a convergent subsequence $(x_{j_k})$ , so let $z = \lim _k x_{j_k} \in X$ be its limit. Then $f(z) = \lim _k f(x_{j_k}) = \lim _j f(x_j) = \xi $ .)
Given a cover $B_j$ of $f(X)$ by basic open (in $f(X)$ ) balls of radius $2^{n}$ centred in $f(x_j)$ , calculate the c.e. names of each $B_j$ in Y and begin enumeration of $f^{1}(C)$ for each such open basic C; note that it could be that some of these $f^{1}(C)$ will be undefined. At some stage the preimages must cover the whole X. We can see which $B_j$ included the basic open (in Y) balls whose images were sufficient to cover X. This gives a way of producing at least one $2^{n}$ cover of $f(X)$ uniformly in n; now apply Lemma 3.3.
Combining Lemma 3.31 with Proposition 3.29, we get:
Corollary 3.32. Suppose $f:X \rightarrow Y$ is computable and X is computably compact.

• If f is surjective then $Y = f(X)$ must be computably compact.

• If Y is computably compact then $f(X)$ is a computable closed subset of Y.
In computable algebra, the inverse of a computable bijective map is clearly computable as well. In contrast, there is no reason why the inverse of a computable bijection between spaces has to be computable even if its inverse is continuous (we mention here that this is actually true for isometric maps). The theorem below is elementary and is folklore (e.g., [Reference Brattka, de Brecht and Pauly20, Corollary 6.7]), but it is rather important because it tells us that effectively continuous maps are the right morphisms in the category of computably compact spaces.
Theorem 3.33. Suppose $f: X \rightarrow Y$ is a computable bijection between computably metrized spaces, and assume X is computably compact. Then Y is also computably compact, and $f^{1}$ is computable.
It is easy to see that f is indeed a homeomorphism.Footnote ^{15} Our task is to produce a more subtle computable version of this observation.
Proof Computable compactness of Y follows from the corollary above. Given a (not necessarily) special point $y \in Y$ , act computably relative to y. The set $Y \setminus \{y\}$ is effectively open relative to y. Indeed, for every $z \neq y$ there must exist formally disjoint basic open $B \ni y$ and $D \ni z$ . Thus, it is sufficient to list, effectively in y, all basic open balls formally disjoint from some ball in the name of y.
Since f is computable, $f^{1}(Y \setminus \{y\})$ is effectively open relative to y. Since f is bijective, we have that
To list a basic open D into the name of $x =f^{1}(y)$ , wait for finitely many basic open balls $B_1,\ldots , B_k$ in $X \setminus C_0 = f^{1}(Y \setminus \{y\}) $ such that $D, B_1, \ldots , B_k$ cover X. Note that, for each $D\ni x$ , such a finite collection must exist by compactness. Since X is computably compact, the process described above is uniformly computable in y, and thus $f^{1}$ is computable.
One useful consequence says that partial inverses also exist under some conditions.
Corollary 3.34. Suppose $f:C \rightarrow M$ is a computable injective embedding of a computably compact C into a computably compact M. Then $f^{1}$ is computable on $f(C)$ (when viewed as a map between the induced computable structure on $f(C)$ and C).
Proof Let N be the computably compact induced computable metrization of $f(C)$ that exists because of Lemma 3.31 and which is furthermore computably compact by Corollary 3.32 and Proposition 3.29. The map $f: C \rightarrow f(C)$ can be viewed as a computable map from C to the induced computable metrication on C, as follows. When $(B, C)$ is enumerated in the name of f, find a basic open ball D in $f(C)$ that formally contains C. The basic open balls in C are balls with centres that are special in $f(C)$ but are computable in M, but formal containment is still c.e. So we enumerate $(B, D)$ into the new name of f.
Another way to view this is to replace an $\epsilon $ approximation $x_i \in M$ to $f(y)$ by a $2\epsilon $ approximation $c_i \in C$ to $f(y)$ ; it must exist.
To compute $f^{1}$ , apply the previous theorem.
We also include another nice fact connecting computable compactness with computable closed sets proved by Brattka [Reference Brattka17]. The result will be used later (in Corollary 4.3) to clarify one of the wellknown applications of computable compactness.
Theorem 3.35. Let X and Y be computably compact spaces and $f: X \rightarrow Y$ . Then f is computable if and only if $graph(f)$ is effectively closed and if and only if $graph(f)$ is computable closed.
Proof We know that $X \times Y$ is computably compact. Suppose f is computable. Then $f(x)=y$ is clearly a $\Pi ^0_1$ property.
Now assume $graph(f)$ is effectively closed. The subspace $\{x\} \times Y$ is effectively closed relative to x, thus $graph(f) \cap \{x\} \times Y $ is an effectively closed singleton relative to x. By Fact 3.25 relativized to x, given x we can compute $(x,f(x))$ and, thus $f(x)$ .
It remains to note that $graph(f)$ is actually c.e. closed for a computable f, because if a basic open B (in $X \times Y$ ) intersects the graph then we will eventually recognise it.
We did not really have to assume that Y is computably compact; the proof would still work. But of course, by Theorem 3.33 the space $f(X)$ has to be computably compact, so we can always replace Y with $f(X)$ .
3.6. Computable universality of the Hilbert cube
We now discuss another way of looking at computably compact spaces, using the Hilbert cube H. In $H = [0,1]^\omega $ , we define the distance as $d((x_i),(y_i)) = \sum _i 2^{i} d(x_i, y_i)$ . A canonical dense sequence is given by rational sequences that are eventually zero.
The Hilbert cube is a universal space for computably compact spaces. To see this, recall that all our spaces are complete with respect to their metric. We embed a given compact computably metrized space M into the Hilbert cube, as follows. Assume the diameter of M is at most one.Footnote ^{16} Map a point $x \in M$ to the sequence $(d(x,x_i))_{i \in N}$ in $H= [0,1]^\omega $ .
It is easy to see that this embedding is computable and its image is c.e. closed. We will see that the image does not have to be effectively closed, and hence the image does not have to be computable by Proposition 3.29. This embedding gives yet another characterisation of computable compactness, but this time up to homeomorphism:
Theorem 3.36. For a computably metrized compact M, the following are equivalent.

(1) M is homeomorphic to a computably compact space.

(2) M is homeomorphic to a computable closed subset of H.
Proof Note that H being a (computable) product of computably compact spaces is itself computably compact by Proposition 3.5.
If the space has a computably compact presentation, then its image under the canonical embedding will also be computably compact (Proposition 3.29 and Lemma 3.31), and thus the image will be computable closed by Corollary 3.31. On the other hand, if a closed subset of H homeomorphic to the space is a computable closed subset, then it gives a computably compact homeomorphic presentation of the space by Proposition 3.29 because H, being a (computable) product of computably compact spaces, is itself computably compact.
Remark 3.37. We note that, by Theorem 3.33, if (the fixed computable complete metrization of) M is computably compact, then it is computably homeomorphic to $f(M)$ , meaning that both f and $f^{1}$ (when restricted to M) have to be computable (see Corollary 3.34).
In other words, we can always effectively reduce the study of computably compact spaces up to homeomorphism to the investigation of computable closed subsets of H. One pleasant and wellknown (e.g., [Reference Brattka and Presser19, Corollary 3.14]) characterization of computably closed sets in H is given below.
Lemma 3.38. A closed subset C of H is computable if, and only if, $D(x) = d(x, C)$ is a computable function.
Proof We can list the basic open balls $B(x_i, r)$ for which $D(x_i)>r$ , and they must cover $M \setminus C$ . But we can also list the balls $B(x_j, q)$ such that $D(x_i) <r$ , and these are exactly the basic open balls that intersect C.
Note that we can uniformly list r such that $D(x_i)>r$ , i.e., D is leftc.e. (lower semicomputable) iff C is effectively closed, and we can uniformly list r such that $D(x_i) <r$ , i.e., D is rightc.e. (upper semicomputable) iff C is c.e. closed. We omit details. We also note that there is really nothing special about the choice of H in the lemma above; it could as well be some other computably compact space.
The closed subsets of H give us yet another way to look at computably compact spaces. Recall that compact spaces correspond to c.e. closed subsets of H, and computably compact ones to computable closed subsets of H. Note that the space of all compact (or closed) subsets $\mathcal {C}(H)$ of H is a Polish metric space in which the metric is given by the Hausdorff distance and the countable dense set is given by finite discrete subsets of special points of H.
Fact 3.39 (Folklore).
For a c.e. closed subset C of H, C is computable iff C is a computable point in $\mathcal {C}(H)$ .
Proof If C is computable then it is computably compact by Proposition 3.29. If $(B_i)$ is a finite $2^{n}$ cover of C and $x_i$ is a special point in $B_i$ , then every point of C is at most $2^{n+1}$ far from one of the $x_i$ .
On the other hand, assume $c \in B_i \cap C$ ; indeed c is contained in $B_i$ together with an $\epsilon $ ball. Thus, there is $\epsilon $ so small that any D that is $\epsilon $ close to C in $\mathcal {C}(H)$ contains a special point in $B_i$ . This will be eventually recognised, and thus such $B_i$ can be computably enumerated, making C c.e. closed.
Of course, there is again nothing really special about H is the fact and the remark above, and it can be replaced by some other computably compact space if necessary. For instance, one could look at computability of graphs of functions $f: [0,1] \rightarrow [0,1]$ and see that f is computable iff it can be approximated by piecewise linear functions iff the graph is a computable closed set (cf. Theorem 3.35). Generalizations of this fact can be found in [Reference Brattka17].
3.7. Computable universality of Cantor space
We assume that our spaces are nonempty Polish ones, and so that our metrics are complete.
We identify $2^\omega $ with its standard computable presentation of Cantor space by infinite strings under the usual ultrametric. It is wellknown that every compact metric space is a homeomorphic image of $2^{\omega }$ ; this is the classical Hausdorff–Alexandroff theorem. The following computable version of this fact fully characterises computable compactness.
Theorem 3.40 [Reference Brattka, de Brecht and Pauly20].
A computably metrized (nonempty) compact M is computably compact if, and only if, there is a computable continuous surjective $f:2^{\omega } \rightarrow M$ .
If M is a computable image of $2^{\omega }$ then it has to be computably compact by Theorem 3.33. To this end, we therefore assume M is computably compact. We give two proofs of the harder direction of the theorem. The first proof exploits the strongest so far combinatorial characterisation of computable compactness given in Section 3.3 (specifically, Theorem 3.16) and basically follows the standard textbook argument pretty closely. The second proof is more indirect. It handles the combinatorics differently using a spacefilling curve and a technical Lemma 3.41 that is of independent interest.
The first proof
Fix a fully $\cap $ decidable system of covers $(K_n)$ of M that exists by Theorem 3.3. By Remark 3.18, we can use finite basic computable closed covers throughout.
We follow the standard classical topological proof very closely, and we use $\cap $ decidability of $\bigcup _{n} K_n$ throughout. Suppose $K_0 = \{D_1, \ldots , D_{k}\}$ , and fix $D_i \in K_0$ . Then $K_1$ contains finitely many balls that cover $D_i$ ; denote them $D_{i,j}$ . These can be computed and indeed, these $D_{i,j}$ are exactly the closed balls in $K_1$ that intersect $D_i$ , because the rest are disjoint from it. Define $\hat {D}_{\langle i,j\rangle } = D_i \cap D_{i, j}$ .
We can computably proceed by recursion and define $\hat {D}_{\sigma }$ , which is a finite nonempty intersection of basic closed balls, where $\sigma $ ranges over a computably branching tree T with no dead ends (observe that $\sigma \neq \tau $ does not necessarily imply that $\hat {D}_\sigma \neq \hat {D}_\tau $ ). Equip the set of all infinite paths through $[T]$ with the standard (longest common prefix) ultrametric; then $[T]$ is computably metrized space in which the dense sequence is given by $\sigma 1^\omega $ , $\sigma \in T$ . We identify $\sigma $ with the basic clopen ball of $[T]$ consisting of all strings with prefix $\sigma $ .
Also recall that, by the construction of