Betwixt Turing and Kleene

09/03/2021 ∙ by Dag Normann, et al. ∙ Apple Inc UNIVERSITETET I OSLO 0

Turing's famous 'machine' model constitutes the first intuitively convincing framework for computing with real numbers. Kleene's computation schemes S1-S9 extend Turing's approach and provide a framework for computing with objects of any finite type. Various research programs have been proposed in which higher-order objects, like functions on the real numbers, are represented/coded as real numbers, so as to make them amenable to the Turing framework. It is then a natural question whether there is any significant difference between the Kleene approach or the Turing-approach-via-codes. Continuous functions being well-studied in this context, we study functions of bounded variation, which have at most countably many points of discontinuity. A central result is the Jordan decomposition theorem that a function of bounded variation on [0, 1] equals the difference of two monotone functions. We show that for this theorem and related results, the difference between the Kleene approach and the Turing-approach-via-codes is huge, in that full second-order arithmetic readily comes to the fore in Kleenes approach, in the guise of Kleene's quantifier ∃^3.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1. Introduction: Jordan, Turing, and Kleene

In a nutshell, we study the computational properties of the Jordan decomposition theorem as in Theorem 1.1 and other results on functions of bounded variation, establishing the huge differences between the Turing and Kleene approaches to computability theory. For the rest of this section, we introduce the above italicised notions and sketch the contents of this paper in more detail. All technical notions are introduced in Section 2 while our main results are in Section 3.

First of all, Turing’s famous ‘machine’ model, introduced in [tur37], constitutes the first intuitively convincing framework for computing with real numbers. Kleene’s computation schemes S1-S9, introduced in [kleeneS1S9] extend Turing’s framework and provide a framework for computing with objects of any finite type. Now, various111Examples of such frameworks include: reverse mathematics ([simpson2, stillebron]), constructive analysis ([beeson1]*I.13, [bish1]), predicative analysis ([littlefef]), and computable analysis ([wierook]). Note that Bishop’s constructive analysis is not based on Turing computability directly, but one of its ‘intended models’ is however (constructive) recursive mathematics, as discussed in [brich]. One aim of Feferman’s predicative analysis is to capture constructive reasoning in the sense of Bishop. research programs have been proposed in which higher-order objects are represented/coded as real numbers or similar second-order representations, so as to make them amenable to the Turing framework. It is then a natural question whether there is any significant difference222The fan functional constitutes an early natural example of this difference: it has a computable code but is not S1-S9 computable (but S1-S9 computable in Kleene’s from Section 2.2.1). The fan functional computes a modulus of uniform continuity for continuous functions on Cantor space; details may be found in [longmann]. between the Kleene approach or the Turing-approach-via-codes. Continuous functions being well-studied in this context, we investigate functions of bounded variation, which have at most countably many points of discontinuity.

Secondly, the notion of bounded variation was first introduced by Jordan around 1881 ([jordel]) yielding a generalisation of Dirichlet’s convergence theorems for Fourier series. Indeed, Dirichlet’s convergence results are restricted to functions that are continuous except at a finite number of points, while functions of bounded variation can have (at most) countable many points of discontinuity, as also shown by Jordan, namely in [jordel]*p. 230. The fundamental theorem about functions of bounded variation is as follows and can be found in [jordel]*p. 229.

Theorem 1.1 (Jordan decomposition theorem).

A function of bounded variation can be written as the difference of two non-decreasing functions .

The computational properties of Theorem 1.1 have been studied extensively via second-order representations, namely in e.g. [groeneberg, kreupel, nieyo, verzengend]. The same holds for constructive analysis by [briva, varijo, brima, baathetniet], involving different (but related) constructive enrichments. Now, finite iterations of the Turing jump suffice to compute from Theorem 1.1 in terms of represented functions of bounded variation by [kreupel]*Cor. 10.

Thirdly, in light of the previous, it is a natural question what the computational properties of Theorem 1.1 are in Kleene’s framework. In particular, the following question is central to this paper.

How hard is it to compute (S1-S9) from of bounded variation, two monotone functions such that on ?

A functional that can perform this computational task will be called a Jordan realiser, introduced in Definition 3.2. A related and natural computational task is as follows.

How hard is it to compute (S1-S9) from of bounded variation, the supremum ?

A functional that can perform this computational task will be called a sup-realiser (see Definition 3.2). This task restricted to continuous functions is well-studied, and rather weak by [kohlenbach2]*Footnote 6. In light of the above, the following computational task is also natural:

How hard is it to compute (S1-S9) from of bounded variation, a sequence listing the points of discontinuity of ?

By way of a robustness result, we show that the above three tasks are the same modulo Kleene’s from Section 2.2.1. Moreover, we show that Jordan realisers are hard to compute: no type two functional, in particular the functionals which decide -formulas (see Section 2.2.1), can compute a Jordan realiser. We also show that Jordan realisers are powerful: when combined with other natural functionals, one can go all the way up to Kleene’s quantifier which yields full second-order arithmetic (see again Section 2.2.1 for the definition of ). We also study special cases of Jordan realisers, which connects to the computational tasks associated to the uncountability of .

Finally, our main results are obtained in Section 3 while some preliminary notions, including some essential parts of Kleene’s higher-order computability theory, can be found in Section 2.

2. Preliminaries

2.1. Kleene’s higher-order computability theory

We first make our notion of ‘computability’ precise as follows.

  1. We adopt ZFC, i.e. Zermelo-Fraenkel set theory with the Axiom of Choice, as the official metatheory for all results, unless explicitly stated otherwise.

  2. We adopt Kleene’s notion of higher-order computation as given by his nine clauses S1-S9 (see [longmann]*Ch. 5 or [kleeneS1S9]) as our official notion of ‘computable’.

We refer to [longmann] for a thorough overview of higher-order computability theory. We do mention the distinction between ‘normal’ and ‘non-normal’ functionals based on the following definition from [longmann]*§5.4.

Definition 2.1.

For , a functional of type is called normal if it computes Kleene’s following S1-S9, and non-normal otherwise.

We only make use of for , as defined in Section 2.2.1.

It is a historical fact that higher-order computability theory, based on Kleene’s S1-S9, has focused primarily on the world of normal functionals (see [longmann]*§5.4 for this opinion). We have previous studied the computational properties of new non-normal functionals, namely those that compute the objects claimed to exist by:

  • the Heine-Borel and Vitali covering theorems ([dagsam, dagsamII, dagsamVI]),

  • the Baire category theorem ([dagsamVII]),

  • local-global principles like Pincherle’s theorem ([dagsamV]),

  • the uncountability of and the Bolzano-Weierstrass theorem for countable sets in Cantor space ([dagsamX, dagsamXI]),

  • weak fragments of the Axiom of (countable) Choice ([dagsamIX]).

In this paper, we continue this study for the Jordan decomposition theorem and other basic properties of functions of bounded variation. Next, we introduce some required higher-order notions in Section 2.2.

2.2. Some higher-order notions

2.2.1. Some higher-order functionals

We introduce a number of comprehension functionals from the literature. We are dealing with conventional comprehension, i.e. only parameters over and are allowed in formula classes like et cetera.

First of all, the functional as in is clearly discontinuous at ; in fact, is equivalent to the existence of such that if , and otherwise (see [kohlenbach2]*§3).

()

Intuitively speaking, the functional from can decide the truth of any -formula in its (Kleene) normal form. Related to , the functional in is also called Feferman’s ([avi2]), defined as follows:

()

We have over a weak system by [kooltje]*Prop. 3.4 and Cor. 3.5) while is readily computed from in . The third-order functional from is also called ‘Kleene’s quantifier ’, and we use the same convention for other functionals.

Secondly, as in is called the Suslin functional ([kohlenbach2, avi2]):

()

Intuitively, the Suslin functional can decide the truth of any -formula in its normal form. We similarly define the functional which decides the truth or falsity of -formulas (again in normal form). We note that the operators from [boekskeopendoen]*p. 129 are essentially strengthened to return a witness to the -formula at hand. As suggested by its name, is the restriction of Hilbert-Bernays’ from [hillebilly2]*p. 495 to -formulas. We sometimes use and to denote and .

Thirdly, second-order arithmetic is readily derived from the following:

()

The functional from is also called ‘Kleene’s quantifier ’. Hilbert-Bernays’ from [hillebilly2]*p. 495 trivially computes .

Finally, the functionals are defined using the usual formula class , i.e. only allowing first- and second-order parameters. We have dubbed this the conventional approach and the associated functionals are captured by the umbrella term conventional comprehension. Comprehension involving third-order parameters has previously (only) been studied in [littlefef, kohlenbach4], to the best of our knowledge.

2.2.2. Some higher-order definitions

We introduce some required definitions, which are all standard.

First of all, a fruitful and faithful approach is the representation of sets by characteristic functions (see e.g. 

[samnetspilot, samcie19, samwollic19, dagsamVI, dagsamVII, kruisje, dagsamIX]

), well-known from e.g. measure and probability theory. We shall use this approach, always assuming

to make sure open sets represented by countable unions of basic opens are indeed sets in our sense.

Secondly, we now turn to countable sets. Of course, the notion of ‘countable set’ can be formalised in various ways, as follows.

Definition 2.2.

[Enumerable set] A set is enumerable if there is a sequence such that .

Definition 2.2 reflects the notion of ‘countable set’ from reverse mathematics ([simpson2]*V.4.2). Our definition of ‘countable set’ is as follows.

Definition 2.3.

[Countable set]  A set is countable if there is such that

(2.1)

The functional as in (2.1) is called injective on or an injection on . If is also surjective, i.e. , we call strongly countable. The functional is then called bijective on or a bijection on .

The first part of Definition 2.3 is from Kunen’s set theory textbook ([kunen]*p. 63) and the second part is taken from Hrbacek-Jech’s set theory textbook [hrbacekjech] (where the term ‘countable’ is used instead of ‘strongly countable’). According to Veldman ([veldje2]*p. 292), Brouwer studies set theory based on injections in [brouwke]. Hereonafter, ‘strongly countable’ and ‘countable’ shall exclusively refer to Definition 2.3.

3. Main results

In this section, we shall obtain our main results as follows. Recall that a Jordan realiser outputs the monotone functions claimed to exist by the Jordan decomposition theorem as in Theorem 1.1.

  • We introduce Jordan realisers and other functionals witnessing basic properties of functions of bounded variation; we show that three of these are computationally equivalent (Section 3.1).

  • We show that Jordan realisers are hard to compute based on results from [dagsamX] (Section 3.2).

  • We show that Kleene’s can be computed from , a Jordan realiser, and a well-ordering of (Section 3.3).

  • We show that Jordan realisers remain hard to compute even if we severely restrict the output (Section 3.4).

3.1. Jordan realisers and equivalent formulations

We introduce functionals witnessing basic properties of functions of bounded variation, including the Jordan decomposition theorem (Theorem 1.1). We show that three of these are computationally equivalent given .

As noted above, we always assume but specify the use when essential. This means that we can use the concept of Kleene-computability over or without focusing on how these spaces are represented.

First of all, as to definitions, the total variation of a function is (nowadays) defined as follows:

(3.1)

If this quantity exists and is finite, one says that has bounded variation on . Now, the notion of bounded variation is defined in [nieyo] without mentioning the supremum in (3.1); this approach can also be found in [kreupel, briva, brima]. Hence, we shall hereafter distinguish between the following two notions. As it happens, Jordan seems to use item (a) of Definition 3.1 in [jordel]*p. 228-229, providing further motivation for the functionals introduced in Definition 3.2.

Definition 3.1.

[Variations on variation]

  1. The function has bounded variation on if there is such that for any partition .

  2. The function has a variation on if the supremum in (3.1) exists and is finite.

We can now introduce the following notion of ‘realiser’ for the Jordan decomposition theorem and related functionals.

Definition 3.2.
  • A Jordan realiser is a partial functional of type 3 taking as input a function which has bounded variation (item (a) in Definition 3.1), and providing a pair of increasing functions and such that on .

  • A weak Jordan realiser is a partial functional of type 3 taking as inputs a function and its bounded variation (item (b) in Definition 3.1), and providing a pair of increasing functions and such that on .

  • A sup-realiser is a partial functional of type 3 taking as input a function which has bounded variation (item (a) in Definition 3.1), and providing the supremum .

  • A continuity-realiser is a partial functional of type 3 taking as input a function which has bounded variation (item (a) in Definition 3.1), and providing a sequence which lists all points of discontinuity of on .

Next, we need the following lemma. The use of is perhaps superfluous in light of the constructive proof in [tognog], but the latter seems to make essential use of the Axiom of (countable) Choice.

Lemma 3.3.

There is a functional , computable in , such that if is increasing (decreasing), then enumerates all points of discontinuity of on .

Proof.

Let be an enumeration of , let be monotone, and define . Let be the set of pairs of rationals such that there is no with . For , define

(3.2)

It is easy to see that the reals in (3.2) are equal; indeed, the existence of a rational between them, together with assuming that , leads to a contradiction.

Then all discontinuities of will be among the elements for . Clearly, , and for are computable in and . This ends the proof. ∎

Finally, we show that three ‘non-weak’ realisers from Definition 3.2 are in fact one and the same, in part based on Lemma 3.3.

Theorem 3.4.

Assuming , Jordan realisers, sup-realisers, and continuity realisers are computationally equivalent.

Proof.

We first show that a continuity realiser computes a sup-realiser. To this end, let be of bounded variation on and let be a list of its points of discontinuity. From we can find a list containing both the points of discontinuity and all rational numbers in . Then we can compute

(3.3)

since is computable from , , and .

Secondly, that a Jordan realiser computes a continuity realiser, assuming , is immediate from Lemma 3.3.

Thirdly, we show that a sup-realiser computes a Jordan realiser. To this end, let and be such that and define

(3.4)

These functionals are clearly computable in , for a function of bounded variation. Now let be the sum for a partition of , while is the sum of all positive differences .

Claim 3.5.

To compute a Jordan realiser, it suffices to compute , where varies over all partitions of .

To prove Claim 3.5, we compute increasing functions and such that . Without loss of generality, we may assume that , and by symmetry it suffices to compute . We can define and for , where . This ends the proof of Claim 3.5.

We now use the functionals introduced in (3.4) as follows.

Definition 3.6.

Let be of bounded variation on , let and let . Define the positive -move as:

Define the positive -move as .

Claim 3.7.

For each , we have that .

To prove Claim 3.7, it suffices to show that for each . For each such that , select such that and such that . For any partition containing all points and , we have that , implying

This ends the proof of Claim 3.7.

Claim 3.8.

Let be of bounded variation on and let be a partition of . Then there is such that .

To prove Claim 3.8, fix and let be so large that each , for , contains at most one . Let be such that . Then we clearly have, for , that

This ends the proof of Claim 3.8. We can now establish the theorem as follows: by the above three claims, we have . Since we can compute the latter from and , the former is likewise computable. Since we can compute a Jordan realiser from , the proof of Theorem 3.4 is complete. ∎

In conclusion, as perhaps expected in light of (3.3), rather effective and pointwise approximation results exist for functions of bounded variation at points of continuity (see e.g. [chin]*p. 261). For points of discontinuity, it seems one only approximates the average of the left and right limits, i.e. not the function value itself.

3.2. Jordan realiser and countable sets

We show that Jordan realisers are hard to compute by connecting them to computability theoretic results pertaining to countable sets from [dagsamX]. Recall the definitions from Section 2.2.2 pertaining to the latter notion.

Now, the most fundamental property of countable sets is that they can be enumerated, i.e. listed as a sequence, as explicitly noted by e.g. Borel in [opborrelen2] in his early discussions of the Heine-Borel theorem. Next, we show that Jordan realisers can indeed enumerate countable sets as in Definition 2.3.

Theorem 3.9.

Together with , a Jordan realiser can perform the following computational procedures.

  • Given a set and injective on , produce a sequence listing exactly the elements of .

  • Given , , and injective on , produce .

Proof.

We only need to establish the first item, as the second item readily follows from the first one using . Let be countable, i.e. there is which is injective on . Use to define the function defined as follows:

(3.5)

Following item (a) in Definition 3.1, the function has bounded variation on as any sum is at most for in and . Now let be such that on and recall from Lemma 3.3. Use to define the sequence as all the reals in and . Now consider the following formula for any :

(3.6)

The forward direction in (3.6) is immediate as for implies , and hence by definition. For the reverse direction, fix and note that by the definition of in (3.6), i.e.  holds. Moreover, in case , then and are continuous at , by the definition of . Hence, is continuous at , which is only possible if , but the latter implies , by (3.5), a contradiction. In this way, we obtain (3.6) and we may enumerate by removing from all elements not in , which can be done using . ∎

Secondly, weak Jordan realisers can enumerate strongly countable sets (Definition 2.3).

Corollary 3.10.

Together with , a weak Jordan realiser can perform the following computational procedures.

  • Given a set and bijective on , produce a sequence listing exactly the elements of .

  • Given , , and bijective on , produce .

Proof.

Following item (b) in Definition 3.1, the function in (3.5) has total variation exactly in case is additionally a bijection. ∎

A weak Jordan realiser cannot compute a Jordan realiser; this remains true if we combine the former with an arbitrary type 2 functional. Since the proof of this claim is rather lengthy, we have omitted the former from this paper.

Thirdly, the functional introduced and studied in [dagsamX]*§4, performs the computational procedure from the second item in Theorem 3.9, leading to the following corollary.

Corollary 3.11.

Together with the Suslin function functional , a Jordan realiser computes , i.e. a realiser for .

Proof.

By [dagsamX]*Theorem 4.6.(b), computes , while a Jordan realiser computes by Theorem 3.9. ∎

Finally, under the additional set-theoretic hypothesis V=L, the combination even computes by [dagsamX]*Theorem 4.6.(c). An obvious question is whether a similar result can be obtained within ZFC, which is the topic of the following section.

3.3. Computing Kleene’s from Jordan realisers

We show that Kleene’s quantifier is computable in the combination of:

  • Kleene’s quantifier ,

  • any Jordan realiser (or: from Section 3.2),

  • a well-ordering of .

We note that the third item exists by the Axiom of Choice. Assuming and are the irreflexive and reflexive versions of the same well-ordering of , they are computable in each other and .

Theorem 3.12.

Let be a Jordan realiser. Then is Kleene-computable in , , and .

Proof.

We actually prove a slightly stronger result. Let be a partial functional of type 3 such that terminates whenever has at most one element, and whenever contains exactly one element. One readily333To obtain an enumeration of given injective on , define and define in case the latter is in , and otherwise. shows that is computationally equivalent to , given . We now show that is computable in , , and .

We let vary over and we fix . We aim to compute by deciding the truth of the formula . To this end, consider the functionals and defined as:

We shall show that these are computable in and , uniformly in . Note that is trivially computable in , uniformly in , so we settle for computing . The argument will be by the recursion theorem, so we give the algorithm for computing using , , and for . Now let and be fixed and define as:

where we use to decide whether the second case holds. Then is constant zero if , and if not, takes the value 1 in exactly the least point where . Hence, we have

We now apply the recursion theorem to find an index such that for all and (and well-orderings , we have

Then we use transfinite induction over to prove that defines a total functional doing what it is supposed to do. For readers not familiar with this use of the recursion theorem, what we do is defining as in the construction, but replacing all uses of by ; we then use the fact that here is an index such that , where ‘’ are the other parameters.

Having established the computability of each from , we can use the same trick to compute as follows: construct from a function that takes the value 1 in at most one place, namely the -least where , in case such exists. ∎

Finally, we note that Kleene’s computation scheme S9 is essentially a ‘hard-coded’ version of the recursion theorem for S1-S9, while S1-S8 merely define (higher-order) primitive recursion. In this way, the recursion theorem is central to S1-S9, although we have previously witnessed S1-S9 computations via primitive recursive terms.

3.4. Jordan realisers and the uncountability of

We show that a number of interesting functionals, including ‘heavily restricted’ Jordan realisers, are (still) quite hard to compute, based on the computational properties of the uncountability of pioneered in [dagsamX].

First of all, in more detail, Theorem 3.4 implies that a Jordan realiser can enumerate all points of discontinuity of a function of bounded variation. It is then a natural question whether Jordan realisers remain hard to compute if we only require the output to be e.g. one point of continuity. By way of an answer, Theorem 3.15 lists a number of interesting functionals -including the aforementioned ‘one-point’ Jordan realisers- that compute functionals witnessing the uncountability of . Functionals related to the uncountability of are special in the following sense.

By the previous sections, Jordan realisers have surprising properties and are a nice addition to the pantheon of interesting non-normal functionals stemming from ordinary mathematics (see [dagsam, dagsamII, dagsamIII, dagsamV, dagsamVII, dagsamVI, dagsamX, dagsamIX, dagsamXI] or Section 2.1 for other examples). It is then a natural question what the weakest such functional is; a candidate is provided by the uncountability of , which can be formulated in various guises as follows.

  • Cantor’s theorem: there is no surjection from to .

  • NIN: there is no injection from to .

  • NBI: there is no bijection from to .

Cantor’s theorem is provable in constructive and computable mathematics ([bish1, simpson2]), while there is even an efficient algorithm to compute from a sequence of reals, a real not in that sequence ([grayk]). As explored in [dagsamX], NIN and NBI are hard to prove in terms of conventional comprehension. We will not study NBI in this paper while Cantor’s theorem and NIN give rise to the following specifications.

Definition 3.13.

[Realisers for the uncountability of ]

  • A Cantor functional/realiser takes as input and such that is injective on , and outputs .

  • A NIN-realiser takes as input and outputs with .

As explored in [dagsamX], NIN-realisers are among the weakest non-normal functionals originating from ordinary mathematics we have studied. Moreover, one readily444Let be a NIN-realiser and let and be such that is injective on . Define as follows: in case , and otherwise. Clearly, as required for a Cantor functonal. proves that a NIN-realiser computes a Cantor realiser, while the latter are still hard to compute as follows.

Theorem 3.14.

No type two functional can compute a Cantor realiser.

Proof.

Fix some functional and assume without loss of generality that computes . Assume there is a Cantor realiser computable in . Now let be the set of reals computable in and define as follows using Gandy selection (see [dagsamIX, longmann] for an introduction): for the first part, define as an index for computing from in case ; we put in case . By assumption, terminates as is injective on . Since the restriction of to is partially computable in , all oracle calls of the form ‘’ will be answered with yes, since then is computable in . Hence, all oracle calls for the value can be answered computably in . Hence, by definition, a contradiction. ∎

Secondly, it is fairly trivial to prove (classically) that there is no continuous injection from to , based on the intermediate value theorem. Now consider the following principle, which expresses a very special case of the uncountability of .

  • : there is no injection from to that has bounded variation (item (a) in Definition 3.1).

One readily establishes the equivalence over a weak system, following the proof of Theorem 3.15. By the latter and Theorem 3.14, while NIN-realisers are defined for all , the restriction to functions of bounded variation, which only have countably many points of discontinuity, is (still) hard to compute and intermediate between Cantor and NIN-realisers.

Thirdly, we have the following theorem where the functional

is the Laplace transform of . Since we restrict to functions of bounded variation, we interpret as the limit of Riemann integrals, if the latter exists. It is well-known that if and exists and are equal everywhere, and are equal almost everywhere, inspiring the final -considerably weaker- item in Theorem 3.15. For the third item, a version involving second-order codes is weak in light of [nieyo]*Theorem 6.8, namely computable from Martin-Löf random reals. We exclusively interpret ‘bounded variation’ as item (a) of Definition 3.1.

Theorem 3.15.

Assuming , a Cantor realiser can be computed from a functional performing any of the following tasks.

  • For which has bounded variation, find such that and .

  • For which has bounded variation, find a point of continuity in .

  • For which has bounded variation, find a point of differentiability in .

  • If is Riemann integrable (or has bounded variation) with , find with .

  • If satisfy the following:

    • have bounded variation on for any ,

    • and exists and are equal on ,

    find with .

Any NIN-realiser computes a functional as in the first item.

Proof.

The final sentence is immediate as and are bijective. Now fix some countable set and injective on . Consider as in (3.5) and recall it has bounded variation. For the second item, if is a point of continuity of , we must have by continuity. Then by definition, as required. The third item follows in the same way as differentiability implies continuity, also locally. For the first item, in case and , we must have or , in light of (3.5).

For the fourth item, consider as in (3.5); that exists and equals , follows from the usual --definition of Riemann integrability. Indeed, fix and find such that . Let be a partition of with for and with mesh at most . Then the Riemann sum satisfies

as is injective on and is zero outside of . Hence, and any with yields by (3.5).

For the final item, the tangent and arctangent functions provide bijections between and . Hence, we may work with and injective on . We again consider as in (3.5), now as an -function. This function has bounded variation on any interval for , in the same way as in the proof of Theorem 3.9. Since for , the previous paragraph yields for any , and hence for all . For the zero everywhere function, we trivially have for any . Clearly, any such that also satisfies , yielding a Cantor functional. ∎

We note that theorem also goes through if we formulate the second item using the much weaker notions of quasi555A function is quasi-continuous (resp. cliquish) at if for any and any open neighbourhood of , there is a non-empty open ball with (resp. ). or cliquish continuity in at least one point in . These notions are found in e.g. [nieuwebron, kowalski].

References

References