Computability of topological entropy: From general systems to transformations on Cantor sets and the interval

The dynamics of symbolic systems, such as multidimensional subshifts of finite type or cellular automata, are known to be closely related to computability theory. In particular, the appropriate tools to describe and classify topological entropy for this kind of systems turned out to be algorithmic. Part of the great importance of these symbolic systems relies on the role they have played in understanding more general systems over non-symbolic spaces. The aim of this article is to investigate topological entropy from a computability point of view in this more general, not necessarily symbolic setting. In analogy to effective subshifts, we consider computable maps over effective compact sets in general metric spaces, and study the computability properties of their topological entropies. We show that even in this general setting, the entropy is always a \begin{document}$ \Sigma_2 $\end{document} -computable number. We then study how various dynamical and analytical constrains affect this upper bound, and prove that it can be lowered in different ways depending on the constraint considered. In particular, we obtain that all \begin{document}$ \Sigma_2 $\end{document} -computable numbers can already be realized within the class of surjective computable maps over \begin{document}$ \{0,1\}^{{\mathbb N}} $\end{document} , but that this bound decreases to \begin{document}$ \Pi_{1} $\end{document} (or upper)-computable numbers when restricted to expansive maps. On the other hand, if we change the geometry of the ambient space from the symbolic \begin{document}$ \{0,1\}^{{\mathbb N}} $\end{document} to the unit interval \begin{document}$ [0,1] $\end{document} , then we find a quite different situation – we show that the possible entropies of computable systems over \begin{document}$ [0,1] $\end{document} are exactly the \begin{document}$ \Sigma_{1} $\end{document} (or lower)-computable numbers and that this characterization switches down to precisely the computable numbers when we restrict the class of system to the quadratic family.

1. Introduction. Introduced by Adler, Konheim and McAndrew in the 60's [1], topological entropy has become (one of) the most important topological invariants in dynamical systems theory. It expresses the exponential growth rate of the number of distinguishable orbits the system can create under iteration. Topological entropy has many important applications, specially as a measure of the degree of disorder of a system. It is for instance widely used in the theoretical description of the transition to chaos. As pointed out by Milnor [27], it is natural to wonder whether topological entropy can be effectively computed : given an explicit (finitely described) dynamical system and given > 0, is it possible to compute the associated topological entropy with a maximum error of ?
In the most general case the answer to this problem is known to be negative. For example, it was proven in [20] that for the class of cellular automata, there is no algorithm to compute (or even approximate) the topological entropy, and that even the problem of determining whether a cellular automaton has zero entropy, is undecidable. Similar results have been obtained, for instance, for the class of iterated piecewise-affine maps [25] in compact spaces of dimension d ≥ 4.
On the other hand, it is quite clear that the entropy of a (finitely described) dynamical system is always in the arithmetical hierarchy of real numbers studied in [33], and this leads to the formulation of the following: Problem 1. classify classes of dynamical systems according to the exact position their entropies have in the arithmetical hierarchy.
Let us briefly recall this hierarchy. A real number h is Σ 1 (or lower-computable) if it is the supremum of a computable sequence of rationals. Simetrically, h is Π 1 (or upper-computable) if −h is Σ 1 . Higher positions in this hierarchy are defined inductively: Σ n numbers are suprema of computable sequences of Π n−1 numbers and Π n numbers are infima of computable sequences of Σ n−1 numbers. The lowest position in this hierarchy is occupied by the computable real numbers: those being simultaneously lower and upper computable.
The arithmetical hierarchy is thus a classification of real numbers according to their effective descriptive complexity, which is in turn related to their degrees of unsolvability [13]. Characterizing entropies within this hierarchy can thus be seen as shedding some light into the computational capabilities of the class of dynamical systems considered. A form of this question for the class of cellular automata and the class of piecewise-affine maps was first stated in [25].
In a major breakthrough [19], a solution to Problem 1 was given for the class of cellular automata in dimension d ≥ 3: their possible entropies are exactly the Σ 2 -computable real numbers. It was later shown [18] that the same characterization holds for cellular automata in dimension d = 2, but that when d = 1 the complexity of entropies for this class decreases to exactly the Π 1 -computable positive reals.
In this article we propose to study Problem 1 in a more systematic way by considering general computable dynamical systems as presented in [14]. A computable dynamical system can be thought of as one for which one has a computer program that can simulate the system in the sense that individual trajectories can be computed to any desired degree of accuracy. The associated computer program can then be thought of as a finite description of the system, and therefore the question of algorithmic computability of the associated entropy makes sense. In this setting, we solve Problem 1 for different classes of dynamical systems. Our main results are the following.
Theorem A. The topological entropy of a general computable dynamical system is always a Σ 2 -computable real number.
Thus, we have a definite upper bound applicable to all computable dynamical systems over general metric spaces. Note that in particular, Theorem A tells us that the class of 2D cellular automata is entropy-complete in the sense that their entropies get as complex as they can be, exhibiting the full spectrum of all Σ 2 -computable numbers. On the other hand, we also know that 1D cellular automata are not complete in this sense, and it is natural to ask whether the more general class of 1D computable dynamical systems can be complete. We answer this question in the affirmative, even within the class of systems that are constrained to be surjective.
Theorem B. Every positive Σ 2 -computable real number is the topological entropy of a surjective computable map over {0, 1} N .
We then analyse the effect of changing the geometry of the ambient space and study Problem 1 for computable systems over [0,1]. As shown by the next result, the situation in this space is very different: in particular, not even a single Σ 2computable number can be realised within this class.
Theorem C. The possible entropies of computable systems over [0, 1] are exactly the Σ 1 -computable numbers.
Finally, we consider the seemingly very restricted class of quadratic maps. More precisely, we consider the so called logistic family given by f r (x) = rx(1 − x), with r ∈ [0, 4]. This is a very well studied family with an enormous amount of available theory. We apply some of the available tools to show that the possible entropies for this family are exactly the computable numbers.
Theorem D. A real number h ∈ [0, log (2)] is computable if and only if it is the entropy of a computable logistic map.
The present work can be seen as part of a recent research trend in which dynamical systems are studied from a computational complexity point of view [5,3,6,16,23,12,2,29,26,21,7,8]. The general idea is to understand how the computability properties of the main invariants that describe a given system are related to its dynamical, geometrical and analytical properties. In particular, a major goal is to characterize the properties that make these invariants easier to compute. The techniques developed for these results usually involve delicate constructions allowing to see the dynamical system as a "computing device", which can then be "programmed" to exhibit some particular behavior. Our Theorems B and C will implement such constructions.
After some preliminaries on computable analysis, we introduce computable dynamical systems in Section 2. Section 3 is devoted to the proof of Theorem A. In Section 4 we study Problem 1 for systems on Cantor sets, in particular proving Theorem B. Finally, the proofs of Theorems C and D are presented in Section 5.

Preliminaries.
2.1. A bit of computable analysis. In this section, we recall notions from computable analysis on metric spaces. All the results presented here are well known. For a reference on computable analysis, see [4]. In the following, we will make use of the word algorithm to mean a computer program written in any standard programming language or, more formally, a Turing Machine. Algorithms are assumed to be only capable of manipulating integers. By identifying countable sets with integers in a constructive way, we can let algorithms work on these countable sets as well. For example, algorithms can manipulate rational numbers by identifying each p/q with some integer n in such a way that both p and q can be computed from n, and vice-versa. We fix such a numbering from now on.
is a metric space and S = {s i : i ≥ 0} a countable dense subset of X, whose elements are called ideal points, such that there exists an algorithm which, upon input (i, j, n) ∈ N 3 , outputs r ∈ Q such that We say that the distances between ideal points are uniformly computable.
For r > 0 a rational number and x an element of X, we denote B(x, r) = {z ∈ X : d(z, x) < r}, the ball with center x and radius r. The balls centered on elements of S with rational radii are called ideal balls. A computable enumeration of the ideal balls B n = B(s (n) , r (n) ) can be obtained by taking for instance a bicomputable bijection ϕ : N → N × Q and letting s (n) = s ϕ1(n) and r (n) = ϕ 2 (n), where ϕ(n) = (ϕ 1 (n), ϕ 2 (n)). We fix such a computable enumeration from now on. For any subset I (finite or infinite) of N, we denote U I the collection of ideal balls B n with n ∈ I, and U I the union of these balls: • For a finite alphabet A and # one of its elements, the Cantor space A N with its usual metric has a natural computable metric space structure where the ideal points can be taken to be S = {w# ∞ : w ∈ A * }. In this case, the ideal balls are the cylinders. In the same way, spaces like A Z d with d ≥ 1 can also be endowed with a natural computable metric space structure. • The compact interval [0, 1], with its usual metric and S = Q ∩ [0, 1] is also a computable metric space. The ideal balls here are the open intervals with rational endpoints.
Definition 3. Let (X, d, S) be a computable metric space such that (X, d) is compact. X is said to be recursively compact if the inclusion where I is some finite subset of N, is semi-decidable. This means that there is an algorithm which, given I as input, halts if and only if the inclusion above is verified.
Example 4. The Cantor space and the compact interval are easily seen to be recursively compact.

Computable closed subsets.
Definition 5. Let (X, d, S) be a computable metric space. A closed subset K ⊂ X is said to be effective when there exists an algorithm such that where I is the set of integers on which the algorithm halts.
Effective closed sets are also known as closed co-r.e. sets or upper computable. We will also make use of the following fact. Proposition 6. Let (X, d, S) be a recursively compact computable metric space. A closed subset K ⊂ X is effective if and only if the inclusion Proof. Note that B n is effective and apply Proposition 6.

Computable functions.
Definition 8. Let (X, d) and (X , d ) be computable metric spaces. Let us denote (B m ) m an enumeration of ideal balls of X . A function f : X → X is computable if there exists an algorithm which, given as input some integer m, enumerates a set I m such that It follows that computable functions are continuous. It is perhaps more intuitively familiar, and provably equivalent, to think of a computable function as one for which there is an algorithm which, provided with arbitrarily good approximations of x, outputs arbitrarily good approximations of f (x). In symbolic spaces, this can easily be made precise: Example 9. In Cantor space A N , a function f : A N → A N is computable if and only if there exists some non decreasing computable function ϕ : N → N together with an algorithm which, provided with the ϕ(n) first symbols of the sequence x, computes the nth first symbols of the sequence f (x).
For X a compact computable metric space, we consider the product space X × X with the distance d 2 defined for all (x, y), (x , y ) ∈ X × X by The space (X 2 , d 2 , S 2 ) is a compact computable metric space. The ideal balls of this space are the products of ideal balls of X.

2.2.
Computable dynamical systems and topological entropy. Throughout this section (X, d) will denote a compact metric space. We will assume a computable structure on X whenever necessary.
Definition 10. A dynamical system on X is a pair (K, f ), where f : X → X is a continuous function and K is a compact subset of X such that f (K) ⊂ K. A dynamical system is computable whenever f is computable and K is effective.
We very briefly recall the definition of topological entropy and state some of its elementary properties. We refer the reader to [1] for more details. Let (X, d) be a metric space and K be a compact subset of X. A cover of K is a collection U of open subsets of X such that A sub-cover of a cover U is a subset of this set which is also a cover. Let U and U be two collections of open subsets of X. We say that U is finer than U when for all U ∈ U, there is some V ∈ U such that U ⊂ V . We denote this relation U ≺ U. For a pair of open covers U and U , their join U ∨ U is defined by We remark that for a continuous function f : X → X, K a compact subset of X and an open cover U of K, the set is an open cover.
Definition 11. The entropy of a dynamical system (K, f ) of X relative to an open cover U is defined by Remark 1. It is a well known fact that this infimum is also a limit. This fact relies on the sub-additivity of the sequence (N n (K, f, U)) n∈N . When the set K is clear from the context, we will simply write h(f ). We recall that two dynamical systems (K, f ) and (K , g) are said to be conjugated whenever there exists a homeomorphism φ : K → K such that g • φ = φ • f over K. It is well known that conjugated systems have the same topological entropy.

Lemma 14.
Let (K, f ) be a dynamical system in X. Then, for all n ≥ 1, the equality h(f n ) = nh(f ) holds.

3.
General obstructions and entropy-complete systems. Let us recall that a real number x is Σ 2 -computable if there is an algorithm that computes a double sequence (q ij ) of rationals satisfying The aim of this section is to prove the following theorem: Theorem 15. Let (X, d, S) be a recursively compact metric space and (K, f ) be a computable dynamical system in X. Then the topological entropy h(K, f ) is a Σ 2 -computable number.
The proof will follow from the following intermediate statement: Proposition 16. Let (X, d, S) be a recursively compact metric space and (K, f ) a computable dynamical system in X. Then there is an algorithm which, given a finite I ⊂ N and n ∈ N, outputs a sequence of rational numbers (ξ(I, n, i)) i such that (N n (K, f, U I )) = inf i ξ(I, n, i).
Proof. Let (K, f ) be a computable dynamical system in X. A consequence of the computability of f is that there exists some algorithm A which on input k, m enumerates a set I (k,m) such that f −k (B m ) = U I (k,m) . If I is a finite set, then |I| will denote its cardinality. For integers i, j ∈ N, i, j will denote the set {i, i + 1, . . . , j}.
Let us consider the algorithm which given as input (I, n, i), where I is a finite set and n, i are integers, performs the following steps: 1. initialize a variable c with the value c = |I| n . 2. test if U I is a cover of K (using the recursive compactness of X): if not, then set c = 0. 3. for all sets J ⊂ 0, i and for all L subset of 1, |I| n , do: (a) test if U J is a cover of K (using the recursive compactness of X).
where m[l j ] is the l j th element of I. The set U 0,i ∩I (j,m[l j ]) can be considered as an approximation of f −j (B m [lj ] ). If the test is true for all k, this implies that U J is a finer cover than and in particular that this set is a subcover of k≤n−1 f −k (U I ). In this case, attribute the value min(|L|, c) to c. 4. output the value of c. Denote ξ(I, n, i) the output of this algorithm. By the description of the algorithm (in particular the third and fourth steps), its output on input I, n, i is the minimal cardinality of a subcover of k≤n−1 f −k (U I ) among the ones having U J as a finer cover for some J ⊂ 0, i . It follows that the minimal cardinality of a subcover of k≤n−1 f −k (U I ) is equal to inf i ξ(I, n, i), and thus: Proof of Theorem 15. Let (K, f ) be a dynamical system in X. The supremum in the definition of the topological entropy can be taken over finite open covers of K with ideal balls. Indeed, for any cover U of K, any U ∈ U and any x ∈ U , there exists an ideal ball B n(x) ⊂ U that contains x. The cover {B n(x) , x ∈ K} clearly admits as a sub-cover some U I with finite I ⊂ N, which is therefore finer than U.
where the supremum is taken now over all the finite set of integers. The result now follows from Proposition 16, and the fact that the logarithm is a computable function.
Remark 2. We note that the given proof of Theorem 15 relativizes to (K, f ) in the sense that, when (K, f ) is not computable, we still have an algorithm that can correctly Σ 2 -compute the topological entropy if provided with arbitrarily good descriptions of K as an effective set and of f as a computable function.
Theorem 15 gives us a definite upper bound on how computationally hard the entropy of a system can be. This motivates the following definition: Definition 17. A class of computable dynamical systems is said to be entropycomplete if all non-negative Σ 2 -computable reals can be realized as the entropy of a system in the class.
As mentioned in the introduction, it is known that the class of Cellular Automata in dimension d = 2 is entropy-complete, but not in dimension d = 1. It turns out that classes of systems admitting generating covers cannot be entropy-complete either.
Definition 18. Let (X, d) be a compact metric space, f : X → X a continuous function, and U a finite open cover of X. We say that U is a generating cover for X when for all U finite open cover of X, there exists some n such that the cover is finer than U . Proposition 19. Let (X, d, S) be a recursively compact metric space, and (K, f ) a computable dynamical system in X. If (K, f ) has a generating cover, then its entropy is a Π 1 -computable number.
Proof. Note that there exists some cover U I , for I a finite set of integers, that is finer than a generating cover U. Then U I is also a generating cover and n .
From the proof of Proposition 16, we know that there exists an algorithm which on input I, n, i, where I is a finite set of integers and n, i are two integers, outputs some rational number ξ(I, n, i) such that for all n and for all I: As a consequence: which ends the proof.
An interesting application of the previous proposition is the following. Recall that a dynamical system is called expansive when there exists α > 0 such that for any ordered pair of points (x, y) ∈ X 2 , there exists some n such that It is a well known fact for a dynamical system, being expansive is equivalent to having a generating cover [9], which leads us to the following: Corollary 20. If a computable system (K, f ) is expansive, then its topological entropy is a Π 1 -computable number.

4.
Computable systems on Cantor sets. In this section we consider dynamical systems over Cantor sets, that is, over the metric space A N for some finite alphabet A. The purpose is to show that computable systems over these spaces are entropy-complete in the sense that their entropies exhibit the full spectrum of all Σ 2 -computable numbers, even when restricting the systems to be surjective. We start in Section 4.1 by first providing a construction that yields the desired result for general computable systems. In Section 4.2 we ameliorate the result by means of a different construction that yields the result for surjective systems which, moreover, act on the canonical Cantor space {0, 1} N . Although the second result implies the first one, the ideas involved are different and, we believe, of independent interest.

4.1.
A characterization for general systems. In the following, a pattern on a finite set A is an element of A U , with U ⊂ N × Z a finite set. We say that a pattern p ∈ A U appears in x ∈ A N×Z when there exists some (i, j) ∈ N × Z such that x |(i,j)+U = p. A compact subset K of A N×Z is effective when there is an algorithm which enumerates a set of patterns such that K is the set of configurations in which none of these patterns appear.
Let us denote by σ e 2 : {0, 1} N×Z → {0, 1} N×Z the function given by That is, the superscript e 2 corresponds to the restriction to the vertical direction of the two-dimensional shift action. For all m ≥ 0, we denote ∆ m = 0, m × −m, m , where i, j denotes the set of integers {i, i + 1, . . . , j}. ∆ −1 will denote the empty set. See Figure 1 for an illustration.
For all l ≥ 0, we denote U l the open cover of {0, 1, #} N×Z whose elements are the cylinders associated to ∆ l . The sequence (U l ) is a generating sequence of open covers, meaning that for any finite open cover U of {0, 1, #} N×Z , there exists some l such that U l is finer than U. Our first result, stated as Proposition 22, will make use of the following well known theorem: We now present the announced construction. The idea is to complete the dynamical system (K, σ e 2 ), where K ⊂ {0, 1} N×Z is effective, into a computable dynamical system ({0, 1, #} N×Z , f ). The function f behaves like σ e 2 , except when it detects a pattern which is forbidden in K (an "error"). In this case, it introduces a special symbol #. This symbol is propagated by the dynamics to the whole half plane. In other words, the dynamics is such that the set K acts as a "repeller" in the sense that everything that is not in K ends up converging to the sequence ##### . . . . Thus, the only part of the dynamics supporting entropy is the set K itself on which f acts just like σ e 2 . In particular, they must have the same entropy. We then simply recode the obtained map into a computable dynamical system ({0, 1, #} N , g).

Proposition 22.
A non-negative real number is the entropy of a computable dy- Proof. The fact that the entropy of a computable dynamical system (A N , f ) is Σ 2 -computable derives from Theorem 15. We prove the other direction of the equivalence. Let h be a non-negative Σ 2 -computable real number and (K, σ e 2 ) an effective dynamical system whose entropy is h. Since K is an effective subset of {0, 1} N×Z , there exists an algorithm A which enumerates a set of patterns F such that K is defined as the set of elements of {0, 1} N×Z in which no pattern of F appear. We denote F = {p 1 , p 2 , ...}, where the subscript i in the notation p i corresponds to the order of enumeration by A.
1. Completing (K, σ e 2 ) using error detection: Let us construct a function f : {0, 1, #} N×Z → {0, 1, #} N×Z whose restriction on K is σ e 2 . Let us fix some x ∈ {0, 1, #} N×Z . We define f (x) by defining successively its restrictions on all the sets ∆ m+1 \ ∆ m , m ≥ −1, as follows: (a) If one of the following conditions is verified, then for all The symbol # is used as an error symbol. Indeed, when a forbidden pattern is detected, the function writes a symbol # which then propagates on N × Z: when x contains some symbol # on some ∆ m , then on every position outside of ∆ m/2 , the symbol of f (x) on this position is #. See an illustration on Figure 2. 2. The entropy of ({0, 1, #} N×Z , f ) is greater than the entropy of (K, σ e 2 ): Since K is stable under the action of f , which acts as σ e 2 on this subset, the entropy of ({0, 1, #} N×Z , f ) is greater than the entropy of the dynamical system (K, σ e 2 ), which is h. 3. Upper bound on the minimal cardinality of a sub-cover of This number is equal to the number of possible finite sequences (x |∆ l , ..., f n (x) |∆ l ), where x ∈ {0, 1, #} N×Z . In order to count these sequences, we distinguish two possibilities, as follows. For all l, n, we denote M l,n,t the number of patterns on 0, l × −l−n, l on alphabet {0, 1} that do not contain any pattern in {p 1 , ..., p t }.
• The pattern f n (x) |∆ l does not contain any symbol #: this implies that f n−1 (x) |∆ 2l does not contain any # or a pattern in {p 1 , ..., p l }. Repeating this argument n − 1 times, we get that x |∆ 2 n l does not contain the symbol # or any pattern in {p 1 , ..., p 2 n−1 l }. Moreover, since f n−1 (x) |∆ 2l does not contain any # or a pattern in {p 1 , ..., p l }, we have As a consequence, the number of sequences (x |∆ l , ..., f n (x) |∆ l ) that stand under this case is smaller than M l,n,2 n−1 l . • The pattern f n (x) |∆ l does contain a symbol #: this implies that f n−1 (x) |∆ 2l contains else the symbol # or one of the patterns in {p 1 , ..., p l }. In any of these cases, f n−2 (x) |∆ 4l contains else # or a pattern in {p 1 , ..., p 2l } and no #. In the second case, this comes from the fact that Repeating this argument, we obtain that k ∈ 1, n , f k (x) |∆ l k does not contain any pattern in {p 1 , ..., p l k } or any symbol # and for all u / ∈ ∆ l k , f k (x) u = #. We denote also k 0 the minimal k ∈ 1, n − 1 such that l k ≤ l (it exists since f n (x) |∆ l ) contains the symbol #). The sequence (x |∆ l , ..., f n (x) |∆ l ) is determined by the restriction of x to 0, l × −l − k 0 , l . This pattern can be extended into a pattern on ∆ m0 which does not contain a pattern in {p 1 , ..., p m 0 2 }. Moreover, since l k0 ≥ m 0 /2 k0 and l k0 ≤ l, m 0 is bounded from above by 2 k0 · l. In particular the pattern x | 0,l × −l−k0,l can be extended into a pattern on ∆ m0 that does not contain a pattern in {p 1 , ..., p 2 k 0 −1 ·l }. In particular, x | 0,l × −l−k0,l does not contain any of these patterns. As a consequence, the number of sequences that stand in this case is bounded by 4. The entropy of ({0, 1, #} N×Z , f ) is smaller than the entropy of (K, σ e 2 ): By equation (1)  where k 1 ≥ 1 is an arbitrary integer. In the second inequality, we used the fact that the map k → M l,k,2 k 1 −1 l is non-decreasing. For the last equality, we used the fact that the sequence (log(M l,n,2 k 1 −1 l )/n) n converges towards the entropy of (K k1 , σ e 2 ), where K k1 is the set of elements of {0, 1} N×Z where no pattern of {p 1 , ..., p k1 } appears, and that the entropy is also equal to the infimum of this sequence. We deduce that Let us consider φ a computable invertible map N × Z → N. For instance, one can construct φ such that for all n, k ≥ 0, φ(n, k) = 2 2n − 1 + 2 2n+1 k and φ(n, −k − 1) = 2 2n+1 − 1 + 2 2n+1 k. Consider also the function ψ : {0, 1, #} N×Z → {0, 1, #} N defined for all u, n ≥ 0, and k ∈ Z, by (ψ(u)) n,k = u φ(n,k) . ψ and its inverse are then clearly computable. Since f is also computable, it follows that the function g = ψ • f • ψ −1 is computable. Let us denote σ : {0, 1} N → {0, 1} N the shift map, defined such that for all x ∈ {0, 1} N , and j ∈ N, (σ(x)) j = x j+1 . We say that a word w ∈ {0, 1} n appears in a sequence x ∈ {0, 1} N when there exists some k ∈ N such that x | k,k+n−1 = w. Note that over X = {0, 1} N , the sets we call U I simply correspond to the cylinders {x ∈ {0, 1} N : x | k,k+n−1 = w}, where k, n are integers and w is a word of length n.
In the literature, a subshift Z of {0, 1} N is called effective when there is an algorithm that enumerates a set F of words such that the configurations of Z are defined by forbidding these words to appear on them: Thus, the systems (Z, σ |Z ) where Z is an effective subshift, are computable dynamical systems according to Definition 10. We call entropy of the subshift Z the entropy of the dynamical system (Z, σ |Z ). This entropy is known to be equal to where N n (Z) = |L n (Z)|, and L n (Z) is the set of words of length n that appear in a configuration of Z. Let us denote L(Z) = n L n (Z). This set is called the language of Z. In particular, when h(Z) > 0, Z cannot be a finite set (since if it was finite, (N n (Z)) n would be a bounded sequence).

Remark 3.
Since the shift map is expansive, we obtain by virtue of Corollary 20 that the entropies of effective subshifts are Π 1 -computable numbers.
Definition 24. A subshift Z of {0, 1} N is said to be decidable when there exists an algorithm that taking as input a finite word on {0, 1} decides if it is in L(Z) or not.
In particular, if a subshift Z is decidable, it is effective.

Definition 25.
A subshift Z of {0, 1} N is said to be mixing when for any pair (w, w ) of words with respective lengths m, n that appear in configurations of Z, there exists a configuration z ∈ Z and two integers k, k such that k, k + m − 1 and k , k + n − 1 are disjoint and such that z | k,k+m−1 = w and z | k ,k +n−1 = w .
Proof. Indeed, it is sufficient to see that any cylinder of Z, which is the non empty intersection of Z with a cylinder of {0, 1} N , contains an image of σ |Z . Let us consider such a cylinder and denote u to be a length n word on {0, 1} such that this cylinder is {x ∈ Z : x | 0,n−1 = u}. Also consider another length m word v in the language of Z. Since Z is mixing, there exists a configuration z of Z and k > m such that z |k+ 0,n−1 = u and z 0,m−1 = v. Since Z is a subshift, the configuration σ k (x) is in the cylinder {x ∈ Z : x | 0,n = u}, and is the image of σ k−1 (x).
We will need the following theorem. It realizes Π 1 -computable numbers within the class of mixing decidable subshifts. Theorem 27. There exists an algorithm which, given as input the code n of an algorithm which enumerates a non-increasing sequence of non-negative rational numbers (r k ), computes the code of an algorithm which decides the language of a decidable and mixing subshift Z of {0, 1} N whose entropy is inf k r k .
Proof. This follows from the proof of Theorem 3.7 in [15].
We now show how to "encode" decidable mixing subshifts onto computable maps of the Cantor set. Let us fix some encoding of programs by integers. For every integer n, if it is associated to a program that decides the language of a mixing subshift, this subshift is denoted Z n . Such an integer, when h(Z n ) > 0 and Z n is mixing, is called admissible. Lemma 28. There exists a sequence of bi-computable homeomorphisms κ n : Z n → {0, 1} N , with n admissible. This sequence is uniformly computable in the sense that there is an algorithm which, provided with an admissible n, computes κ n and its inverse.
Proof. We note that when Z is decidable, a function κ : Z → {0, 1} N is computable if and only if there exists a non decreasing computable function φ : N → N together with an algorithm which, provided with the φ(k) first symbols of a sequence z in Z, computes the k first symbols of the sequence κ(z). We thus prove the lemma by showing the following: i) there exists an algorithm which given as input an admissible integer n and a word in L(Z n ), outputs a word Ψ(n, w) in {0, 1} * satisfying the properties below, and ii) there exists a second algorithm which given as input an admissible integer n and some other integer k, outputs an integer φ(n, k) such that: • For all admissible n, z ∈ Z n and k ≥ 0, (Ψ(n, z | 0,k )) is a growing sequence of words; • denoting Ψ(n, z) the limit sequence, for all z ∈ Z n , κ n (z) = Ψ(n, z).
• For all z ∈ Z n and k, the length of Ψ(n, z | 0,φ(n,k) ) is ≥ k.
The details are as follows.
1. Definition of Ψ: Let us consider some admissible integer n, and w ∈ L(Z n ).
The word Ψ(n, w) is the result of the following algorithm: (a) Initialize an empty writting tape, (b) For all k ∈ 0, m − 1 , where m is the length of w (step k), consider the word w 0,k and the word obtain from this one by flipping the last letter: • If this second word is in L(Z n ) (use the algorithm deciding the language of Z n for this purpose), write the value of w k at the end of the word on the writting tape. • Else, don't write anything on the tape. 2. For all n admissible and z ∈ Z n , the limit sequence Ψ(n, z) is well defined: Indeed, by definition of the algorithm presented in the first point, when some word w ∈ L n (Z) is prefix of another one w ∈ L n+k (Z), the sequence of steps executed by the algorithm defining Ψ(n, w) is prefix of the sequence of steps executed by the algorithm defining Ψ(n + k, w ). The complementary steps only (potentially) add symbols. In other words, for all z ∈ Z n , (Ψ(n, z 0,k )) k is a growing sequence of words. The limit Ψ(n, z) is a priori finite, but is proved to be infinite below. 3. The κ n are injective: Let us consider two different elements of Z n , denoted z and z and denote by k 0 the smallest integer k such that z k = z k . This means that any symbol written by the algorithm defining κ n before step k 0 is the same for z and z . However, when considering the integer k 0 , since z | 0,k0 is obtained by flipping the last letter of z | 0,k0 and these two words are in the language of Z n , a letter is written on the tape during this step, which is different for z and z . As a consequence, z and z have a different image through κ n . 4. The κ n are onto: In order to prove that for all z ∈ Z n , κ n (z) is an infinite sequence, it is sufficient to see that any word written on the tape during the execution of the algorithm defining κ n (z) is extended in the next steps. Assuming this, κ n has images in {0, 1} N and since any extension by a symbol means that the extension by the other symbol is possible, κ n : Z n → {0, 1} N is surjective. In order to prove this, it is enough to see that for any word w in the language of Z n , there exists some k such that w can be extended into two different length k words in L(Z n ). Let w then be a word in the language of Z n . Since h(Z n ) > 0, the subshift Z n is an infinite set, and thus the two letters 0, 1 are in L(Z n ). Since Z n is mixing, there exists some k ∈ Z and two configurations z 0 and z 1 in Z n such that the restriction of z 0 and z 1 on 0, |w| is w, and z 0 k = 0 and z 1 k = 1. The restrictions of z 0 and z 1 on 0, k are thus different.

5.
Uniform computability of the minimal mixing function of Z n , n admissible: There is an algorithm which given an admissible integer n and an integer k outputs an integer ψ(n, k) such that for all w, w ∈ L k (Z n ), there exists a configuration z ∈ Z n such that z | 0,k−1 = w and z | k+ψ(n,k),ψ(n,k)+2k−1 = w. Indeed, such an algorithm checks if this property is true for successive integers, using the algorithm deciding the language of Z n , stops when the property is true, and outputs the current integer.
6. Proof of the third point and computability of κ n : For all n admissible, let us denote F : k → k + ψ(n, k), and φ : (n, k) → F k (1). For all w ∈ L k (Z n ) and a ∈ {0, 1}, there exists a configuration z ∈ Z n such that z | 0,k−1 = w and z k+ψ(n,k) = a. Hence for any sequence z ∈ Z n , once the algorithm defining κ n (z) scanned the F k (1)th first symbols of the sequence, it has determined k symbols of its image f (x), which finishes the proof.
We are now ready to state and prove the main result of the section. Outline of proof. The main idea is this: given 0 < h = sup n h n with h n a computable sequence of Π 1 -computable numbers, one can produce, uniformly in n, a mixing decidable subshift whose entropy is h n . By applying Lemma 28, we can construct a system f n of the Cantor set with entropy h n . Since the subshift is mixing, the obtained function is surjective. One can then construct a surjective function of the Cantor set whose entropy is h by decomposing the Cantor set into a countable union of smaller and smaller copies of it, and defining the global dynamics f to be like f n on the nth copy. Now to the details.
Proof. The case h = 0 is ruled out by seeing this number as entropy of the identity function, which is onto. Let h > 0 be a Σ 2 -computable number, and denote (r m,n ) m,n a computable double sequence of rational numbers such that h = sup n inf m r m,n . For all n, we denote h n = inf m r m,n . Without loss of generality, one can assume that (h n ) n is non-decreasing by replacing (r m,n ) m,n r m,n = max k≤n r m,k , which is a computable sequence, and (h n ) n is increasing, where h n = inf m r m,n , since h n = max k≤n h k . For the same reason, h = sup n h n .
Let us denote n 0 some integer such that for all n ≥ n 0 , h n > 0.

Realization of the numbers h n :
One can, given an integer n ≥ n 0 , compute the code τ (n) of an algorithm which decides the language of a decidable and mixing subshift Z τ (n) of {0, 1} N whose entropy is h n : this is a consequence of Theorem 27. Let us denote 2. Surjectivity of f n : For all n, since Z τ (n) is mixing and decidable, the map σ : Z τ (n) → Z τ (n) is surjective (Lemma 26). As a consequence, f n is surjective.

Realization of h:
Let us define f : Indeed, for all l, the entropy of f relatively to the cover U l is the supremum of the numbers h k , k ≤ l, where U l is the open cover of all the cylinders corresponding to length l words on {0, 1}.
Since the topological entropy of f is the supremum over l of the entropies of f relative to U l , this entropy is sup l sup k≤l h k = sup l h l . 4. Surjectivity and computability of f : Since for all n, f n is surjective, f is also surjective. Moreover, f is computable: indeed, in order to compute the n first bits of f (x) given x, one first localise the first 1 in the sequence (x 0 , ..., x n−1 ). If there is no 1, the n first bits of f (x) are all 0. Else, let us denote k the first such that x k = 1. One has to compute the φ(n, n − k) first bits of (x k+1+j ) j≥0 in order to compute the n − k first bits of f (x) that are not determined. Since n → max k≤n φ(k, n − k) is computable, this yields the computability of f .

5.
Computable systems over the unit interval. In this section we present the proof of Theorems C and D. We start by characterizing the possible entropies of the whole class of computable maps over [0, 1].

5.1.
The class of all computable maps. Our goal here is to prove the following.
Theorem 30. The numbers that are the entropy of a computable dynamical system ([0, 1], f ) are exactly the Σ 1 -computable non-negative numbers.
The proof is split into Propositions 37 and 38 below. We will start by proving the computational obstruction, i.e., that no computable system over [0, 1] can have topological entropy whose arithmetical complexity is beyond Σ 1 . For this, we need first to briefly recall some properties and results about topological entropy that will be used in the proof of Proposition 37, which will mostly rely on the notion of horseshoe ( see Definition 33).
Definition 31. We say that a continuous map f : [0, 1] → [0, 1] is piecewise monotone when there exists k and some numbers x 1 = 0 < ... < x k = 1 such that on each [x i , x i+1 ] the restriction of f on this interval is monotone. When f is strictly monotone on each interval [x i , x i+1 ],we say that f is strictly piecewise monotone. Proof. We use a recurrence argument. Since this property is true for n = 1, this is sufficient to prove that if f and g are two strictly piecewise monotone functions, then f • g is also strictly piecewise monotone. Let f, g be two such functions. There exists k and some numbers x 1 = 0 < ... < x k = 1 such that on each [x i , x i+1 ] the restriction of f on this interval is increasing or decreasing, and there exists k and some numbers x 1 = 0 < ... < x k = 1 such that on each [x i , x i+1 ] the restriction of g on this interval is strictly monotone. Let us denote (x ) i≤k the finite increasing sequence such that On each of these intervals, both f and g are strictly monotone, and as a consequence, f • g is also strictly monotone.
The following notion is a powerful tool to analyse dynamical systems on the interval, and in particular the topological entropy of these systems.
Definition 33. Let f be a continuous map of the interval [0, 1]. A (p, n) horseshoe of f is a finite collection of compact disjoints intervals J 1 , J 2 , ..., J p such that for all i, f n (J i ) contains a neighbourhood of ∪ j J j . The horseshoe is called monotone when on every J j , f n is strictly monotone.
The proof of the following theorem can be found in [30]. This theorem will be used for the proof of the obstruction.
Proof. For I and J two intervals, we write I < J when for all x ∈ I and y ∈ J, x < y. Let I 1 , . . . , I p be a finite collection of rational intervals such that I 1 < ... < I p (in particular, the compact intervals I i are disjoint). Our goal is to show that there is an algorithm to semi-decide whether I 1 , . . . , I p is a (n, p) horseshoe of f , for some n. That is, whether for all i ≤ p there exists > 0 such that I ⊂ f n (I i ), where and A stands for an -neighborhood of a set A. Note that since f is computable, f n (I i ) is simply an interval with computable endpoints, say a and b, which may or may not belong to f n (I i ). Since I is compact, we have that Moreover, the set I is also an effective closed set and therefore by Proposition 6 we can semi-decide whether it is contained in a given finite union of open rational intervals. Since a and b are computable, there is a recursively enumerable L ⊂ N such that ]a, b[= l∈L ]l l , r l [, from which the desired semi-decidability property for horseshoes follows. We now can use this property to algorithmically enumerate all rational horseshoes of f . Since the entropies log 2 (p) n of these horseshoes are computable numbers, their supremum is a Σ 1 -computable number. To finish the proof, it suffices to note that an arbitrary (p, n) horseshoe can be turned into a rational (p, n) horseshoe by a sufficiently small modification, and therefore this last supremum equals the entropy of f by Theorem 34.
The following proposition gives a realization of all the Σ 1 -computable numbers, thus completing the proof of Theorem 30. Proof. We show how to realize all computable entropies first.
1. Realization of computable numbers: our goal here is to prove that given h a positive computable real number, we can compute a function g h of the interval [0, 1] with g h (0) = 0, g h (1) = 1 and such that the topological entropy of g h is h. Since for any map f the equality h(f n ) = nh(f ) holds, it is sufficient to prove the result for h ∈ [0, 1] only. The case h = 0 is trivial, so assume h > 0 and denote s = 2 h , which is also a computable real number. Now consider the function g h defined as follows: • when x ≤ 1+s 4s , then g h (x) = sx, • when 1+s 4s ≤ x ≤ 3s−1 4s , then • and when x ≥ 3s−1 4s , See an illustration in Figure 3.
Since on each of the intervals defining g h the function has slope s, we see that, for all n, the function g n h has slope s n . We claim that the variation of g n h is s n . Indeed, from Lemma 32, there exists a sequence x 1 = 0 < ... < x k = 1 such that on each of the intervals [x i , x i+1 ], this function is increasing or decreasing, and the slope of the function is s n . Considering a finite sequence where the sequenceỹ is defined to be the increasing sequence such that On each of the intervals [ỹ j+1 ,ỹ j+1 ], the slope of the function is s n , hence |g n h (ỹ j+1 ) − g n h (ỹ j+1 )| = s n |ỹ j+1 −ỹ j+1 | = s n (ỹ j+1 −ỹ j+1 ). This implies that the variation of g n h is From Lemma 36, we deduce that the entropy of g h is It remains to show the computability of the function g h . But this easily follows from the computability of s and the explicit form of g in terms of s. See an illustration in Figure 4. The variation ofg n h is hence we have the following inequalities, for all p, since (h k ) k is increasing: This implies that the entropy ofg h verifies The functiong h is computable. Indeed, it is sufficient to see that the inequalityg h (q) < r andg h (q) > r are semi-decidable, where q, r are rational numbers.
An algorithm which allows to semi-decide the first one (it is similar for the second one) works as follows: (a) it first checks if one of the rational numbers is 0 or 1. In this case, it is trivial to decide the inequality. (b) if none of these rational is 0 or 1, then the algorithm computes some n such that (c) then it computes more and more precise approximations of the number h n -this is possible since (h n ) n is uniformly computable -checks if the number is in one of the intervals defining the functiong hn . If this is the case, the algorithm computes the image, and checks if this image is < r. If this is the case, the algorithm stops. This algorithm stops when the inequality is verified: this comes from the fact that (h n ) n is computable. Proof. If f is in FS s for some real number s and is computable, then s is a computable number. Indeed, if x 1 = 0 < ...x k = 1 is such that on each [x i , x i+1 ], the restriction of f is linear, then considering a rational number r such that x 1 < r < x 2 , there is an algorithm which on input n outputs some rational numbers r n and r n such that |r n − f (r)| ≤ r.2 −n−1 and |r n − f (0)| ≤ r.2 −n−1 . Hence which means that r n − r n r − s ≤ 2 −n .
Since h(f ) = log(s), then the entropy of f is computable. Reciprocally, since for any function f an any integer n the equality h(f n ) = nh(f ) holds, it is enough to only prove the result for numbers in [0, 1]. But this follows directly from the construction presented in the first point of the proof of Proposition 38.

5.2.
The class of quadratic maps. The result we will prove in this section is in fact stronger than Theorem D. Indeed, we will show that the topological entropy h(f r ) of the logistic map f r is computable as a function of r. The fact that all computable numbers can be realized within this class will then just follow as a corollary. We start by recalling the material related to the real quadratic family (also known as the logistic family) that will be required for the proof. The behaviour of this family as the parameter r varies has been extensively studied, see for instance [10]. Note that the equation f r (x) = x has two solutions: p 0 = 0 and p r = (r − 1)/r. These are the fixed points of f r . The local dynamics near a fixed point is called stable when all nearby orbits converge to the fixed point, and unstable when nearby orbits escape away from the fixed point. The following is a useful criterion: Theorem 41 (Differential criterion of stability). Let f r (x 0 ) be the derivative of f r evaluated at a point x 0 . A fixed point p of f r is: (a) An attracting fixed point if |f r (p)| < 1. As the parameter r varies the dynamical behaviour of the trajectories of f r changes. We summarize part of its behaviour as follows: • For 0 < r < 1, every trajectory converges to p 0 , which is the only fixed point and, moreover, is an attracting fixed point. • For 1 ≤ r < 3, p 0 looses its stability and another fixed point p r appears, which behaves as an attracting fixed point. • For 3 < r < √ 6 + 1, p r looses stability and an attracting cycle of period 2 appears around p r which attracts all points in I = [0, 1].
• For r beyond √ 6 + 1, each point in the attracting cycle of period 2 loses its stability and it is split into two points, which together, form another attracting cycle of period 4. This process continues as r increases. Let r i be the values of r for which an attracting cycle of period 2 i appears. We denote as r ∞ = lim i r i the parameter corresponding to the limit of the bifurcation process just described.
• At r = r ∞ the bifurcations stop and the attracting orbit becomes infinite in a subset of I. • For r ∞ < r ≤ 4 the system's behavior seems to alternate between order and disorder, until r = 4, where it becomes fully chaotic according to Devaney's definition (see [10]).
In Figure 5 we present a plot of the the bifurcation diagram where the previous observations are represented in a more comprehensive way. Note the big "window" at √ 8 + 1. This is one of the regions known as hyperbolic components, where ordered behavior seems to prevail. The set of hyperbolic parameters are, in fact, dense in the space of parameters (see [32,17]). At the beginning of this big window, it may seem that a periodic cycle of period 3 attracts all the possible trajectories. However, the diagram here is misleading, since it is easy to show that if this was the case then the topological entropy would be zero, contradicting the following theorem due to Douady.
From now on, we will write h(r) for the topological entropy of the system (I, f r ).
Theorem 42 (Theorem 5.3 in [11]). The following properties hold for the quadratic family: Before presenting its proof, we note that Theorem D follows from Theorem 43. via the following corollary.
Corollary 44 (Theorem D). A real number in [0, ln 2] is computable if and only if it is the topological entropy of a computable logistic map.
Proof. By Theorem 43 it is clear that computable maps have computable topological entropy. Let's show the converse. Note that since h is nondecreasing and onto, given a computable y ∈ [0, ln 2], the set h −1 ({y}) is either a singleton or an interval. The latter case is trivial since any interval must contain computable points. In case it is a singleton {r}, since h is computable by Theorem 43, {r} must be an effective set. By Proposition 6, we can then semi-decide whether {r} ⊂ (a, b) uniformly in a and b, from which computability of r follows.
The proof of Theorem 43 will follow from Propositions 46 and 47 below, but the main strategy is based on three facts • In every hyperbolic component there is an attracting cycle which contains the critical point c = 1/2.
• The topological entropy is locally constant inside every hyperbolic component • The hyperbolic components are dense in the space of parameters (see [17]).
We use the following known result as well.
Recall that a subshift of finite type with pruning of words of length two is known as a Markov subshift and the computability of its topological entropy, given its alphabet A and the set of forbidden words F, is a known result that can be found, for instance, in Theorem 6.1 of [31].
With all these ingredients we start with the following result, which provides a list of parameters where the attracting cycle contains the critical point c.
Proposition 46. There exists an algorithm that enumerates a sequence (r i , p i ) i ⊆ R×N such that the critical point c, under iterations by f ri , has an attracting periodic orbit of period p i .
Proof. First note that f p r (x) is a polynomial of degree 2 p in both r and x. We will regard P p (r) = f p r (c)−c as a polynomial in r, where c = 1 2 is the critical point. Note that the roots of these polynomials correspond to parameters for which c belongs to an attracting (in fact, super-attracting) cycle of period p. Recall from Theorem 45 that all the roots of analytic functions, such as polynomials, are computable. Let us denote by K the algorithm that on input P p outputs all the roots of P p -we consider a single algorithm K since the roots are uniformly computable for these parameters.
We describe an algorithm A which enumerates the required sequence. A starts a parallel simulation of K with inputs P p for p = 1, 2, 3, . . .. Every time K computes a root r, A checks whether r ∈ (0, 4) and whenever this is satisfied A labels r and p with i and outputs the pair (r i , p i ). This procedure provides the desired sequence.
Observation: in the proof of Proposition 46, r i is a computable real number "provided" by algorithm K -what K really outputs is, for each r i , a sequence |q j − r i | ≤ 2 −j , q j ∈ Q.
If the critical point c is part of a finite attracting cycle, a Markov partition can be induced over the unit interval I and the corresponding Markov subshift can be defined. The algorithmic procedure for the construction of the required subshift is described in the proof Proposition 47 below, which asserts that the topological entropies of the systems corresponding to the parameters obtained by the means of Proposition 46, are uniformly computable.
Proposition 47. The sequence (h(f ri )) i is uniformly computable.
Proof. Given the sequence (r i , p i ) i from Proposition 46, we describe an algorithm A sh which uniformly computes the sequence (h(f ri )) i .
The algorithm A sh starts, for each input (r i , p i ), by computing the set O = f n ri (c) : 0 < n ≤ p i which is the orbit of c. Then A sh orders the elements in O with respect to the relation "<, less than" in an ordered set P, and adds the numbers 0 and 1 as the smallest and biggest elements of P. Then, the elements of P: 0 = x 0 < x 1 < . . . < x k = c < . . . < x pi < x pi+1 = 1.
form a partition of I, with atoms Later, A sh creates the set A = {a j : 0 ≤ j ≤ p i } that labels the atoms in P, and computes the set A 2 = {a i a j : a i , a j ∈ A}, by concatenating the letters of A in all possible combinations. Next A sh computes the set F as follows: for the first atom a 0 , A sh computes f ri (x 1 ) = x m , which is true for some 0 ≤ m ≤ p i . Then f ri (a 0 ) = ∪ m n=0 {a n }. With this computation done, A sh creates the collection of words F 0 = a 1 a n ∈ A 2 : n > m . Suppose that x k = c. For a j , 0 < j < k, A sh computes f ri (x j ) = x s and f ri (x j+1 ) = x t , which are true for some 0 ≤ s, t ≤ p i . Therefore f ri (a j ) = ∪ t n=s {a n }. This holds since P is a Markov partition and the image, under f ri , of every atom in the partition is a union of atoms in the partition.
Once the previous computations are completed, A sh computes the collection of words F j = a j a n ∈ A 2 : 0 < n < s, t < n < 1 for each 0 < j ≤ k.
Similarly, for k < j ≤ p i , A sh computes f ri (x j ) = x u and f ri (x j+1 ) = x v , which are true for some 0 ≤ u, v ≤ p i . Since the slope of f ri , for x > c, is negative v < u. Then the image of a j is an union of atoms -f ri (a j ) = ∪ u n=v {a n }. Now A sh proceeds to compute the sets F j = a j a n ∈ T 2 : 0 ≤ n < v, u < n < 1 . Note that the sets (F j ) 0≤j≤pi are disjoint and represent, symbolically, all the trajectories forbidden in terms of the atoms that are visited by each point under iterations of f ri .
Finally, with all the previous computations done (which is a finite number of computations), A sh computes Note that F defines a Markov subshift Σ F , since every element in F has length 2 and is a forbidden word in the subshift. From Theorem 6.1 of [31], we see that h(f ri ) is computable, and since this procedure is uniform in i, the uniform computability of h(f ri ) i follows.
We are now equipped to prove that given any parameter r as input, there is an algorithmic procedure which outputs an arbitrarily good approximation of h(r) when provided with arbitrarily good approximations of r. The details are as follows: Proof of Theorem 43. By Proposition 47, we know how to compute the entropy of the collection of parameters r i which are the centers of the hyperbolic components. Recall that by Theorem 42, the topological entropy is constant on each hyperbolic component. Combining this with the fact that hyperbolic components are dense in [0, 4], we obtain that the sequence (h(f ri )) i of associated entropies is dense in [0, ln 2]. Now, given an arbitrary parameter r ∈ [0, 4] we can enumerate, by comparing r with each of the r i , the sets I + (r) = {i : r i > r} and I − (r) = {i : r i < r}.
Since h is non decreasing, we have that h(f r ) = inf i∈I + (r) h(f ri ) = sup i∈I − (r) h(f ri ), from which the computability of h(r) follows.