This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

On the computational properties of basic mathematical notions

Dag Normann Department of Mathematics, The University of Oslo, P.O. Box 1053, Blindern N-0316 Oslo, Norway dnormann@math.uio.no  and  Sam Sanders Department of Philosophy II, RUB Bochum, Germany sasander@me.com
Abstract.

We investigate the computational properties of basic mathematical notions pertaining to {\mathbb{R}}\rightarrow{\mathbb{R}}-functions and subsets of {\mathbb{R}}, like finiteness, countability, (absolute) continuity, bounded variation, suprema, and regularity. We work in higher-order computability theory based on Kleene’s S1-S9 schemes. We show that the aforementioned italicised properties give rise to two huge and robust classes of computationally equivalent operations, the latter based on well-known theorems from the mainstream mathematics literature. As part of this endeavour, we develop an equivalent λ\lambda-calculus formulation of S1-S9 that accommodates partial objects. We show that the latter are essential to our enterprise via the study of countably based and partial functionals of type 33. We also exhibit a connection to infinite time Turing machines.

Key words and phrases:
Kleene S1-S9, higher-order computability theory, bounded variation, partiality, regulated functions

CORRIGENDUM

The lambda calculus introduced in Section 3 unfortunately suffers from a technical error. The latter was communicated to us in a private communication by John Longley. In particular, the restriction in the fifth bullet point of Definition 3.7 is too strong. As a consequence, Theorem 3.19 is not correct. A corrected version may be found in [dagsamXV]*Section 5. The computability theoretic results in this paper remain unaffected.

1. Introduction

Given a finite set, perhaps the most basic questions are how many elements it has, and which ones? We study this question in Kleene’s higher-order computability theory, based on his computation schemes S1-S9 (see [kleeneS1S9, longmann]). In particular, a central object of study is the higher-order functional Ω\Omega which on input a finite set of real numbers, list the elements as a finite sequence.

Perhaps surprisingly, the ‘finiteness’ functional Ω\Omega give rise to a huge and robust class of computationally equivalent operations, called the Ω\Omega-cluster, as explored in Section 4. For instance, many basic operations on functions of bounded variation (often abbreviated to ‘BVBV’ in the below) are part of the Ω\Omega-cluster, including those stemming from the well-known Jordan decomposition theorem (see Theorem 2.8). We have studied the computational properties of the latter theorem in [dagsamXII] and this paper greatly extends the results in the latter. In addition, we identify a second cluster of computationally equivalent objects, called the Ω1\Omega_{1}-cluster, based on Ω1\Omega_{1}, the restriction of Ω\Omega to singletons. We also show that both clusters include basic operations on regulated and Sobolev space functions, respectively a well-known super- and sub-class of the class of BVBV-functions.

As will become clear, our objects of study are fundamentally partial in nature, and we formulate an elegant and equivalent λ\lambda-calculus formulation of S1-S9 to accommodate partial objects (Section 3). The advantages of this approach are three-fold: proofs are more transparent in our λ\lambda-calculus approach, all (previously hand-waved) technical details can be settled easily, and we can show that Ω1\Omega_{1} and Ω\Omega are not computationally equivalent to any total functional.

As to the broader context of our endeavour, Jordan introduces the notion of BVBV-function around 1881 in [jordel], while Lakatos claims in [laktose] that Dirichlet’s original 1829 proof from [didi3] already contains this notion. Moreover, we also study the class of rectifiable functions, i.e. the largest class for which the notion of ‘arc length of the graph’ makes sense, which coincides with the class of BVBV-functions, as shown in [voordedorst]*Ch. 1. However, the modern notion of arc length goes back to 1833-1866, as discussed in Section 4.5.7. Thus, our study of the Ω\Omega-cluster has a clear historical angle. Moreover, the following quote motivates that functions of bounded variation constitute ‘ordinary’ or ‘mainstream’ mathematics.

The space BVBV, consisting of functions with bounded variation, is of particular interest for applications to data compression and statistical estimation. It is often chosen as a model for piecewise smooth signals such as geometric images. ([cohenn]*p. 236)

Similar claims can be made for Sobolev spaces and regulated functions, prominent/essential as they are in the study of PDEs or Riemann integration.

Finally, all technical notions are introduced in Section 2 while our main results are in Section 3 and 4. The informed reader will know that the computational properties of BVBV-functions have been studied via second-order representations, as also mentioned in Section 2.2.3.

2. Preliminaries

We introduce some required background, including Kleene’s computational framework (Section 2.1) and some higher-order definitions (Section 2.2), like the notion of BVBV-function and related concepts. Before all that, we remind the reader that higher-order computability theory is generally formulated in the language of type theory. The well-known notion of ‘order’ of an object corresponds to that of ‘type rank’, but with difference 11 (see Definition 3.1). We do not always distinguish between the ‘type’ of an object and its ‘type rank’, to avoid cumbersome notations.

2.1. Kleene’s higher-order computability theory

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

  1. (I)

    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. (II)

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

We mention that S1-S8 are rather basic and merely introduce a kind of higher-order primitive recursion with higher-order parameters. The real power comes from S9, which essentially hard-codes the recursion theorem for S1-S9-computability in an ad hoc way. By contrast, the recursion theorem for Turing machines is derived from first principles in [zweer].

On a historical note, it is part of the folklore of the subject of computability theory that many have tried (and failed) to formulate models of computation for objects of all finite types in which one derives the recursion theorem in a natural way. For this reason, Kleene ultimately introduced S1-S9, which were initially criticised for their ad hoc nature, but eventually received general acceptance nonetheless.

We refer to [longmann] for a (more) 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 n2n\geq 2, a functional of type nn is called normal if it computes Kleene’s n\exists^{n} following S1-S9, and non-normal otherwise.

We only make use of n\exists^{n} for n=2,3n=2,3, as defined in Section 2.2.2.

It is a historical fact that higher-order computability theory, based on Kleene’s S1-S9 schemes, has focused primarily on the world of normal functionals; this opinion can be found [longmann]*§5.4. Nonetheless, we have previously studied the computational properties of new non-normal functionals, namely those that compute the objects claimed to exist by:

  • covering theorems due to Heine-Borel, Vitali, and Lindelöf ([dagsam, dagsamII, dagsamVI]),

  • the Baire category theorem ([dagsamVII]),

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

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

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

  • the Jordan decomposition theorem and other results on BVBV-functions ([dagsamXII]).

In this paper, we greatly extend the study mentioned in the final item. Next, we introduce some required higher-order notions in Section 2.2.

2.2. Some higher-order notions

We introduce some comprehension functionals (Section 2.2.2) and definitions (Section 2.2.3) that are essential to the below. We first introduce the usual notations for real numbers and finite sequences.

2.2.1. Notations and the like

We introduce the usual notations for common mathematical notions, like real numbers, as also introduced in [kohlenbach2].

Definition 2.2 (Real numbers and related notions).
  1. (a)

    Natural numbers correspond to type zero objects, and we use ‘n0n^{0}’ and ‘nn\in{\mathbb{N}}’ interchangeably. Rational numbers are defined as signed quotients of natural numbers, and ‘qq\in{\mathbb{Q}}’ and ‘<<_{{\mathbb{Q}}}’ have their usual meaning.

  2. (b)

    Real numbers are coded by fast-converging Cauchy sequences q():q_{(\cdot)}:{\mathbb{N}}\rightarrow{\mathbb{Q}}, i.e.  such that (n0,i0)(|qnqn+i|<12n)(\forall n^{0},i^{0})(|q_{n}-q_{n+i}|<_{{\mathbb{Q}}}\frac{1}{2^{n}}). We use Kohlenbach’s ‘hat function’ from [kohlenbach2]*p. 289 to guarantee that every q1q^{1} defines a real number.

  3. (c)

    We write ‘xx\in{\mathbb{R}}’ to express that x1:=(q()1)x^{1}:=(q^{1}_{(\cdot)}) represents a real as in the previous item and write [x](k):=qk[x](k):=q_{k} for the kk-th approximation of xx.

  4. (d)

    Two reals x,yx,y represented by q()q_{(\cdot)} and r()r_{(\cdot)} are equal, denoted x=yx=_{{\mathbb{R}}}y, if (n0)(|qnrn|2n+1)(\forall n^{0})(|q_{n}-r_{n}|\leq{2^{-n+1}}). Inequality ‘<<_{{\mathbb{R}}}’ is defined similarly. We sometimes omit the subscript ‘{\mathbb{R}}’ if it is clear from context.

  5. (e)

    Functions F:F:{\mathbb{R}}\rightarrow{\mathbb{R}} are represented by Φ11\Phi^{1\rightarrow 1} mapping equal reals to equal reals, i.e. extensionality as in (x,y)(x=yΦ(x)=Φ(y))(\forall x,y\in{\mathbb{R}})(x=_{{\mathbb{R}}}y\rightarrow\Phi(x)=_{{\mathbb{R}}}\Phi(y)).

  6. (f)

    Equality at higher types is defined in terms of equality between naturals ‘=0=_{0}’ as follows: for any objects xτ,yτx^{\tau},y^{\tau}, we have

    [x=τy](z1τ1zkτk)[xz1zk=0yz1zk],[x=_{\tau}y]\equiv(\forall z_{1}^{\tau_{1}}\dots z_{k}^{\tau_{k}})[xz_{1}\dots z_{k}=_{0}yz_{1}\dots z_{k}], (2.1)

    if the type τ\tau is composed as τ(τ1τk0)\tau\equiv(\tau_{1}\rightarrow\dots\rightarrow\tau_{k}\rightarrow 0).

  7. (g)

    The relation ‘xτyx\leq_{\tau}y’ is defined as in (2.1) but with ‘0\leq_{0}’ instead of ‘=0=_{0}’. Binary sequences are denoted ‘f1,g111f^{1},g^{1}\leq_{1}1’, but also ‘f,gCf,g\in C’ or ‘f,g2f,g\in 2^{{\mathbb{N}}}’. Elements of Baire space are given by f1,g1f^{1},g^{1}, but also denoted ‘f,gf,g\in{\mathbb{N}}^{{\mathbb{N}}}’.

  8. (h)

    For a binary sequence f1f^{1}, the associated real in [0,1][0,1] is 𝕣(f):=n=0f(n)2n+1\mathbb{r}(f):=\sum_{n=0}^{\infty}\frac{f(n)}{2^{n+1}}.

For completeness, we list the following notational convention for finite sequences.

Notation 2.3 (Finite sequences).

The type for ‘finite sequences of objects of type ρ\rho’ is denoted ρ\rho^{*}, which we shall only use for ρ=0,1\rho=0,1. Since the usual coding of pairs of numbers is rather elementary, we shall not always distinguish between 0 and 00^{*}. Similarly, we assume a fixed coding for finite sequences of type 11 and shall make use of the type ‘11^{*}’. In general, we do not always distinguish between ‘sρs^{\rho}’ and ‘sρ\langle s^{\rho}\rangle’, where the former is ‘the object ss of type ρ\rho’, and the latter is ‘the sequence of type ρ\rho^{*} with only element sρs^{\rho}’. The empty sequence for the type ρ\rho^{*} is denoted by ‘ρ\langle\rangle_{\rho}’, usually with the typing omitted.

Furthermore, we denote by ‘|s|=n|s|=n’ the length of the finite sequence sρ=s0ρ,s1ρ,,sn1ρs^{\rho^{*}}=\langle s_{0}^{\rho},s_{1}^{\rho},\dots,s_{n-1}^{\rho}\rangle, where ||=0|\langle\rangle|=0, i.e. the empty sequence has length zero. For sequences sρ,tρs^{\rho^{*}},t^{\rho^{*}}, we denote by ‘sts*t’ the concatenation of ss and tt, i.e. (st)(i)=s(i)(s*t)(i)=s(i) for i<|s|i<|s| and (st)(j)=t(|s|j)(s*t)(j)=t(|s|-j) for |s|j<|s|+|t||s|\leq j<|s|+|t|. For a sequence sρs^{\rho^{*}}, we define s¯N:=s(0),s(1),,s(N1)\overline{s}N:=\langle s(0),s(1),\dots,s(N-1)\rangle for N0<|s|N^{0}<|s|. For a sequence α0ρ\alpha^{0\rightarrow\rho}, we also write α¯N=α(0),α(1),,α(N1)\overline{\alpha}N=\langle\alpha(0),\alpha(1),\dots,\alpha(N-1)\rangle for any N0N^{0}. By way of shorthand, (qρQρ)A(q)(\forall q^{\rho}\in Q^{\rho^{*}})A(q) abbreviates (i0<|Q|)A(Q(i))(\forall i^{0}<|Q|)A(Q(i)), which is (equivalent to) quantifier-free if AA is.

2.2.2. Higher-order comprehension functionals

We introduce a number of well-known ‘comprehension functionals’ from the literature. We are dealing with conventional comprehension, i.e. only parameters over {\mathbb{N}} and {\mathbb{N}}^{{\mathbb{N}}} are allowed in formula classes like Πk1\Pi_{k}^{1} and Σk1\Sigma_{k}^{1}.

First of all, the third-order functional φ\varphi as in (2)(\exists^{2}) is often called ‘Kleene’s quantifier 2\exists^{2}’ and we use the same naming convention for other functionals.

(φ221)(f1)[(n0)(f(n)=0)φ(f)=0](\exists\varphi^{2}\leq_{2}1)(\forall f^{1})\big{[}(\exists n^{0})(f(n)=0)\leftrightarrow\varphi(f)=0\big{]} (2\exists^{2})

Intuitively speaking, Kleene’s 2\exists^{2} can decide the truth of any Σ10\Sigma_{1}^{0}-formula in its (Kleene) normal form. Related to (2)(\exists^{2}), the third-order functional in (μ2)(\mu^{2}) is also called Feferman’s μ\mu ([avi2]), defined as follows:

(μ2)(f1)[(n)(f(n)=0)\displaystyle(\exists\mu^{2})(\forall f^{1})\big{[}(\exists n)(f(n)=0)\rightarrow [f(μ(f))=0(i<μ(f))(f(i)0)]\displaystyle[f(\mu(f))=0\wedge(\forall i<\mu(f))(f(i)\neq 0)]
[(n)(f(n)0)μ(f)=0]].\displaystyle\wedge[(\forall n)(f(n)\neq 0)\rightarrow\mu(f)=0]\big{]}. (μ2\mu^{2})

We have (2)(μ2)(\exists^{2})\leftrightarrow(\mu^{2}) over a weak system by [kooltje]*Prop. 3.4 and Cor. 3.5) while μ2\mu^{2} is readily computed from Kleene’s 2\exists^{2}. The operator μ2\mu^{2}, with that symbol, plays a central role in Hilbert-Bernays’ Grundlagen ([hillebilly, hillebilly2]). Now, the same symbol ‘μ\mu’ is also often used for fixed point operators, a convention we also adopt (see Section 3.2). This dual use of ‘μ\mu’ shall not lead to confusion, especially since Feferman’s μ\mu is essentially111Define μfix(f):=μ(λn.(f(n)n))\mu_{\textup{{fix}}}(f):=\mu(\lambda n.(f(n)-n)) and note that f(μfix(f))=μfix(f)f(\mu_{\textup{{fix}}}(f))=\mu_{\textup{{fix}}}(f) in case ff\in{\mathbb{N}}^{{\mathbb{N}}} has a fixed point. The leastness follows by the definition of Feferman’s μ2\mu^{2} a (least) fixed point operator.

Secondly, SS2\SS^{2} as in (SS2)(\SS^{2}) is called the Suslin functional ([kohlenbach2, avi2]):

(SS221)(f1)[(g1)(n0)(f(g¯n)=0)SS(f)=0].(\exists\SS^{2}\leq_{2}1)(\forall f^{1})\big{[}(\exists g^{1})(\forall n^{0})(f(\overline{g}n)=0)\leftrightarrow\SS(f)=0\big{]}. (SS2\SS^{2})

Intuitively, the Suslin functional SS2\SS^{2} can decide the truth of any Σ11\Sigma_{1}^{1}-formula in its normal form. We similarly define the functional SSk2\SS_{k}^{2} which decides the truth or falsity of Σk1\Sigma_{k}^{1}-formulas (again in normal form). We note that the operators νn\nu_{n} from [boekskeopendoen]*p. 129 are essentially SSn2\SS_{n}^{2} strengthened to return a witness to the Σn1\Sigma_{n}^{1}-formula at hand. As suggested by its name, νk\nu_{k} is the restriction of Hilbert-Bernays’ ν\nu from [hillebilly2]*p. 495 to Σk1\Sigma_{k}^{1}-formulas. We sometimes use SS02\SS_{0}^{2} and SS12\SS_{1}^{2} to denote 2\exists^{2} and SS2\SS^{2}.

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

(E331)(Y2)[(f1)(Y(f)=0)E(Y)=0].(\exists E^{3}\leq_{3}1)(\forall Y^{2})\big{[}(\exists f^{1})(Y(f)=0)\leftrightarrow E(Y)=0\big{]}. (3\exists^{3})

The functional from (3)(\exists^{3}) is also called ‘Kleene’s quantifier 3\exists^{3}’. Hilbert-Bernays’ ν\nu from [hillebilly2]*p. 495 trivially computes 3\exists^{3}.

Finally, the functionals SSk2\SS_{k}^{2} are defined using the usual formula class Πk1\Pi_{k}^{1}, 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.3. Some higher-order definitions

We introduce some standard definitions required for introducing the many inhabitants of the Ω\Omega and Ω1\Omega_{1}-clusters.

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 and going back to Dirichlet (1830; [didi1]). We shall use this approach, assuming 2\exists^{2} to make sure e.g. countable unions make sense.

Secondly, we now turn to countable sets. Of course, this notion can be formalised in various ways, as follows.

Definition 2.4.

[Enumerable set] A set AA\subset{\mathbb{R}} is enumerable if there is a sequence (xn)n(x_{n})_{n\in{\mathbb{N}}} such that (x)(xA(n)(x=xn))(\forall x\in{\mathbb{R}})(x\in A\rightarrow(\exists n\in{\mathbb{N}})(x=x_{n})).

We note that Definition 2.4 reflects the notion of ‘countable set’ from second-order reverse mathematics ([simpson2]*V.4.2).

Notation 2.5.

[Enumeration] Given Feferman’s μ2\mu^{2}, we can remove all elements from a sequence (xn)n(x_{n})_{n\in{\mathbb{N}}} that are not in a given set AA, i.e. obtain an equivalence in Definition 2.4 in case AA is enumerable; the resulting sequence is called an enumeration of AA. As a technicality, we shall refer to the ‘null sequence’ 11\langle\rangle_{1}*\langle\rangle_{1}*\dots as an enumeration of the empty set \emptyset\subset{\mathbb{R}}.

Our definition of ‘countable set’ is now as follows.

Definition 2.6.

[Countable set]  Any AA\subset{\mathbb{R}} is countable if there is Y:Y:{\mathbb{R}}\rightarrow{\mathbb{N}} with

(x,yA)(Y(x)=0Y(y)x=y).(\forall x,y\in A)(Y(x)=_{0}Y(y)\rightarrow x=y). (2.2)

The functional YY as in (2.2) is called injective on AA or an injection on AA. If Y:Y:{\mathbb{R}}\rightarrow{\mathbb{N}} is also surjective, i.e. (n)(xA)(Y(x)=n)(\forall n\in{\mathbb{N}})(\exists x\in A)(Y(x)=n), we call AA strongly countable. The functional YY is then called bijective on AA or a bijection on AA.

The first part of Definition 2.6 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]. In this paper, ‘strongly countable’ and ‘countable’ shall exclusively refer to Definition 2.6.

Thirdly, the notion of bounded variation (abbreviated BVBV) was first explicitly222Lakatos in [laktose]*p. 148 claims that Jordan did not invent or introduce the notion of bounded variation in [jordel], but rather discovered it in Dirichlet’s 1829 paper [didi3]. 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 already studied by Jordan, namely in [jordel]*p. 230. Nowadays, the total variation of f:[a,b]f:[a,b]\rightarrow{\mathbb{R}} is defined as:

Vab(f):=supax0<<xnbi=0n|f(xi)f(xi+1)|.\textstyle V_{a}^{b}(f):=\sup_{a\leq x_{0}<\dots<x_{n}\leq b}\sum_{i=0}^{n}|f(x_{i})-f(x_{i+1})|. (2.3)

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

Definition 2.7.

[Variations on variation]

  1. (a)

    The function f:[a,b]f:[a,b]\rightarrow{\mathbb{R}} has bounded variation on [a,b][a,b] if there is k0k_{0}\in{\mathbb{N}} such that k0i=0n|f(xi)f(xi+1)|k_{0}\geq\sum_{i=0}^{n}|f(x_{i})-f(x_{i+1})| for any partition x0=a<x1<<xn1<xn=bx_{0}=a<x_{1}<\dots<x_{n-1}<x_{n}=b.

  2. (b)

    The function f:[a,b]f:[a,b]\rightarrow{\mathbb{R}} has a variation on [a,b][a,b] if the supremum in (2.3) exists and is finite.

This definition suggests a three-fold variation for any operation on functions of bounded variation, namely depending on whether this operation has access to the supremum (2.3), an upper bound on the supremum (2.3), or none of these. The fundamental theorem about BVBV-functions (see e.g.  [jordel]*p. 229) is as follows.

Theorem 2.8 (Jordan decomposition theorem).

A function f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} of bounded variation is the difference of two non-decreasing functions g,h:[0,1]g,h:[0,1]\rightarrow{\mathbb{R}}.

The computational properties of Theorem 2.8 have been studied extensively via second-order representations 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, arithmetical comprehension suffices to derive Theorem 2.8 for various kinds of second-order representations of BVBV-functions in [kreupel, nieyo], i.e. finite iterations of the Turing jump suffice to compute the associated Jordan decomposition. By contrast, the results in [dagsamXII] imply that no functional SSk2\SS_{k}^{2} can compute the Jordan decomposition g,hg,h from ff in Theorem 2.8 in general.

Fourth, BVBV-functions are regulated (called ‘regular’ in [voordedorst]), i.e. for every x0x_{0} in the domain, the ‘left’ and ‘right’ limit f(x0)=limxx0f(x)f(x_{0}-)=\lim_{x\rightarrow x_{0}-}f(x) and f(x0+)=limxx0+f(x)f(x_{0}+)=\lim_{x\rightarrow x_{0}+}f(x) exist. Scheeffer studies regulated functions in [scheeffer] (without using the term ‘regulated’), while Bourbaki develops Riemann integration based on regulated functions in [boerbakies]. Weierstrass’ ‘monster’ function is a natural example of a regulated function not of bounded variation. As a testimony to its robustness, many functionals from the Ω\Omega-cluster remain in this cluster if we extend their input domain from ‘bounded variation’ to ‘regulated’; the same holds for any intermediate class, as discussed in more detail in Remark 4.13.

Fifth, a somewhat unexpected result regarding BVBV-functions is the Banach indicatrix theorem from [banach1], implying that for a continuous BVBV-function f:[a,b]f:[a,b]\rightarrow{\mathbb{R}}, we may compute (2.3) as follows:

Vab(f)=N(f)(y)𝑑y, where N(f)(y)=#{x[a,b]:f(x)=y}.\textstyle V_{a}^{b}(f)=\int_{{\mathbb{R}}}N(f)(y)dy,\textup{ where $N(f)(y)=\#\{x\in[a,b]:f(x)=y\}$}. (2.4)

The function N(f)N(f) is called the Banach indicatrix of ff on [0,1][0,1]. By the (Russian language) results in [lovely, lovely2], (2.4) also holds for regulated functions, as explained in [voordedorst]*p. 44 in English.

Sixth, the Jordan decomposition theorem as in Theorem 2.8 shows that a BVBV-function can be ‘decomposed’ as the difference of monotone functions. This is however not the only result of its kind: Sierpiński’s establishes in [voordesier] that for a regulated function f:[0,1]f:[0,1]\rightarrow{\mathbb{R}}, there are g,hg,h such that f=ghf=g\circ h with gg continuous and hh strictly increasing on their respective domains. There are a number of similar results, to be found in [voordedorst]*p. 91.

Seventh, an important sub-class of BVBV is the Sobolev space W1,1W^{1,1}, which consists of those L1L_{1}-functions with weak derivative in L1L_{1} (see Section 4.6 for definitions). As a testimony to its robustness, many functionals from the Ω\Omega-cluster remain in this cluster if we restrict their input domain from ‘bounded variation’ to ‘in W1,1W^{1,1}’.

Eighth, we shall study the following notions of weak continuity.

Definition 2.9.

For f:[0,1]f:[0,1]\rightarrow{\mathbb{R}}, we have the following definitions:

  • ff is upper semi-continuous at x0[0,1]x_{0}\in[0,1] if f(x0)limsupxx0f(x)f(x_{0})\geq_{{\mathbb{R}}}\lim\sup_{x\rightarrow x_{0}}f(x),

  • ff is lower semi-continuous at x0[0,1]x_{0}\in[0,1] if f(x0)liminfxx0f(x)f(x_{0})\leq_{{\mathbb{R}}}\lim\inf_{x\rightarrow x_{0}}f(x),

  • ff is quasi-continuous (resp. cliquish) at x0[0,1]x_{0}\in[0,1] if for ϵ>0\epsilon>0 and an open neighbourhood UU of x0x_{0}, there is a non-empty open GU{G\subset U} with (xG)(|f(x0)f(x)|<ε)(\forall x\in G)(|f(x_{0})-f(x)|<\varepsilon) (resp. (x,yG)(|f(x)f(y)|<ε)(\forall x,y\in G)(|f(x)-f(y)|<\varepsilon)).

Semi-continuity goes back to Baire and quasi-continuity goes back to Volterra (see [beren2]). It is known that the sum of two cliquish functions is cliquish, while the sum of quasi-continuous functions is only cliquish in general ([quasibor2]). We note that regulated functions are cliquish everywhere but not necessarily quasi-continuous everywhere, i.e. continuity notions weaker than quasi-continuity do not seem to provide extra information about regulated functions.

Finally, related to semi-continuity, we can define the lower and upper envelope f¯\underline{f} and f¯\overline{f}, say for any bounded function f:f:{\mathbb{R}}\rightarrow{\mathbb{R}}, as follows:

f¯(y):=supδ>0inf|xy|<δf(x) and f¯(y):=infδ>0sup|xy|<δf(x),\underline{f}(y):=\sup_{\delta>0}\inf_{|x-y|<\delta}f(x)\textup{ and }\overline{f}(y):=\inf_{\delta>0}\sup_{|x-y|<\delta}f(x), (2.5)

which satisfy f¯ff¯\underline{f}\leq f\leq\overline{f} and are respectively lower and upper semi-continuous. Intuitively, f¯\underline{f} (resp. f¯\overline{f}) is the supremum (resp. infimum) of all lower (resp. upper) semi-continuous dominated by ff (resp. that dominate ff). One readily shows that finding (2.5) in general is computationally equivalent to 3\exists^{3}.

3. A λ\lambda-calculus formulation of Kleene’s computation schemes

3.1. Introduction: total versus partial objects

Turing’s ‘machine’ model ([tur37]) captures computing with real numbers and -by its very nature- involves partially defined objects. By contrast, Kleene’s S1-S9 ([kleeneS1S9]) is an extension of the Turing approach meant to capture computing with objects of any finite type, where everything is always assumed to be total. In this section, we introduce an equivalent λ\lambda-calculus formulation of S1-S9 (see Section 3.2) that accommodates partial objects. Our motivation for this new construct is as follows.

  • We have previously hand-waved the extension of S1-S9 to partial objects, leading to confusion among our readers regarding certain technical details.

  • Proofs are a lot more transparent based on fixed points (from the λ\lambda-calculus) instead of the recursion theorem (hardcoded by S9; see Section 2.1).

  • The functional Ω1\Omega_{1} from Definition 3.26 is a natural object of study that is fundamentally partial in nature. Indeed, we show that Ω1\Omega_{1} is not computationally equivalent to any total functional (Section 3.3). To this end, we extend the notion of countably based functional to partial objects.

  • The functional Ω\Omega from Definition 3.33 is a natural object of study that is fundamentally partial in nature. Indeed, we show that Ω\Omega is not computationally equivalent to any total functional (Section 3.4). To this end, we introduce a general way of approximating computations in our new model.

Finally, as an application of our newly minted framework, we can show that Ω1\Omega_{1} and the Suslin functional SS2\SS^{2} compute the halting problem for infinite time Turing machines (Theorem 3.32) in Section 3.3.4.

3.2. Definition of the λ\lambda-calculus formulation of S1-S9

In this section, we introduce a new version of the λ\lambda-calculus (Section 3.2.3) and show that this computational model is equivalent to S1-S9 (Section 3.2.4). We first introduce some basic definitions (Section 3.2.1) and the language of our new model (Section 3.2.2).

3.2.1. Some basic definitions

We introduce the usual notions of rank and type.

Definition 3.1.

The types of finite rank are inductively defined as follows:

  • 0 is a type with rank 𝐫(0)=0{\bf r}(0)=0,

  • if σ1,,σn\sigma_{1},\ldots,\sigma_{n} are types, then σ=(σ1,,σn0)\sigma=(\sigma_{1},\ldots,\sigma_{n}\rightarrow 0) is a type, with rank 𝐫(σ)=max{𝐫(σi)+1:i=1,,n}{\bf r}(\sigma)=\max\{{\bf r}(\sigma_{i})+1:i=1,\ldots,n\}

We let 𝐓𝐲(k){\bf Ty}(k) be the set of types of rank k\leq k

We will mainly be concerned with 𝐓𝐲(3){\bf Ty}(3), but develop some concepts for the full type hierarchy 𝐓𝐲=k𝐓𝐲(k){\bf Ty}=\cup_{k}{\bf Ty}(k). We adopt the following standard convention.

Notation 3.2 (Brackets and arrows).

For n2n\geq 2, we (may) rewrite (σ1,,σn0)(\sigma_{1},\ldots,\sigma_{n}\rightarrow 0) to (σ1(σ2,,σn0))(\sigma_{1}\rightarrow(\sigma_{2},\ldots,\sigma_{n}\rightarrow 0)) and also iterate this typing convention. We (may) also drop the brackets ‘((’ and ‘))’ when this does not create too much ambiguity.

As detailed in Definition 3.3, we interpret σ𝐓𝐲\sigma\in{\bf Ty} as two sets 𝐅(σ){\bf F}(\sigma) and 𝐏(σ){\bf P}(\sigma), where the former is a subset of the latter. This definition reflects our aim, namely to find a conceptually simpler approach to S1-S9. Indeed, our definition allows computations relative to a partial functional, but we never apply (even a partial) functional to a non-total functional; we also do not restrict to the pure types.

Now, the extension from pure to finite types is in general just a matter of convenience. By contrast, we show in Section 3.3 that the extension to partial functionals (only accepting total inputs) is essential. Indeed, we identify important functionals based on basic theorems from mainstream mathematics, including Ω1\Omega_{1} and Ω\Omega from Definitions 3.26 and 3.33, that cannot be represented by total functionals.

Definition 3.3 (Types).

Define ={}{\mathbb{N}}_{\bot}={\mathbb{N}}\cup\{\bot\} where \bot is a symbol for undefined.

  • For σ𝐓𝐲\sigma\in{\bf Ty}, define the set 𝐅(σ){\bf F}(\sigma) as follows:

    • 𝐅(0)={\bf F}(0)={\mathbb{N}},

    • for σ=(σ1,,σn0)\sigma=(\sigma_{1},\ldots,\sigma_{n}\rightarrow 0), 𝐅(σ){\bf F}(\sigma) is the set of all functionals of type 𝐅(σ1)××𝐅(σn){\bf F}(\sigma_{1})\times\cdots\times{\bf F}(\sigma_{n})\rightarrow{\mathbb{N}}.

  • For σ𝐓𝐲\sigma\in{\bf Ty}, define the set 𝐏(σ){\bf P}(\sigma) as follows:

    • 𝐏(0)={\bf P}(0)={\mathbb{N}}_{\bot},

    • for σ=(σ1,,σn0)\sigma=(\sigma_{1},\ldots,\sigma_{n}\rightarrow 0), 𝐏(σ){\bf P}(\sigma) is the set of all functionals of type 𝐅(σ1)××𝐅(σn){\bf F}(\sigma_{1})\times\cdots\times{\bf F}(\sigma_{n})\rightarrow{\mathbb{N}}_{\bot}.

Since we are mainly interested in functionals originating from ordinary mathematics, we generally restrict our attention to statements of the form

(xσ)(yτ)[Γ(x)Δ(x,y)],(\forall x^{\sigma})(\exists y^{\tau})\big{[}{\Gamma}(x)\rightarrow{\Delta}(x,y)\big{]}, (3.1)

where 𝐫(σ)=2{\bf r}(\sigma)=2, 𝐫(τ)2{\bf r}(\tau)\leq 2 and where Δ\Delta is -in some intuitive sense- simple but Γ\Gamma can be complicated or complex.

A realiser for (3.1) is in general a partial functional Φ\Phi with domain {x𝐅(σ):Γ(x)}\{x\in{\bf F}(\sigma):{\Gamma}(x)\} and image in {y𝐅(τ):Δ(x,Φ(y))}\{y\in{\bf F}(\tau):{\Delta}(x,\Phi(y))\}. Thus, we only study total objects of type σ\sigma in case 𝐫(σ)2{\bf r}(\sigma)\leq 2, and only certain kinds of partial objects at level 3 are needed for analysing realisers.

As suggested above, we wish to replace Kleene’s S9 by a λ\lambda-calculus construct namely a least fixed point operator. For the latter, we also need partial objects when describing the actual computations, which is one motivation for introducing the sets 𝐏(σ){\bf P}(\sigma) for all types σ𝐓𝐲\sigma\in{\bf Ty} in Definition 3.3.

3.2.2. The language of calculations

In this section, we introduce the term language used to express computable functions and functionals.

Our language \mathcal{L} is modelled on Plotkin’s PCF ([plotje]) with few and basic modifications. Plotkin’s PCF is based on Scott’s LCF ([scottfree]), which in turn is inspired by Platek’s PhD thesis ([pphd]). The use of least fixed points as the core concept of general computability theory has also been advocated by e.g. Moschovakis in [YannisII]. For some background from the perspective of the foundations of computer science, we refer to Streicher’s monograph [streikersc]*§1-3.

First of all, we define the constants (Definition 3.4) and typed terms (Definition 3.5) of our language \mathcal{L}.

Definition 3.4.

The primary constants of the language \mathcal{L} are:

  • 0^\hat{0} of type 0,

  • 𝗌𝗎𝖼{\mathsf{suc}} of type 000\rightarrow 0,

  • 𝗉𝗋𝖾𝖽{\mathsf{pred}} of type 000\rightarrow 0,

  • 𝖼𝖺𝗌𝖾{\mathsf{case}} of type 0,0,000,0,0\rightarrow 0.

These constants will be interpreted as total objects, 0^\hat{0} as 0, 𝗌𝗎𝖼{\mathsf{suc}} as the successor-function on {\mathbb{N}}, 𝗉𝗋𝖾𝖽{\mathsf{pred}} as the predecessor function (with 𝗉𝗋𝖾𝖽(0)=0{\mathsf{pred}}(0)=0) on {\mathbb{N}} and 𝖼𝖺𝗌𝖾(0,x,y)=x{\mathsf{case}}(0,x,y)=x while 𝖼𝖺𝗌𝖾(z+1,x,y)=y{\mathsf{case}}(z+1,x,y)=y for all x,y,zx,y,z in {\mathbb{N}}. For 𝖼𝖺𝗌𝖾(z,x,y)\mathsf{case}(z,x,y) to take a defined value, we require that zz is total, while only one of the xx and yy needs to have a defined value.

Definition 3.5.

The typed terms in \mathcal{L} are defined by recursion as follows.

  • All primary constants are terms in \mathcal{L}.

  • For σ𝐓𝐲(3)\sigma\in{\bf Ty}(3), there is an infinite list xiσx_{i}^{\sigma} of variables of type σ\sigma, which are terms in \mathcal{L}.

  • For σ𝐓𝐲(3)\sigma\in{\bf Ty}(3) and ϕ𝐏(σ)\phi\in{\bf P}(\sigma), there is a secondary constant ϕ^\hat{\phi}, which we often just denote as ϕ\phi. The object ϕ^\hat{\phi} is a term in \mathcal{L} and is interpreted as ϕ\phi.

  • If tt is a term of type στ\sigma\rightarrow\tau and ss is a term of type σ\sigma, then (ts)(ts) is a term of type τ\tau. This is interpreted as the application of the interpretation of tt to the interpretation of ss.

  • If 𝐫(στ)3{\bf r}(\sigma\rightarrow\tau)\leq 3 (and hence σ𝐓𝐲(2)\sigma\in{\bf Ty}(2)) and tt is a term of type τ\tau, then (λxiσt)(\lambda x_{i}^{\sigma}t) is a term of type στ\sigma\rightarrow\tau. This is interpreted as standard λ\lambda-abstraction.

  • If 𝐫(σ)3{\bf r}(\sigma)\leq 3 and tt is a term of type σ\sigma, then (μxiσt)(\mu x_{i}^{\sigma}t) is a term of type σ\sigma. The interpretation of this case is discussed below.

The set 𝐏(σ){\bf P}(\sigma) has a canonical partial ordering ‘σ\preceq_{\sigma}’ representing extensions of partial functionals, i.e. ‘ϕσσψσ\phi^{\sigma}\preceq_{\sigma}\psi^{\sigma}’ means that the domain of ψ\psi includes that of ϕ\phi. The reason for introducing the partial orders (𝐏(σ),σ)({\bf P}(\sigma),\preceq_{\sigma}) is that they can be used for interpreting self-referential programs, like we intend to do with our (μxiσt)(\mu x_{i}^{\sigma}t)-terms. An essential notion here is monotonocity, defined as follows.

Definition 3.6.

Any ϕστ\phi^{\sigma\rightarrow\tau} is monotone if (xσ,yσ)(xσyϕ(x)τϕ(y))(\forall x^{\sigma},y^{\sigma})(x\preceq_{\sigma}y\rightarrow\phi(x)\preceq_{\tau}\phi(y)).

We now introduce the interpretation of all typed terms, as monotone functions, by recursion on the term. We adopt the standard approach, i.e. we consider a term tt of type σ\sigma and a set of variables x1σ1,,xnσnx_{1}^{\sigma_{1}},\ldots,x_{n}^{\sigma_{n}} that contains all variables free or bounded in tt, and then interpret tt as an increasing map

[[t]]:𝐏(σ1)××𝐏(σn)𝐏(σ).[[t]]:{\bf P}(\sigma_{1})\times\cdots\times{\bf P}(\sigma_{n})\rightarrow{\bf P}(\sigma).

In Definition 3.7, we let ϕi\phi_{i} be the argument in 𝐏(σi){\bf P}(\sigma_{i}) and we drop the upper (type) index when not needed. Note that ‘monotone’ always refers to Definition 3.6.

Definition 3.7 (Interpretation of terms).
  • For variables xix_{i}, we put [[xi]](ϕ1,,ϕn)=ϕi[[x_{i}]](\phi_{1},\ldots,\phi_{n})=\phi_{i}.

  • If ϕ^\hat{\phi} is a secondary constant for ϕ\phi, we let [[ϕ^]](ϕ1,,ϕn)=ϕ[[\hat{\phi}]](\phi_{1},\ldots,\phi_{n})=\phi.

  • The basic objects 0^\hat{0}, 𝗌𝗎𝖼{\mathsf{suc}}, 𝗉𝗋𝖾𝖽{\mathsf{pred}}, and 𝖼𝖺𝗌𝖾{\mathsf{case}} are treated in the same way as secondary constants (see Definition 3.5).

  • If t=(uv)t=(uv) and vv has type τ\tau, we let

    [[t]](ϕ1,,ϕn)=[[u]](ϕ1,,ϕn)([[v]](ϕ1,,ϕn)).[[t]](\phi_{1},\ldots,\phi_{n})=[[u]](\phi_{1},\ldots,\phi_{n})([[v]](\phi_{1},\ldots,\phi_{n})).

    which is everywhere undefined unless [[v]](ϕ1,,ϕn)𝐅(τ)[[v]](\phi_{1},\ldots,\phi_{n})\in{\bf F}(\tau).

  • If t=(λxis)t=(\lambda x_{i}s) and ϕ𝐅(σi)\phi^{\prime}\in{\bf F}(\sigma_{i}), we let

    [[t]](ϕ1,,ϕn)(ϕ)=[[s]](ϕ1,,ϕi1,ϕ,ϕi+1,,ϕn).[[t]](\phi_{1},\ldots,\phi_{n})(\phi^{\prime})=[[s]](\phi_{1},\ldots,\phi_{i-1},\phi^{\prime},\phi_{i+1},\ldots,\phi_{n}).

    If ϕ\phi^{\prime} is (only) partial, we let the value be undefined.

  • If t=(μxis)t=(\mu x_{i}s), and i=1i=1, fix ϕ2,,ϕn\phi_{2},\ldots,\phi_{n} and note that Φ(ψ)=[[s]](ψ,ϕ2,,ϕn)\Phi(\psi)=[[s]](\psi,\phi_{2},\ldots,\phi_{n}) is monotone in ψ\psi and has a least fixed point ψ\psi_{\infty}. We put [[t]](ϕ1,,ϕn)=ψ[[t]](\phi_{1},\ldots,\phi_{n})=\psi_{\infty}. The general case is treated in the same way, but is much more tedious.

Note that in the cases where a variable is bounded, the corresponding argument will remain an argument of the interpretation, now as a dummy one. The existence of a (least) fixed point in the final item of Definition 3.7 is guaranteed by the well-known Knaster-Tarski theorem.

Next, we come to the crucial notion of ‘computable in’, where we recall the ordering ‘σ\preceq_{\sigma}’ on 𝐏(σ){\bf P}(\sigma) introduced after Definition 3.5.

Definition 3.8 (Computability).

For σ1,,σn,δ𝐓𝐲(3)\sigma_{1},\ldots,\sigma_{n},\delta\in{\bf Ty}(3), let ϕ1,,ϕn,ψ\phi_{1},\ldots,\phi_{n},\psi be partial objects of the corresponding types. We say that

ψ\psi is computable in ϕ1,,ϕn\phi_{1},\ldots,\phi_{n}

if there is a term ss of type τ\tau, with free variables x1,,xnx_{1},\ldots,x_{n} of types σ1,,σn\sigma_{1},\ldots,\sigma_{n}, and without any secondary constants, such that

ψτ[[s(x1,,xn/ϕ^1,,ϕ^n)]].\psi\preceq_{\tau}[[s(x_{1},\ldots,x_{n}/\hat{\phi}_{1},\ldots,\hat{\phi}_{n})]].

From now on, we shall drop all hats ‘ˆ’ when discussing computability, unless this creates ambiguity. We also follow the standard convention for writing iterated applications as t1t2tnt_{1}t_{2}\cdots t_{n}, meaning ((t1t2)t3tn)(\cdots(t_{1}t_{2})t_{3}\cdots t_{n}).

3.2.3. Computation trees and an operational-like semantics

In this section, we introduce the crucial notion of computation tree and associated semantics.

We let tt be a closed term of type 0 and we assume that [[t]][[t]]\in{\mathbb{N}}. The definition of [[t]][[t]] in Definition 3.7 is by recursion on the term tt, and for some cases, by a transfinite sub-induction that is monotone. As a consequence, there is some kind of well-founded tree witnessing that [[t]]=n[[t]]=n. We define one such ‘computation tree’ below. Our definition is inspired by Plotkin’s operational semantics for PCF ([plotje]), but since we are modelling infinitary computations, our modifications to Plotkin’s approach are far-reaching.

Another motivation for computation trees is that we want to recapture the qualities of computation trees defined for Kleene’s S1-S9. In order to obtain a true analogue of the latter, we need to perform a little bit of coding of the elements in the tree, as will become clear below.

For the definition of computation tree, we use the fact that all terms of type 0 can be written as an iterated application t=t1tnt=t_{1}\cdots t_{n} where t1t_{1} is not itself an application term. For some terms tt, the computation tree T[t]T[t] will be assigned a value, namely an integer aa. The definition of T[t]T[t] is top-down, while the definition of the value is bottom-up. The whole construction can be viewed as a positive inductive definition, in (intended) analogy with the set of Kleene computations.

Definition 3.9 (Computation tree).

Let tt be a closed term of type 0 with parameters Φ1,,Φn\Phi_{1},\ldots,\Phi_{n}. We define the computation tree T[t]T[t] of tt, consisting of sequences of terms, by recursion on the complexity of tt as follows.

  1. (i)

    We let the empty sequence be the root of each T[t]T[t], and we identify a term tt with the corresponding sequence of length 1.

  2. (ii)

    If t=0t=0, then tt is the only extra node in T[t]T[t] and 0 is the value of T[t]T[t].

  3. (iii)

    If t=𝗌𝗎𝖼t1t=\mathsf{suc}\;t_{1}, then we concatenate tt with the sequences in T[t1]T[t_{1}]. If T[t1]T[t_{1}] has the value aa, then T[t]T[t] has the value a+1a+1.

  4. (iv)

    If t=𝗉𝗋𝖾𝖽t1t=\mathsf{pred}\;t_{1}, then we act in analogy with the case above.

  5. (v)

    If t=𝖼𝖺𝗌𝖾t1t2t3t=\mathsf{case}\;t_{1}t_{2}t_{3}, then T[t]T[t] consists of tt concatenated with all sequences in T[t1]T[t_{1}] and, if T[t1]T[t_{1}] has a value aa, the sequences in T[t2]T[t_{2}] or T[t3]T[t_{3}] depending on aa. The value of T[t]T[t] will then be the corresponding value of T[t2]T[t_{2}] or T[t3]T[t_{3}] if it exists.

  6. (vi)

    If t=Φit2tnt=\Phi_{i}t_{2}\cdots t_{n}, then t2t_{2} is of type τ=(δ1,,δm0)\tau=(\delta_{1},\ldots,\delta_{m}\rightarrow 0). Then T[t]T[t] is tt concatenated with the sequences in the following trees T[s]T[s] and T[s]T[s^{\prime}].

    • For (ϕ1,,ϕm)𝐅(δ1)××𝐅(δm)(\phi_{1},\ldots,\phi_{m})\in{\bf F}(\delta_{1})\times\cdots\times{\bf F}(\delta_{m}), we concatenate with the sequences in T[s]T[s] where s=t2ϕ1ϕms=t_{2}\phi_{1}\cdots\phi_{m}.

    • If each such T[s]T[s] has a value, these values define a functional Ψ2\Psi_{2}. In this case, define ξ:=Φi(Ψ2)\xi:=\Phi_{i}(\Psi_{2}) and define ss^{\prime} as the term ξt3tn\xi t_{3}\cdots t_{n}.

    • We let T[t]T[t] contain tt concatenated with all sequences in T[s]T[s^{\prime}], and if T[s]T[s^{\prime}] has a value, we let this be the value of T[t]T[t].

  7. (vii)

    If t=(λxt1)t2tnt=(\lambda xt_{1})t_{2}\cdots t_{n} we first construct T[t]T[t] via the trees T[s]T[s], as in the previous item, and if all sub-trees have values, we get the total functional Ψ2\Psi_{2} as above. We then consider the term

    s=t1[x/t2]t3tns^{\prime}=t_{1}[x/t_{2}]t_{3}\cdots t_{n}

    and concatenate tt with all sequences in this T[s]T[s^{\prime}] as well. The value of this T[s]T[s^{\prime}] will then, if it exists, be the value of T[t]T[t].

  8. (viii)

    If t=(μxt1)t2tnt=(\mu xt_{1})t_{2}\cdots t_{n}, put s=t1[x/(μxt1)]t2tns=t_{1}[x/(\mu xt_{1})]t_{2}\cdots t_{n}. Then T[t]T[t] consists of tt concatenated with all sequences in T[s]T[s]. If T[s]T[s] has a value, then the latter is also the value of T[t]T[t].

Remark 3.10 (Conversion by any other name).

For item (vii) in Definition 3.9, we have made a twist to the standard format of β\beta-conversion, that (λxt)s(\lambda xt)s directly converts to t[x/s]t[x/s]. The reason is that since we can only have that an applicative term gives a value (different from \bot) if the argument is a total functional, classical β\beta-conversion does not respect the semantics of the terms. We refer the conversion implicit in item (vii) as modified β\beta-conversion.

It is clear that for T[t]T[t] as in Definition 3.9 to have a value, the tree must be well-founded, since a value always depends on the values of the sub-trees, except for the ground term 0. The converse is not always true, since an application involving partial functionals may yield a well-founded tree without a value.

The main result of this section is the following theorem, which we prove through a series of lemmas.

Theorem 3.11.

Let tt be a closed term of type 0 as above and let nn\in{\mathbb{N}}. The following are equivalent:

  • the interpretation of tt satisfies [[t]]=n[[t]]=n

  • the tree T[t]T[t] is well-founded and with value nn.

We first establish the ‘easy’ direction.

Lemma 3.12.

The upward implication in Theorem 3.11 holds.

Proof.

We prove this by induction on the ordinal rank of T[t]T[t]. We provide a proof by cases following the items of Definition 3.9. All cases except items (vii) and (viii) are straightforward, and are left for the reader.

For item (vii), since each T[s]T[s] is a genuine sub-tree of T[t]T[t], we obtain from the induction hypothesis that Ψ2=[[t2]]\Psi_{2}=[[t_{2}]]. We then apply the induction hypothesis to ss^{\prime} to obtain the claim.

For item (viii), let t=(μxt1)t2tnt=(\mu xt_{1})t_{2}\cdots t_{n} and assume that T[t]T[t] is well-founded, and has a value aa. Then T[s]T[s] is well-founded, where s=t1[x/(μxt1)]t2tns=t_{1}[x/(\mu xt_{1})]t_{2}\cdots t_{n}, and also has value aa. By the induction hypothesis, we obtain

[[t1[x/(μxt1)]t2tn]]=a.[[t_{1}[x/(\mu xt_{1})]t_{2}\cdots t_{n}]]=a.

Since [[(μxt1)]]=[[t1[x/(μxt1)]][[(\mu xt_{1})]]=[[t_{1}[x/(\mu xt_{1})]], it follows that [[(μxt1)t2tn]]=a[[(\mu xt_{1})t_{2}\cdots t_{n}]]=a. ∎

For the downward implication in Theorem 3.11, we need some technical machinery, including a way of handling substitutions.

Let tt be a term containing secondary constants ϕ\vec{\phi}, let s\vec{s} be a sequence of closed terms with types matching those of ϕ\vec{\phi} and where each ϕi\phi_{i} is a sub-function of [[si]][[s_{i}]]. We write t[ϕ/s]t[\vec{\phi}/\vec{s}] for the term where all occurrences of each ϕi\phi_{i} are replaced by sis_{i}. By abuse of notation, σ\preceq_{\sigma} is also the canonical “more defined than”-ordering on 𝐏(σ){\bf P}(\sigma).

Definition 3.13.
  • If tt is a closed term of type 0 such that T[t]T[t] is well-founded and has a value aa, we let [[t]]w=a[[t]]_{w}=a.

  • If tt is a closed term of type δ1,,δm\delta_{1},\ldots,\delta_{m} with m1m\geq 1, we put

    [[t]]w=(λ(ξ1,,ξm)𝐅(δ1)××𝐅(δm))[[tξ1ξm]]w.[[t]]_{w}=(\lambda(\xi_{1},\ldots,\xi_{m})\in{\bf F}(\delta_{1})\times\cdots\times{\bf F}(\delta_{m}))[[t\xi_{1}\cdots\xi_{m}]]_{w}.

The previous definition enables us to prove the following.

Lemma 3.14.

(Substitution Lemma) Let tt be a term of type 0 with secondary constants among ϕ1,,ϕn\phi_{1},\ldots,\phi_{n} and such that ϕi[[si]]w\phi_{i}\preceq[[s_{i}]]_{w} for each i=1,,ni=1,\ldots,n. Then the interpretations satisfy [[t]]w[[t[ϕ/s]]]w[[t]]_{w}\preceq[[t[\vec{\phi}/\vec{s}]\/]]_{w}.

Proof.

The proof is by induction on the maximal rank of the ϕi\phi_{i} and a sub-induction on the number of ϕi\phi_{i} of this maximal rank. We will substitute sis_{i} for ϕi\phi_{i} in sub-terms of tt by a bottom-up procedure; the only nodes where we need to perform this substitution, are nodes of the form ϕiv1vl\phi_{i}v_{1}\ldots v_{l}.

As an hypothesis in the sub-sub-induction on the rank of the computation tree, we can assume that each vjv_{j} is already the result of the substitution, that is, they are without any occurrences of ϕi\phi_{i}. We can further assume, as a part of the same induction hypothesis, that each [[vj]]w[[v_{j}]]_{w} is total. We must however show that we can replace ϕi\phi_{i} with sis_{i} and still have a well-founded computation tree with a value.

By assumption we have that ϕiξ1ξl=[[siξ1ξl]]w\phi_{i}\xi_{1}\cdots\xi_{l}=[[s_{i}\xi_{1}\cdots\xi_{l}]]_{w} for all total ξ1,,ξl\xi_{1},\ldots,\xi_{l} of the appropriate types. If we now fix ξj=[[vj]]w\xi_{j}=[[v_{j}]]_{w}, then by the main induction hypothesis we have that

[[ϕiv1vl]]w=[[ϕiξ1ξl]]w[[siξ1ξl]]w[[siv1vl]]w,[[\phi_{i}v_{1}\cdots v_{l}]]_{w}=[[\phi_{i}\xi_{1}\cdots\xi_{l}]]_{w}\preceq[[s_{i}\xi_{1}\ldots\xi_{l}]]_{w}\preceq[[s_{i}v_{1}\cdots v_{l}]]_{w},

since the ranks of the types of the ξj\xi_{j} are lower than the rank of ϕi\phi_{i}. Hence, we are free to make the aforementioned substitution. ∎

Definition 3.15 (Normal terms).

Let tt be a closed term with secondary constants ϕ1,,ϕn\phi_{1},\cdots,\phi_{n}, where the type of ϕi\phi_{i} is τi,1,,τi,mi0\tau_{i,1},\ldots,\tau_{i,m_{i}}\rightarrow 0.

  • If tt is of type 0, we call tt normal if

    [[t]][[t[ϕ1,,ϕn/s1,,sn]]]w[[\;t\;]]\preceq[[\;t[\phi_{1},\ldots,\phi_{n}/s_{1},\ldots,s_{n}]\;]]_{w}

    whenever ϕi[[si]]w\phi_{i}\preceq[[s_{i}]]_{w} for each i=1,,ni=1,\ldots,n.

  • If tt is of type σ1,,σk0\sigma_{1},\ldots,\sigma_{k}\rightarrow 0 we call tt normal if the term tt1tktt_{1}\cdots t_{k} is normal whenever t1,,tkt_{1},\ldots,t_{k} are normal, and of types σ1,,σk\sigma_{1},\ldots,\sigma_{k}.

Lemma 3.16.

All closed terms are normal.

Proof.

We prove this by induction on the term tt, and the proof is split into cases following the inductive definition of terms as in Definition 3.5. Throughout, we write ϕ\vec{\phi} for ϕ1,,ϕn\phi_{1},\ldots,\phi_{n} and s\vec{s} for a corresponding sequence s1,,sns_{1},\ldots,s_{n} satisfying the assumption. This will be the convention whenever we need to prove that a term of type 0 is normal. The proof proceeds based on the following steps.

  • The case t=0t=0 is clearly trivial.

  • The cases t=𝗌𝗎𝖼t=\mathsf{suc}, t=𝗉𝗋𝖾𝖽t=\mathsf{pred}, and t=𝖼𝖺𝗌𝖾t=\mathsf{case}. These cases are trivial by the induction hypothesis. For the sake of completeness, consider 𝗌𝗎𝖼\mathsf{suc}. We must prove that 𝗌𝗎𝖼t\mathsf{suc}\;t is normal if tt is normal. By the assumption [[t]][[t[ϕ/s]]]w[[t]]\preceq[[t[\vec{\phi}/\vec{s}]\;]]_{w}, and the same relation will be preserved for 𝗌𝗎𝖼t\mathsf{suc}\;t.

  • The case t=Φt=\Phi where Φ\Phi is a secondary constant. We must prove that if t1,,tkt_{1},\ldots,t_{k} are normal, then Φt1tk\Phi t_{1}\cdots t_{k} is normal, i.e. we must prove that if Φ[[s]]w\Phi\preceq[[s]]_{w}, then [[Φt1tn]][[st1[ϕ/s]tk[ϕ/s]]]w[[\Phi t_{1}\cdots t_{n}]]\preceq[[st_{1}[\vec{\phi}/\vec{s}]\cdots t_{k}[\vec{\phi}/\vec{s}]\;]]_{w}. If the first value is \bot, there is nothing to prove. If not, each [[ti]][[t_{i}]] is a total object ξi\xi_{i} and we can then use the substitution lemma on Φξ1ξn\Phi\xi_{1}\cdots\xi_{n}, where we substitute ss for Φ\Phi and ti[ϕ/s]t_{i}[\vec{\phi}/\vec{s}] for ξi\xi_{i}.

  • The application case t=(t1t2)t=(t_{1}t_{2}). By the induction hypothesis, both t1t_{1} and t2t_{2} are normal. Then, if t3,,tkt_{3},\ldots,t_{k} are normal, we will have, since t1t_{1} is normal, that (t1t2)t3tk=t1t2tk(t_{1}t_{2})t_{3}\cdots t_{k}=t_{1}t_{2}\cdots t_{k} is normal.

  • The abstraction case t=(λxt1)t=(\lambda xt_{1}). By the induction hypothesis, t1t_{1} is normal. Let tt be of type τ,τ2,,τk0\tau,\tau_{2},\ldots,\tau_{k}\rightarrow 0, that is, xx is of type τ\tau and t1t_{1} is of type τ1=τ2,,τk0\tau_{1}=\tau_{2},\ldots,\tau_{k}\rightarrow 0. We must prove that whenever t2,,,tkt_{2},\ldots,,t_{k} are normal, and given ϕ\vec{\phi} and s\vec{s} as above, we have that

    [[tt2tk]][[t[ϕ/s]t2[ϕ/s]tk[ϕ/s]]]w.[[tt_{2}\cdots t_{k}]]\preceq[[t[\vec{\phi}/\vec{s}]t_{2}[\vec{\phi}/\vec{s}]\cdots t_{k}[\vec{\phi}/\vec{s}]\;]]_{w}.

    Let ϕ=[[t2[ϕ/s]]]\phi=[[t_{2}[\vec{\phi}/\vec{s}]\;]] and s=t2[ϕ/s]s=t_{2}[\vec{\phi}/\vec{s}]. We use that t1t_{1} is normal, and obtain

    [[tt2tk]]=[[t1[x/[[t2]]]t3tk]]\displaystyle[[tt_{2}\cdots t_{k}]]=[[t_{1}[x/[[t_{2}]]]t_{3}\cdots t_{k}]] [[t1[x,ϕ/s,s]]w\displaystyle\preceq[[t_{1}[x,\vec{\phi}/s,\vec{s}]]_{w}
    =[[t[ϕ/s]t2[ϕ/s]tk[ϕ/s]]]w.\displaystyle=[[t[\vec{\phi}/\vec{s}]t_{2}[\vec{\phi}/\vec{s}]\cdots t_{k}[\vec{\phi}/\vec{s}]\;]]_{w}.

    The inequality follows from the induction hypothesis and the final equality follows from modified β\beta-conversion (see Remark 3.10).

  • The case t=(μxt1)t=(\mu xt_{1}). By the induction hypothesis, t1t_{1} is normal. Let ϕ\vec{\phi} and s\vec{s} be as before, let t1t_{1} be of type τ1=τ2,,τk0\tau_{1}=\tau_{2},\ldots,\tau_{k}\rightarrow 0, the same type as tt, and assume (ξ2,,ξk)𝐅(τ2)××𝐅(τk)(\xi_{2},\ldots,\xi_{k})\in{\bf F}(\tau_{2})\times\cdots\times{\bf F}(\tau_{k}). Since the least fixed point [[t]][[t]] is defined by a monotone induction, all (ξ2,,ξk)(\xi_{2},\ldots,\xi_{k}) with ([[t]]ξ2ξk)\big{(}[[t]]\xi_{2}\cdots\xi_{k}\big{)}\in{\mathbb{N}} will be ranked by an ordinal. We will prove by induction on this rank that:

    if [[tt2tk]][[tt_{2}\cdots t_{k}]]\in{\mathbb{N}}, then [[t[ϕ/s]t2[ϕ/s]tk[ϕ/s]]]w=[[tt2tk]][[t[\vec{\phi}/\vec{s}]t_{2}[\vec{\phi}/\vec{s}]\cdots t_{k}[\vec{\phi}/\vec{s}]\;]]_{w}=[[tt_{2}\cdots t_{k}]].

    Hence, let Ψα\Psi_{\alpha} be the α\alpha-th iteration of [[t1]][[t_{1}]], and assume [[t1]]Ψα[[t2]][[tk]][[t_{1}]]\Psi_{\alpha}[[t_{2}]]\cdots[[t_{k}]]\in{\mathbb{N}}. Now assume as (an) induction hypothesis that:

    if (Ψαξ2ξk)(\Psi_{\alpha}\xi_{2}\cdots\xi_{k})\in{\mathbb{N}}, then [[t[ϕ/s]ξ2ξk]]w=Ψαξ2ξk[[t[\vec{\phi}/\vec{s}]\xi_{2}\cdots\xi_{k}]]_{w}=\Psi_{\alpha}\xi_{2}\cdots\xi_{k}.

    This means that Ψα[[t[ϕ/s]]]w\Psi_{\alpha}\preceq[[t[\vec{\phi}/\vec{s}]\;]]_{w}, and since t1t_{1} is normal, we have that

    [[t1[x/Ψα]t2tk]][[t1[x,ϕ/t[ϕ/s],s]t2[ϕ/s]tk[ϕ/s]]w.[[t_{1}[x/\Psi_{\alpha}]t_{2}\cdots t_{k}]]\preceq[[t_{1}[x,\vec{\phi}/t[\vec{\phi}/\vec{s}],\vec{s}]t_{2}[\vec{\phi}/\vec{s}]\cdots t_{k}[\vec{\phi}/\vec{s}]]_{w}. (3.2)

    Now, the left-hand side of (3.2) is Ψα+1[[t2]][[tk]]\Psi_{\alpha+1}[[t_{2}]]\cdots[[t_{k}]] and the right-hand side of (3.2) is, by item (viii) of Definition 3.9, the following:

    [[t[ϕ/s]t2[ϕ/s]tk[ϕ/s]]]w.[[t[\vec{\phi}/\vec{s}]t_{2}[\vec{\phi}/\vec{s}]\cdots t_{k}[\vec{\phi}/\vec{s}]\;]]_{w}.

    Thus, the induction may continue. That the required order is preserved through limit ordinals is trivial.

All cases having been treated, we are done. ∎

We now also have a proof of Theorem 3.11 as the upward direction is proved in Lemma 3.12 and the other direction is a special case of Lemma 3.16.

Remark 3.17.

The argument above is an adaption of standard proofs for normalisation theorems in typed λ\lambda-calculus, that the value of a term of type 0 can be found through a finite iterated use of conversion rules. We did not use the restriction to 𝐓𝐲(3){\bf Ty}(3) in the proof above, but this restriction will give us that the trees T(t)T(t), modulo a finite list of parameters, will be objects of type level 2.

3.2.4. Equivalence

We show that higher-order computability defined via Kleene’s S1-S9 is equivalent to the computability model defined in the previous section, whenever this comparison makes sense.

We will not introduce S1-S9 but instead refer to [longmann]. In particular, we only state the equivalence between S1-S9 and the computability model from the previous section and sketch the proof. Recall that the notion of pure type is as follows.

Definition 3.18.

[Pure types] The type 0 is a pure type. If kk is a pure type, then k+1:=k0k+1:=k\rightarrow 0 is a pure type.

We (often) use the same notation for a pure type and its rank.

Theorem 3.19 (Equivalence).

Let k,k1,,knk,k_{1},\ldots,k_{n} be pure types 3\leq 3 and let Φ,Φ1,,Φn\Phi,\Phi_{1},\ldots,\Phi_{n} be total elements of the respective types. Then the following are equivalent:

  • the functional Φ\Phi is computable in Φ1,,Φn\Phi_{1},\ldots,\Phi_{n} in the sense of Kleene’s S1-S9,

  • there is a term tt of type kk with secondary constants among Φ1,,Φn\Phi_{1},\ldots,\Phi_{n} such that Φ=[[t]]\Phi=[[t]].

Proof.

(Sketch) We prove the equivalence for k=3k=3; the other cases are proved in the same way. For the downward implication, we observe that the relation

{e}(Φ1,,Φn,F,f,a)b\{e\}(\Phi_{1},\ldots,\Phi_{n},F,\vec{f},\vec{a})\simeq b

is defined via a monotone inductive definition. Coding sequences f\vec{f} in {\mathbb{N}}^{\mathbb{N}} and sequences a\vec{a} in {\mathbb{N}}, we can see this as one definition of a partial functional Ψ\Psi of type 0,2,1,000,2,1,0\rightarrow 0 defined by one application of (μxt)(\mu xt) to a term tt with Φ1,,Φn\Phi_{1},\ldots,\Phi_{n} as parameters. From this, we can extract a term for Φ\Phi with Φ1,,Φn\Phi_{1},\ldots,\Phi_{n} as parameters. For the upward implication, we proceed by induction on the term tt. Coding sequences of arguments into one when needed, we can prove that [[t]][[t]] is partially S1-S9-computable in the parameters. We then use the recursion theorem for S1-S9 to deal with (μxt)(\mu xt), and the rest of the cases are trivial. ∎

We finish this section with another advantage of our newly minted computability model. We will not explore this aspect in this paper (due to length isssues).

Remark 3.20 (Flexibility).

One of the advantages of our alternative to Kleene’s S1-S9 is that it is easy to restrict the model to natural sub-classes. Indeed, one need only replace the fixed point operator (μxt)(\mu xt) by constants for some computable functionals. For instance, we may replace the fixed point operator by the ‘recursor constants’ 𝖱𝖾𝖼σ\mathsf{Rec}_{\sigma} of type σ,(σσ)(0σ)\sigma,(\sigma\rightarrow\sigma)\rightarrow(0\rightarrow\sigma) and defined as follows:

  • 𝖱𝖾𝖼σ(0,x,y)=x\mathsf{Rec}_{\sigma}(0,x,y)=x,

  • 𝖱𝖾𝖼σ(k+1,x,y)=y(𝖱𝖾𝖼σ(k,x,y))\mathsf{Rec}_{\sigma}(k+1,x,y)=y(\mathsf{Rec}_{\sigma}(k,x,y)).

Each 𝖱𝖾𝖼σ\mathsf{Rec}_{\sigma} is readily seen to be computable and we obtain a computability-model based on the principles of Gödel’s TT, but accepting partial arguments.

3.2.5. Computation trees revisited

In this section, we establish some technical results that make working with computation trees more straightforward.

In more detail, the trees T[t]T[t] from Section 3.2.3 are essential for a finer analysis of computations. A desirable feature of these trees is a representation as objects that are computable in the parameters involved. We can obtain such a result if we restrict attention to 𝐓𝐲(3){\bf Ty}(3), based on the observation that whenever we need to introduce new parameters in sub-computations, these parameters will be of type 0 or 1. For the rest of this section, we introduce the aforementioned desirable representation of computation trees (Definitions 3.21 and 3.22) and establish the required properties (Theorem 3.23).

Definition 3.21.

Let tt be a term with free variables, but without parameters. We let t\ll t\gg be the Gödel-number of tt in some standard Gödel-numbering. The number t\ll t\gg will contain information about a set of variables x1,,xnx_{1},\ldots,x_{n} containing all variables free or bounded in tt, of their types, and how tt is syntactically built up.

The order in which we list variables or parameters is of course of no importance. As a convention, the variables in t[Φ,f]t[\vec{\Phi},\vec{f}] are such that Φ\vec{\Phi} contains all the parameters of type rank two or three, while f\vec{f} consists of parameters of type rank 0 and 1.

Given a term t[Φ,f]t[\vec{\Phi},\vec{f}] with a value in {\mathbb{N}}, we now define the alternative computation tree T[t;Φ]T^{\ast}[t;\vec{\Phi}] as a tree of sequences of objects of the form s,g,a\langle\ll s\gg,\vec{g},a\rangle containing exactly the same information as T[t[Φ,f]]T\big{[}t\big{[}\vec{\Phi},\vec{f}\big{]}\big{]}, now with the values given at each node.

Definition 3.22.

[Computation trees bis] For t[Φ,g]t[\vec{\Phi},\vec{g}] a term of type 0 with a value, we define T[t;Φ]T^{*}[t;\vec{\Phi}] by adopting items (i)-(v) and (viii) from Definition 3.9 together with the following alternative items.

  • (vi’)

    For the case t[Φ,g]=Φit2[Φ,g]tn[Φ,g]t[\vec{\Phi},\vec{g}]=\Phi_{i}t_{2}[\vec{\Phi},\vec{g}]\cdots t_{n}[\vec{\Phi},\vec{g}], the term t2t_{2} is of type τ=δ1,,δm0\tau=\delta_{1},\ldots,\delta_{m}\rightarrow 0 where each δj\delta_{j} is of type ranks 0 or 1. Then T[t;Φ]T^{*}[t;\vec{\Phi}] consists of t,g,[[t]]\langle\ll t\gg,\vec{g},[[t]]\rangle concatenated with the sequences in the trees T[s;Φ]T^{*}[s;\vec{\Phi}] and T[s;Φ]T^{*}[s^{\prime};\Phi]) as in the following steps.

    • -

      Firstly, for each (ϕ1,,ϕm)𝐅(δ1)××𝐅(δm)(\phi_{1},\ldots,\phi_{m})\in{\bf F}(\delta_{1})\times\cdots\times{\bf F}(\delta_{m}), we concatenate with the sequences in T[s;Φ]T^{*}[s;\vec{\Phi}] where s=t2[Φ,g]ϕ1ϕms=t_{2}[\vec{\Phi},\vec{g}]\phi_{1}\cdots\phi_{m}. Note that t2,g,ϕ,Ψ2(ϕ)\langle\ll t_{2}\gg,\vec{g},\vec{\phi},\Psi_{2}(\vec{\phi})\rangle is a node in the tree, where Ψ2\Psi_{2} is as in item (vi) of Definition 3.9.

    • -

      Secondly, put ξ:=Φi(Ψ2)\xi:=\Phi_{i}(\Psi_{2}) and let ss^{\prime} be the term ξt3[Ψ,g]tn[Φ,g]\xi t_{3}[\vec{\Psi},\vec{g}]\cdots t_{n}[\vec{\Phi},\vec{g}].

    • -

      Finally, we concatenate with all sequences in T[s;Φ,ξ]T^{*}[s^{\prime};\vec{\Phi},\xi].

  • (vii’)

    We adjust the construction from the previous item (vi’) in analogy with the construction in Definition 3.9.

We now establish the main result of this section, namely that our alternative computation trees are computable modulo Kleene’s 2\exists^{2}.

Theorem 3.23.

If t[Φ,g]t[\vec{\Phi},\vec{g}] is a term of type 0 with a value aa, then T[t;Φ]T^{\ast}[t;\vec{\Phi}] is computable in Φ\vec{\Phi}, g\vec{g}, and 2\exists^{2}.

Proof.

The tree T[t;Φ]T^{\ast}[t;\vec{\Phi}] consists of finite sequences τ1,,τn\tau_{1},\ldots,\tau_{n} of computation tuples. Given a sequence τ1,,τn\tau_{1},\ldots,\tau_{n} of alleged computation tuples, we can check if it belongs to T[t;Φ]T^{\ast}[t;\vec{\Phi}] via recursion on the length as follows. The procedure for n=0n=0 is trivial. If n>0n>0 and τ1,,τn1\tau_{1},\ldots,\tau_{n-1} is accepted, we use 2\exists^{2} to check whether τn\tau_{n}^{-}, which is τn\tau_{n} without the alleged value, codes the right index and the right parameters for the next sub-computation. Then, using the fact that the computation is terminating, we check if the alleged value is the right one. ∎

3.3. Countably based functionals and partiality

3.3.1. Introduction

The countably based functionals were originally suggested by Stan Wainer and then studied by John Hartley in [hartleycountable, hartjeS]. The original class of countably based functionals is a type-hierarchy of hereditarily total functionals. In this section, we extend this notion to partial objects appearing in some P(τ)\textup{{P}}(\tau) for τ𝐓𝐲\tau\in{\bf Ty}. We then establish the following properties of this extended notion.

  • We show in Section 3.3.2 that the partial countably based functionals are closed under computability.

  • We show that the partial countably based functional Ω1\Omega_{1}, mentioned in Section 1 and defined by Definition 3.26, is ‘fundamentally partial’ in nature, in that no total functional is equivalent to it (Section 3.3.3).

  • We show in Section 3.3.4 that Ω1\Omega_{1} and the Suslin functional SS\SS decide the halting problem for infinite time Turing machines (ITTMs for short), i.e. the former combination is thus stronger than ITTMs with type one oracles.

As to the naturalness of Ω1\Omega_{1}, we show in Sections 4 that Ω1\Omega_{1} is computationally equivalent to (many) functionals witnessing theorems from mainstream mathematics, thus giving rise to the Ω1\Omega_{1}-cluster.

3.3.2. Closure under computability

In this section, we introduce the notion of partial countably based functional (Definition 3.25) and show that it is closed under computability (Theorem 3.27).

First of all, the notion of countably based (total) functional is as follows.

Definition 3.24 (Countably based functional).

Let Φ𝐅(σ)\Phi\in{\bf F}(\sigma) where σ𝐓𝐲(3)\sigma\in{\bf Ty}(3) and σ=τ1,,τn0\sigma=\tau_{1},\ldots,\tau_{n}\rightarrow 0, and let τi=δi,1,,δi,mi0\tau_{i}=\delta_{i,1},\ldots,\delta_{i,m_{i}}\rightarrow 0 where each δi,j\delta_{i,j} is in 𝐓𝐲(1){\bf Ty}(1). We say that Φ\Phi is countably based if, whenever Φ(F1,,Fn)\Phi(F_{1},\ldots,F_{n})\in{\mathbb{N}}, there are countable subsets Xi𝐅(δi,1)××𝐅(δi,mi)X_{i}\subseteq{\bf F}(\delta_{i,1})\times\cdots\times{\bf F}(\delta_{i,m_{i}}) such that Φ(F1,,Fn)=Φ(G1,,Gn)\Phi(F_{1},\ldots,F_{n})=\Phi(G_{1},\ldots,G_{n}) whenever FiF_{i} and GiG_{i} are equal on XiX_{i} for each i=1,,ni=1,\ldots,n. A collection of sets XiX_{i} as above is a support for the value of the computation.

Definition 3.24 is the classical definition; it is known that all functionals of types in 𝐓𝐲(2){\bf Ty}(2) are countably based and that if Φ\Phi is computable in the countably based total functionals Φ1,,Φn\Phi_{1},\ldots,\Phi_{n}, then Φ\Phi is itself countably based.

Secondly, we extend the definition of countably based functionals to partial ones.

Definition 3.25.

Let Φ𝐏(σ)\Phi\in{\bf P}(\sigma) where σ\sigma and the τi\tau_{i} are as in Definition 3.24. We say that Φ\Phi is countably based if, whenever Φ(F1,,Fn)\Phi(F_{1},\ldots,F_{n})\in{\mathbb{N}}, there are countable subsets Xi𝐅(δi,1)××𝐅(δi,mi)X_{i}\subseteq{\bf F}(\delta_{i,1})\times\cdots\times{\bf F}(\delta_{i,m_{i}}) such that Φ(F1,,Fn)=Φ(G1,,Gn)\Phi(F_{1},\ldots,F_{n})=\Phi(G_{1},\ldots,G_{n}) whenever Φ(G1,,Gn)\Phi(G_{1},\ldots,G_{n})\in{\mathbb{N}} and FiF_{i} and GiG_{i} are equal on XiX_{i} for each i=1,,ni=1,\ldots,n.

Thirdly, we define the following central functional. Recall that we identify a set XX\subseteq{\mathbb{N}}^{\mathbb{N}} with its characteristic function.

Definition 3.26 (The Ω1\Omega_{1}-functional).

We let Ω1(X)\Omega_{1}(X) be defined exactly when X={x}X=\{x\} for some x1x^{1}, and then Ω1(X)=x\Omega_{1}(X)=x

The functional Ω1\Omega_{1} is countably based because if we know that XX has exactly one element, then the only information about XX we need in order to find Ω1(X)\Omega_{1}(X) is X(x)X(x). However, there is no countably based total extension Φ\Phi of Ω1\Omega_{1}, since there cannot be a countable support for Φ()\Phi(\emptyset).

Finally, partial countably based functionals are closed under computability.

Theorem 3.27.

Let Φ,Φ1,,Φn\Phi,\Phi_{1},\ldots,\Phi_{n} be partial functionals of types in 𝐓𝐲(3){\bf Ty}(3) such that Φ\Phi is computable in Φ1,,Φn\Phi_{1},\ldots,\Phi_{n} and such that all Φ1,,Φn\Phi_{1},\ldots,\Phi_{n} are countably based. Then Φ\Phi is countably based.

Proof.

For the sake of notational simplicity, we assume that all functionals are of pure type 3. Let tt be a term with countably based parameters Φ1,,Φn\Phi_{1},\ldots,\Phi_{n} such that for all FF such that Φ(F)\Phi(F)\neq\bot, we have that Φ(F)\Phi(F) is the value of the tree T[tF]T[tF]. By recursion on the subnodes ss in this tree, we will find countable sets XsX_{s} such that for all total GG, if T[s[F/G]]T[s[F/G]] is well-founded and FF and GG agrees on XsX_{s}, then the values of T[s]T[s] and T[s[F/G]]T[s[F/G]] are the same. The case s=0s=0 is a trivial case, where Xs=X_{s}=\emptyset. We now consider four further cases, while for the other cases, we have Xs=XsX_{s}=X_{s^{\prime}} where ss^{\prime} is the one immediate child of ss in the tree.

  • The case s=𝖼𝖺𝗌𝖾s1s2s3s=\mathsf{case}s_{1}s_{2}s_{3}. Then XsX_{s} is the union of Xs1X_{s_{1}} and the relevant XsiX_{s_{i}} for i{2,3}i\in\{2,3\}.

  • The case s=Fs1s=Fs_{1}. We then let XsX_{s} be the union of all Xs1aX_{s_{1}a} for aa\in{\mathbb{N}} together with the singleton {[[s1]]}\{[[s_{1}]]\}.

  • The case s=Φis1s=\Phi_{i}s_{1}. Let YY be a countable support for Φi([[s1]])\Phi_{i}([[s_{1}]]). We then define the following union: Xs=fYXs1fX_{s}=\bigcup_{f\in Y}X_{s_{1}f}.

  • The case s=(λxs1)s2sls=(\lambda xs_{1})s_{2}\ldots s_{l}. Then Xs=Xs1[x/s2]s3slX_{s}=X_{s_{1}[x/s_{2}]s_{3}\ldots s_{l}}, which will give the only value we need to protect.

That this construction works is trivial by induction on the rank of ss in T[tF]T[tF]. ∎

3.3.3. A no-simulation result

We show that total functionals cannot simulate the partial functional Ω1\Omega_{1} from Definition 3.26.

Theorem 3.28.

The functional Ω1\Omega_{1} is not computable in any total countably based functional of rank 3.

Proof.

For the sake of notational simplicity, we again assume that Φ\Phi is of pure type 3. Assume that Ω1\Omega_{1} is computable in Φ\Phi where Φ\Phi is total and countably based, i.e. there is a term tt with Φ\Phi as a parameter such that Ω1(F)(k)[[tFk]]\Omega_{1}(F)(k)\preceq[[tFk]] for all FF and kk. We shall obtain a contradiction by considering what happens to this inequality for F=02F=0^{2}, the constant zero functional of type 2, and k=0k=0 as follows.

  • The case [[t020]][[t0^{2}0]]\in{\mathbb{N}} yields a contradiction by considering the countable support XX for this value, i.e. a countable set XX such that if FF is constant zero on XX and Ω1(F)\Omega_{1}(F)\in{\mathbb{N}}^{\mathbb{N}} then Ω1(F)(0)=[[t020]]\Omega_{1}(F)(0)=[[t0^{2}0]]. Clearly, there is FF such that F(x)=0F(x)=0 for xXx\in X, Ω1(F)\Omega_{1}(F) is defined, and Ω1(F)(0)[[t020]]\Omega_{1}(F)(0)\neq[[t0^{2}0]].

  • The case [[t020]]=[[t0^{2}0]]=\bot similarly yields a contradiction. Indeed, the tree T[t020]T[t0^{2}0] cannot have a value, but since all inputs and parameters are total no branch ends in \bot. Hence, the tree must be ill-founded and we choose an infinite branch in T[t020]T[t0^{2}0] in such a way that there is a countable support XX for the branch being infinite. We do this by a top-down recursion following how the tree is defined. Hence, assume that item no. kk in the branch is tkt_{k}, starting with t0=t020t_{0}=t0^{2}0, and assume that the tree below tkt_{k} is ill-founded. Sub-terms ss in the tree may have Φ\Phi and 020^{2} as parameters, but no other parameters with rank 2 or 3. Hence, if T[s]T[s] has a value, there is a countable support for this value. We proceed via the following case-distinction.

    • The case tk=0t_{k}=0 is impossible; for the cases tk=𝗌𝗎𝖼tk+1t_{k}=\mathsf{suc}t_{k+1}, tk=𝗉𝗋𝖾𝖽tk+1t_{k}=\mathsf{pred}t_{k+1} and tk=(μxs)s1slt_{k}=(\mu xs)s_{1}\cdots s_{l}, there is only one option for the next item.

    • The case tk=𝖼𝖺𝗌𝖾s1s2s3t_{k}=\mathsf{case}s_{1}s_{2}s_{3}. If T[s1]T[s_{1}] is ill-founded, we let tk+1=s1t_{k+1}=s_{1}. If T[s1]T[s_{1}] is well-founded, and then with a value, we let tk+1t_{k+1} be s2s_{2} or s3s_{3} according to the value. We then add a support for the value of s1s_{1} to the support we are building up.

    • The case tk=02st_{k}=0^{2}s. Then there must be an integer aa such that T[sa]T[sa] does not have a value, and we let tk+1t_{k+1} be one such sasa.

    • The case tk=Φst_{k}=\Phi s. Then there is an ff\in{\mathbb{N}}^{\mathbb{N}} and an aa\in{\mathbb{N}} such that T[sfa]T[sfa] does not have a value. Let tk+1t_{k+1} be one such sfasfa. This is where we use the assumption that Φ\Phi is total, the existence of ff and aa as above actually depends on it.

    • The case tk=(λxs1)s2slt_{k}=(\lambda xs_{1})s_{2}\cdots s_{l}. There are two possibilities, that [[s2]][[s_{2}]] is not total and that [[s2]][[s_{2}]] is total while T[s1[x/s2]s3sl]T[s_{1}[x/s_{2}]s_{3}\cdots s_{l}] does not have a value. In the first case we proceed as above, while in the second case we let tk+1=s1[x/s2]s3slt_{k+1}=s_{1}[x/s_{2}]s_{3}\cdots s_{l}. Since s2s_{2} does not have to be of pure type, we must let tk+1=s2gt_{k+1}=s_{2}\vec{g} for some list g\vec{g} of total arguments in the first case.

We only add a finite sequence to the support in the case of 𝖼𝖺𝗌𝖾\mathsf{case}. The final support XX is therefore countable. Next, we prove the following claim.

Claim 3.29.

If F2F^{2} is constant 0 on XX, then T[tF0]T[tF0] is without a value.

Proof.

If ss is a term with 020^{2} as a parameter, we let s=s[02/F]s^{*}=s[0^{2}/F] throughout. If t0,t1,t2,t_{0}^{*},t_{1}^{*},t_{2}^{*},\ldots is an infinite branch in T[tF0]T[tF0], this tree is not well-founded, and cannot have a value. The other possibility is that there is kk such that (t0,,tk)T[tF0](t_{0}^{*},\ldots,t_{k}^{*})\in T[tF0] but t0,,tk+1t_{0}^{*},\ldots,t_{k+1}^{*} is not. There will be only two situations where this possibility can occur, which we study now.

  • The case tk=𝖼𝖺𝗌𝖾s1s2s3t_{k}=\mathsf{case}s_{1}s_{2}s_{3} where we have chosen tk+1=sit_{k+1}=s_{i} for i=2i=2 or i=3i=3. If T[s1]T[s_{1}^{*}] is not well-founded, the tree T[tF0]T[tF0] is not well-founded, and does not have a value. If the tree T[s1]T[s_{1}^{*}] has a value it must, due to our choice of support, have the same value as T[s1]T[s_{1}]. Hence, our choice of tk+1t_{k+1} transfers to tk+1t^{*}_{k+1}, contradicting the choice of kk.

  • The case tk=(λxs1)s2slt_{k}=(\lambda xs_{1})s_{2}\cdots s_{l}. If we have chosen tk+1=s2gt_{k+1}=s_{2}\vec{g}, then tk+1t^{*}_{k+1} is an extension of tkt^{*}_{k} in T[tF0]T[tF0], so, by the choice of kk we must have that tk+1=s1[x/s2]s3slt_{k+1}=s_{1}[x/s_{2}]s_{3}\cdots s_{l}, If [[s2]]w[[s_{2}^{*}]]_{w} is total, then tk+1t^{*}_{k+1} would be a correct continuation of tkt^{*}_{k} in T[tF0]T[tF0], so we must have that [[s2]]w[[s_{2}^{*}]]_{w} is not total, and the tree T[tF0]T[tF0] will not have a value.

The proof of Claim 3.29 is now finished in light of the previous case distinction. ∎

Finally, together with the above case distinction, Claim 3.29 leads to a contradiction for any FF that is constant 0 on XX, takes the value 1 at exactly one point outside XX, and is zero elsewhere. Hence, the proof of Theorem 3.28 is finished. ∎

Finally, Corollary 3.30 explains why the notion of countably based is useful: similar to Grilliot’s trick (see [kohlenbach2]), the former yields a ‘rough-and-ready’ classification.

Corollary 3.30.

Let Ψ\Psi be total and countably based and let Ξ\Xi be total and of type rank 3\leq 3. The pairs Ψ,Ω1\Psi,\Omega_{1} and Ψ,Ξ\Psi,\Xi are not computationally equivalent.

Proof.

If Ξ\Xi is computable in Ψ+Ω1\Psi+\Omega_{1}, the former is countably based. However, then Ω1\Omega_{1} is not computable in Ξ\Xi and Ψ\Psi by Theorem 3.28. ∎

3.3.4. An explosive example

In this section, we show that the combination of Ω1\Omega_{1} and the Suslin functional SS2\SS^{2} is rather powerful in that it computes the Halting problem for ITTMs. This is mainly a consequence of the Kondo-Addison uniformisation theorem for Π11\Pi^{1}_{1}-sets, to be found in [Rogers]*Ch. 16, Thm. XLV. We note that Ω1\Omega_{1} is rather weak by itself, at least when it comes to computing objects of type 1, even in combination with 2\exists^{2} (see [dagsamXI]*§4).

We first need the following lemma.

Lemma 3.31.

Let AA\subset{\mathbb{N}}^{\mathbb{N}} be a non-empty Π11\Pi^{1}_{1}-set. Then AA has an element computable in Ω1\Omega_{1} and SS\SS.

Proof.

By uniformisation, there is a Π11\Pi^{1}_{1}-set BAB\subseteq A with exactly one element xx, and since BB is computable in SS\SS we have that xx is computable in Ω1\Omega_{1} and SS\SS. ∎

Theorem 3.32.
  • (a)

    If AA\subset{\mathbb{N}} is computable by an ITTM, then AA is computable from Ω1\Omega_{1} and SS\SS.

  • (b)

    The halting problem for ITTMs is computable in Ω1\Omega_{1} and SS\SS.

Proof.

If xx\in{\mathbb{N}}^{\mathbb{N}} codes a well-ordering of length α\alpha and MM is an ITTM with number-code mm, then we can simulate the calculation of MM through α\alpha steps computably in xx and 2\exists^{2}. There is an ordinal α\alpha such that for all ITTMs MM and all integer inputs aa, MM with input aa has either come to a halt at stage α\alpha or been through sufficiently many loops to ensure that it will run forever; see [welch2] for details. The set of codes or ordinals α\alpha with this property is a Π11\Pi^{1}_{1}-set and we can apply Lemma 3.31. ∎

3.4. Approximations and partiality

3.4.1. Introduction

We have shown in Section 3.3.3 that Ω1\Omega_{1} is ‘fundamentally partial’ in nature, in that no total functional (of rank 33) is computationally equivalent to it. In this section, we establish the same result for Ω\Omega mentioned in Section 1.

Definition 3.33.

[The functional Ω\Omega] The functional Ω(X)\Omega(X) is defined if |X|1|X|\leq 1 and outputs a finite sequence that includes all elements of XX.

By Theorem 4.4, the functional Ω\Omega can enumerate any finite set, which is why we use the term ‘finiteness’ functional in Section 1. In this section, we obtain the following fundamental results pertaining to Ω\Omega.

  • We show that Ω\Omega is weak when combined with 2\exists^{2} (Section 3.4.2). To this end, we introduce another functional Ωb\Omega_{\textup{b}} (Definition 3.34).

  • We obtain a rather general procedure for approximating computations in the sense of our new model (Section 3.4.3).

  • We show that there is no total extension of the functional Ωb\Omega_{\textup{b}} that is computable from Ωb\Omega_{\textup{b}} and 2\exists^{2}. (Section 3.4.4).

  • Based on the previous three items, we show that there is no total functional (of rank 3) that is computationally equivalent to Ω\Omega. (Section 3.4.5).

In conclusion, we may claim that Ω\Omega is (also) fundamentally partial in nature.

3.4.2. The strength of finiteness functionals

In this section, we show that Ω\Omega is weak, even when combined with 2\exists^{2}, as in Theorem 3.36. By contrast, the Σ21\Sigma^{1}_{2}-comprehension functional SS22\SS^{2}_{2} is computable in Ω\Omega and the Suslin functional SS12\SS^{2}_{1} ([dagsamXI]*§4). Moreover, assuming V = L, 3\exists^{3} is computable in Ω\Omega and SS12\SS^{2}_{1}. Since there is a Δ21\Delta^{1}_{2}-well-ordering of the continuum if V = L, this is also a consequence of Theorem 4.5.

Moreover, we have shown that Ω\Omega is close to 3\exists^{3} in the sense that the latter is computable in Ω\Omega and some functional of type 2, namely a well-ordering of [0,1][0,1]; see Theorem 4.5 or [dagsamXII] for this result. On the other hand, left with extra parameters of type 1 only, Ω\Omega supplies no extra computational power to 2\exists^{2} by Theorem 3.36.

In order to obtain the aforementioned results in a transparent way, we introduce another functional, namely Ωb\Omega_{\rm b}, where the sub-script ‘b’ stands for basic.

Definition 3.34.

[The functional Ωb\Omega_{\textup{b}}] Let Ωb(X)\Omega_{\rm b}(X) be defined whenever XX\subset{\mathbb{N}}^{\mathbb{N}} has at most one element, and then Ωb(X)=1\Omega_{\rm b}(X)=1 if XX is nonempty and Ωb()=0\Omega_{\rm b}(\emptyset)=0.

Despite its basic nature, the functional Ωb\Omega_{\textup{b}} computes the functional Ω\Omega.

Lemma 3.35.

The functional Ωb\Omega_{\rm b} is computationally equivalent to Ω\Omega; the latter is not countably based.

Proof.

The functional Ωb\Omega_{\rm b} is clearly computable in Ω\Omega. For the converse, if Ωb(X)=0\Omega_{\rm b}(X)=0 then Ω(X)=0ω\Omega(X)=0^{\omega} (or any other specified value coding the empty sequence). If Ωb(X)=1\Omega_{\rm b}(X)=1 and ff is the single element in XX we can compute f(n)f(n) from Ωb\Omega_{\rm b} and XX by considering, for each kk, Ωb({gX:g(n)=k})\Omega_{\rm b}(\{g\in X:g(n)=k\}). For the second part of the lemma, it suffices to show that Ωb\Omega_{\rm b} is not countably based. This is obvious, since there cannot be a countable support for Ωb()\Omega_{\rm b}(\emptyset). ∎

The functional Ωb\Omega_{\rm b} is useful, because it is so simple. Indeed, when we prove that Ω\Omega is computable in a given object, it suffices to do so for Ωb\Omega_{\rm b}, and the argument is then often quite easy. Here, we show that Ωb\Omega_{\rm b} has no computational power by itself.

Theorem 3.36.

For each ff\in{\mathbb{N}}^{\mathbb{N}} and finite sequence g\vec{g} from {\mathbb{N}}^{\mathbb{N}}, if ff is computable in Ωb+2+g\Omega_{\rm b}+\exists^{2}+\vec{g}, then ff is computable in 2+g\exists^{2}+\vec{g}.

Proof.

If a set XX is hyperarithmetical in g\vec{g} and has at most one element, then

Xx(xX)(yHYP(g))(yX).X\neq\emptyset\leftrightarrow\exists x(x\in X)\leftrightarrow\big{(}\exists y\in\textsf{HYP}(\vec{g})\big{)}(y\in X). (3.3)

In light of (3.3), Ωb\Omega_{\rm b} restricted to sets computable from 2\exists^{2} and some parameters of type 1 is actually computable in 2\exists^{2} and the same parameters. We combine this with recursion over computation trees to eliminate the use of Ωb\Omega_{\rm b} as long as all extra parameters are of type 1. ∎

3.4.3. An approximation theorem

In this section, we obtain a rather general approximation result, namely Theorem 3.41, for our equivalent λ\lambda-calculus model of S1-S9 computability. The procedure of approximating a partial computable function is well-known in certain cases, as discussed first in Remark 3.37.

Remark 3.37 (Approximating computations).

First of all, a most basic example of approximating a partial computable function by total ones is the nn-th approximation to a Turing machine (TM) calculation. Here, we output 0 or some other fixed value if the TM does not come to a halt within nn steps, in analogy with defining the primitive recursive function φe,n\varphi_{e,n} using Kleene’s TT-predicate.

Secondly, assuming all inputs are total, one defines the nn-th approximation {e}n(Φ)\{e\}_{n}(\vec{\Phi}) to a Kleene-computation by a top-down evaluation: simply replace nn by n1n-1 for sub-computations and only use the correct values for all nn for computations of rank 0. Then {e}n(Φ)\{e\}_{n}(\vec{\Phi}) will be total and defined by recursion on nn. If all inputs are continuous, we can iterate Grilliot’s trick to show that we get a correct approximation to all terminating computations as nn increases.

Below, we obtain an approximation result for arbitrary total inputs based on ordinals; we show that as long as the associated well-founded computation trees have rank bounded by an ordinal α\alpha, the value of the α\alpha-approximation is the true value. In our construction, we make use of the following notations.

Definition 3.38.

If α\alpha is an ordinal and nβn_{\beta}\in{\mathbb{N}} for all β<α\beta<\alpha, we define limβαnβ\lim^{*}_{\beta\rightarrow\alpha}n_{\beta} as nn if there is some β<α\beta<\alpha such that n=nγn=n_{\gamma} for all γ\gamma with βγ<α\beta\leq\gamma<\alpha; this limit is 0 if there is no such value nn.

Note that if α=β+1\alpha=\beta+1, the limit from Definition 3.38 is nβn_{\beta} by definition.

Notation 3.39.

Let tt be a term of type 0 with parameters Φ\vec{\Phi}, F\vec{F}, f,a\vec{f},\vec{a} of pure types only. If [[t(Φ,F,f,a)]][[t(\vec{\Phi},\vec{F},\vec{f},\vec{a})]]\in{\mathbb{N}}, there is a well-founded computation tree supporting this fact by Definition 3.9; we let ρ(t(Φ,F,f,a)\rho(t(\vec{\Phi},\vec{F},\vec{f},\vec{a}) be the ordinal rank of this tree if the value is in {\mathbb{N}}, and \infty otherwise. By abuse of notation, we also use t(Φ,F,f,a)t(\vec{\Phi},\vec{F},\vec{f},\vec{a}) for the interpretation [[t(Φ,F,f,a)]][[t(\vec{\Phi},\vec{F},\vec{f},\vec{a})]] when there is no ambiguity.

The following definition follows the cases of Definition 3.9.

Definition 3.40 (Approximating terms).

Let α\alpha be an ordinal and let t(Φ,F,f,a)t(\vec{\Phi},\vec{F},\vec{f},\vec{a}) be a term with all parameters total and among Φ,F,f,a\vec{\Phi},\vec{F},\vec{f},\vec{a}. By recursion on α\alpha, we define tα(Φ,F,f,a)t_{\alpha}(\vec{\Phi},\vec{F},\vec{f},\vec{a}) as 0 if tt is the constant 0 (item (ii) in Def. 3.9) or if α=0\alpha=0 (item (i) in Def. 3.9). If there are one or two immediate sub-terms s(Ψ,G,g,b)s(\vec{\Psi},\vec{G},\vec{g},\vec{b}) in the computation tree, we use the values limβαsβ(Ψ,G,g,b)\lim^{*}_{\beta\rightarrow\alpha}s_{\beta}(\vec{\Psi},\vec{G},\vec{g},\vec{b}) instead of the true values when defining the value of tα(Φ,F,f,a)t_{\alpha}(\vec{\Phi},\vec{F},\vec{f},\vec{a}) (items (iii)-(v) and (viii) in Def. 3.9). We treat the two remaining cases in more detail, as follows.

  • (vi)

    For t=Φit2tnt=\Phi_{i}t_{2}\cdots t_{n}, the term t2t_{2} is of type τ=(δ1,,δm0)\tau=(\delta_{1},\ldots,\delta_{m}\rightarrow 0).

    • For (ϕ1,,ϕm)𝐅(δ1)××𝐅(δm)(\phi_{1},\ldots,\phi_{m})\in{\bf F}(\delta_{1})\times\cdots\times{\bf F}(\delta_{m}), calculate limβαsβ\lim^{*}_{\beta\rightarrow\alpha}s_{\beta}, where s=t2ϕ1ϕms=t_{2}\phi_{1}\cdots\phi_{m}. Then define (Ψ2)α(ϕ1,,ϕm)(\Psi_{2})_{\alpha}(\phi_{1},\ldots,\phi_{m}) as this limit.

    • Now define ξα:=Φi((Ψ2)α)\xi_{\alpha}:=\Phi_{i}((\Psi_{2})_{\alpha}), which is where we use that Φi\Phi_{i} is total Define ss^{\prime} as the term (ξ)αt3tn(\xi)_{\alpha}t_{3}\cdots t_{n}, as in item (vi) of Def. 3.9.

    • Finally, we define the approximating term tα:=limβα(s)βt_{\alpha}:=\lim^{*}_{\beta\rightarrow\alpha}(s^{\prime})_{\beta}

  • (vii)

    For t=(λxt1)t2tnt=(\lambda xt_{1})t_{2}\cdots t_{n}, we consider the term s=t1[x/t2]t3tns^{\prime}=t_{1}[x/t_{2}]t_{3}\cdots t_{n} and define tα=limβα(s)βt_{\alpha}=\lim^{*}_{\beta\rightarrow\alpha}(s^{\prime})_{\beta}.

We have the following theorem regarding approximating terms.

Theorem 3.41.

Let tt be a term as above, i.e. all parameters are total and among Φ\vec{\Phi}, F\vec{F}, f,a\vec{f},\vec{a}. For any ordinal α\alpha, the approximating term tαt_{\alpha} is in {\mathbb{N}} and

  • if ρ(t(Φ,F,f,a))α\rho(t(\vec{\Phi},\vec{F},\vec{f},\vec{a}))\leq\alpha, then tα(Φ,F,f,a)=t(Φ,F,f,a)t_{\alpha}(\vec{\Phi},\vec{F},\vec{f},\vec{a})=t(\vec{\Phi},\vec{F},\vec{f},\vec{a}).

For xx a code of a well-ordering of {\mathbb{N}} and a countable ordinal β\beta, we have that:

  • we can compute tβ(Φ,F,f,a)t_{\beta}(\vec{\Phi},\vec{F},\vec{f},\vec{a}), uniformly in xx, 2\exists^{2}, and the other parameters.

Proof.

Firstly, that tαt_{\alpha}\in{\mathbb{N}} is immediate by induction on α\alpha, while for the final item we observe that limβαnβ\lim^{*}_{\beta\rightarrow\alpha}n_{\beta} is computable uniformly in xx, 2\exists^{2}, and (a coding of) a sequence {nβ}β<α\{n_{\beta}\}_{\beta<\alpha}.

For the remaining item, we may apply the induction hypothesis to all immediate sub-terms ss in the computation tree. Then limβαsβ\lim^{*}_{\beta\rightarrow\alpha}s_{\beta} provides the right value of all sub-terms as in Def. 3.9. If we are in item (vi) in Def. 3.40, then (Ψ2)α=Ψ2(\Psi_{2})_{\alpha}=\Psi_{2} and consequently ξα=ξ\xi_{\alpha}=\xi, as defined in the constructions. If we are in item (vii) in Def. 3.40, we do not need to consider modified β\beta-conversion, because plain β\beta-conversion will, under our assumptions, provide the right value. ∎

3.4.4. Extensions of the functional Ωb\Omega_{\rm b}

In this section, we show that there is no total extension of Ωb\Omega_{\rm b} that is computable in Ωb\Omega_{\rm b} and 2\exists^{2}. A crucial result to this end is Theorem 3.36 about the weakness of Ωb\Omega_{\rm b} in the presence of 2\exists^{2}.

First of all, let 020^{2} be the constant zero functional of type 2, also seen as the characteristic function of the empty set \emptyset.

Lemma 3.42.

Let t(Ωb,02,2,f)t(\Omega_{\rm b},0^{2},\exists^{2},\vec{f}) be a term with a value, where each element of f\vec{f} either is a hyperarithmetical function or just an integer. Let FF be a total functional of pure type 2, computable in 2\exists^{2}, such that F(g)=0F(g)=0 whenever gg is hyperarithmetical. If t(Ωb,F,2,f)t(\Omega_{\rm b},F,{\exists^{2}},\vec{f}) has a value, then the value is that of t(Ωb,02,2,f)t(\Omega_{\rm b},0^{2},\exists^{2},\vec{f}).

Proof.

The proof proceeds by induction on the rank of the computation tree for t(Ωb,02,2,f)t(\Omega_{\rm b},0^{2},\exists^{2},\vec{f}). The induction step is trivial except for two cases, namely application of 02/F0^{2}/F and application of Ωb\Omega_{\rm b}, which we consider as follows.

  1. (1)

    Application of 02/F0^{2}/F. Suppose t(Ωb,02,2,f)=02(g)t(\Omega_{\rm b},0^{2},\exists^{2},\vec{f})=0^{2}(g) where we have g(a)=s(Ωb,02,2,f,a)g(a)=s(\Omega_{\rm b},0^{2},\exists^{2},\vec{f},a). Then gg is hyperarithmetical and by the induction hypothesis, g(a)=s(Ωb,F,2,f,a)g(a)=s(\Omega_{\rm b},F,\exists^{2},\vec{f},a) for each aa. Since, F(g)=0F(g)=0 by assumption, the induction step follows.

  2. (2)

    Application of Ωb\Omega_{\rm b}. Suppose t(Ωb,02,2,f)=Ωb(G0)t(\Omega_{\rm b},0^{2},\exists^{2},\vec{f})=\Omega_{\rm b}(G_{0}), where we have G0(g)=s(Ωb,02,2,f,g)G_{0}(g)=s(\Omega_{\rm b},0^{2},\exists^{2},\vec{f},g), and define t(Ωb,F,2,f)=Ωb(GF)t(\Omega_{\rm b},F,\exists^{2},\vec{f})=\Omega_{\rm b}(G_{F}) in the same way. Since both terms are assumed to have values, G0G_{0} and GFG_{F} are characteristic functions of sets that either are the empty set or singletons. Note that in the latter case, the elements of the singletons must be hyperarithmetical. Indeed, both G0G_{0} and GFG_{F} are computable in 2\exists^{2} by (the proof of) Theorem 3.36, and thus hyperarithmetical. We use these observations and the induction hypothesis to show that G0=GFG_{0}=G_{F}. If G0(g)=1G_{0}(g)=1 for some gg, then, by the induction hypothesis, GF(g)=1G_{F}(g)=1, and since both functions are characteristic functions of singletons, they must be equal. The argument for the other direction is the same.

Having established the two remaining cases, we are done. ∎

Theorem 3.43 is interesting in its own right, but also essential for Section 3.4.5.

Theorem 3.43.

There is no total extension of Ωb\Omega_{\rm b} that is computable in Ωb+2\Omega_{\rm b}+\exists^{2}.

Proof.

Assume that Φ\Phi is total, extends Ωb\Omega_{\rm b}, and is computable in Ωb+2\Omega_{\rm b}+\exists^{2}. By Lemma 3.42, Φ(X)=0\Phi(X)=0 if XX is hyperarithmetical, but without hyperarithmetical elements. We can now use the following concepts and facts from the (original) proof of the Gandy-Spector theorem (see [Gandy1960, Spector1959] and also [Sacks.high]*Section III.3).

  • If (A,<)(A,<) is a Turing-computable ordering, a corresponding jump-chain is a sequence {Ca}aA\{C_{a}\}_{a\in A} such that or all aAa\in A, CaC_{a} is the Turing jump of {b,c:b<acCb}\{\langle b,c\rangle:b<a\wedge c\in C_{b}\}.

  • If (A,<)(A,<) is a well-ordering, there is a unique jump-chain, which is also hyperarithmetical.

Recall that the set of computable well-orderings is complete Π11\Pi^{1}_{1}, while the set of computable orderings with a jump chain and without hyperarithmetical infinite descending sequences, is Σ11\Sigma^{1}_{1}. Hence, there is a computable ordering (A,<)(A,<) of the latter kind that is not well-ordered. Let AwA_{w} be the well-ordered initial segment of AA and observe the folllowing.

  1. (a)

    If aAa\in A, then the set XaX_{a} of jump-chains up to aa is arithmetically defined, uniformly in aa, and non-empty.

  2. (b)

    If aAwa\in A_{w} there is exactly one jump-chain up to aa.

  3. (c)

    If aAAwa\in A\setminus A_{w}, then there is no hyperarithmetical jump-chain up to aa.

  4. (d)

    The initial segment AwA_{w} is complete Π11\Pi^{1}_{1}.

By Lemma 3.42 and items (a)-(c), we have the following equality

Aw={aA:Φ(Xa)=1},A_{w}=\{a\in A:\Phi(X_{a})=1\}, (3.4)

implying that AwA_{w} is computable in Φ\Phi. By item (d), the set AwA_{w} from (3.4) is a complete Π11\Pi^{1}_{1}-set, contradicting that all functions in {\mathbb{N}}^{\mathbb{N}} computable in Φ\Phi (that is computable in Ωb\Omega_{\rm b} and 2\exists^{2}) must be hyperarithmetical. This ends the proof. ∎

3.4.5. Extensions of the functional Ω\Omega

In this section, we show that there is no total functional of type 3 that is computationally equivalent to Ω\Omega. We make essential use of the previous sections and a well-known theorem of descriptive set theory.

First of all, we establish some essential lemmas, where we now use the alternative Definition 3.22 of computation trees.

Lemma 3.44.

Let Φ\Phi be a total functional of type 3 computable in Ωb\Omega_{\rm b}. Let F:()2F:({\mathbb{N}}^{\mathbb{N}})^{2}\rightarrow{\mathbb{N}} be computable in 2\exists^{2}, and let tt be a term such that t(Φ,Ff,2)t(\Phi,F_{f},\exists^{2}) has a value for each \in{\mathbb{N}}^{\mathbb{N}}, where Ff(g)=(f,g)F_{f}(g)=(f,g) for each ff and gg. Then the map sending ff to the well-founded computation tree of t(Φ,Ff,2)t(\Phi,F_{f},\exists^{2}) is computable in 2\exists^{2}.

Proof.

This is follows from the fact that the computation tree of t(Φ,Ff,2)t(\Phi,F_{f},\exists^{2}) is computable in Φ\Phi, ff\in{\mathbb{N}}^{{\mathbb{N}}}, and 2\exists^{2}, plus the assumption that Ωb\Omega_{\rm b} computes Φ\Phi. ∎

Lemma 3.45.

Let Φ\Phi, FF, and tt be as in Lemma 3.44. There is a Turing-computable well-ordering \prec of {\mathbb{N}} such that the ordinal rank of \prec exceeds the rank of the computation trees of t(Φ,Ff,2)t(\Phi,F_{f},\exists^{2}) for all ff\in{\mathbb{N}}^{{\mathbb{N}}}.

Proof.

The fact that these well-founded computation trees are hyperarithmetical suffices. For the unfamiliar reader, we observe that the set of trees on {\mathbb{N}} that can be order-embedded into any of these computation trees, is a Σ11\Sigma^{1}_{1}-set of well-founded trees on {\mathbb{N}}; it is well-known that the ranks of the elements of such a set are (uniformly) bounded below ω1CK\omega_{1}^{\textsf{CK}}. ∎

Finally, we can prove the main theorem of this section.

Theorem 3.46.

No total Φ3\Phi^{3} is computationally equivalent to Ω\Omega, assuming 2\exists^{2}.

Proof.

Assume there is such a Φ\Phi and let tt be a term such that λG.t(Φ,G,2)\lambda G.t(\Phi,G,\exists^{2}) is a (possibly partial) extension of Ωb\Omega_{\rm b}. Now define F12F\leq 1^{2} as follows:

F(f,g)=1(a)(f(a)>0g(a)=f(a)1).F(f,g)=1\leftrightarrow(\forall a\in{\mathbb{N}})(f(a)>0\wedge g(a)=f(a)-1).

All arguments for which Ωb\Omega_{\rm b} is defined, are of the form FfF_{f}. Following Lemma 3.45, let xx be a Turing-computable code of a well-ordering with a rank α\alpha that is larger than the rank of all computations trees for t(Φ,Ff,2)t(\Phi,F_{f},\exists^{2}) for any ff\in{\mathbb{N}}^{\mathbb{N}}. By Theorem 3.41, the term λG.tα(Φ,G,2)\lambda G.t_{\alpha}(\Phi,G,\exists^{2}) is total and computable. By the choice of FF and xx, we also have that this total functional extends Ωb\Omega_{\rm b}. By Theorem 3.43 this is impossible. ∎

In conclusion, we observe that Ω\Omega is fundamentally partial in nature.

4. Two robust computational clusters

4.1. Introduction

As discussed in Section 1, many functionals stemming from theorems in mainstream mathematics are computationally equivalent to either the Ω\Omega or Ω1\Omega_{1}. We refer to the associated computational equivalence classes as the Ω\Omega-cluster and the Ω1\Omega_{1}-cluster. In this section, we populate these clusters with functionals stemming from the following topics.

  • Finiteness and countability of subsets of {\mathbb{R}} (Section 4.2).

  • Regulated functions on the unit interval (Section 4.3).

  • Functions of bounded variation on the unit interval (Sections 4.3-4.4).

  • Absolutely continuous functions on the unit interval (Section 4.5).

  • Functions in the Sobolev space W1,1W^{1,1} (Section 4.6)

  • Caccioppoli or finite perimeter sets, which are essentially sets with characteristic function of bounded variation (Section 4.7)

On a conceptual note, Ω1\Omega_{1} and Ω\Omega are examples of what we call a structure functional, i.e. a functional that does not turn up as a result of some construction in mainstream mathematics, but which is nonetheless useful for calibrating the computational complexity of those that do.

4.2. Functionals related to finiteness and countability

In this section, we connect the Ω\Omega-functional to other functionals performing basic operations on finite or countable sets of reals, as in the following definition.

Definition 4.1.

[Functionals witnessing properties of finite sets] Let X[0,1]X\subset[0,1] be a set of reals and let nn\in{\mathbb{N}}.

  • A finiteness realiser Ωfin\Omega_{\textup{{fin}}} is defined when the input XX is finite and outputs a finite sequence that includes all elements of XX.

  • The functional Ωn\Omega_{n} is defined if |X|=n|X|=n and outputs a finite sequence that includes all elements of XX.

  • The functional Ωn\Omega_{\leq n} is defined if |X|n|X|\leq n and outputs a finite sequence that includes all elements of XX.

  • The functional Ω#,fin\Omega_{\#,\textup{{fin}}} is defined when XX is finite and outputs |X||X|.

  • The functional Ω#,fin\Omega_{\geq\#,\textup{{fin}}} is defined when XX is finite and outputs some n|X|n\geq|X|.

We note that Ω\Omega is actually Ω1\Omega_{\leq 1}. While perhaps not clear at first glance, the previous ‘finiteness’ functionals are intimately related to functionals witnessing basic properties of functions of bounded variation, as studied in Section 4.3

Definition 4.2.

[Clusters] The Ω\Omega-cluster is the class of partial functionals computationally equivalent to Ω\Omega modulo 2\exists^{2}. The Ω1\Omega_{1}-cluster is the class of partial functionals computationally equivalent to Ω1\Omega_{1} modulo 2\exists^{2}.

When we define a functional via an incomplete description, we are actually defining a class of functionals, see e.g. Ω#,fin\Omega_{\geq\#,\textup{{fin}}} above. A class like this is in the Ω\Omega-cluster if Ω\Omega is computable in all elements of the class modulo 2\exists^{2} and at least one element of the class is in the Ω\Omega-cluster. This extends to Ω1\Omega_{1} in the same way.

Since 2\exists^{2} is always assumed, we do not have to be specific about which of the domains {\mathbb{N}}^{\mathbb{N}} , 22^{\mathbb{N}}, [0,1][0,1] or {\mathbb{R}} we are working with when we define e.g. Ω\Omega and Ω1\Omega_{1}.

Definition 4.3.

[Functionals related to countability]

  • An enumeration functional is a partial functional taking as input A[0,1]A\subset[0,1] and Y:[0,1]Y:[0,1]\rightarrow{\mathbb{N}} injective on AA, outputting an enumeration of AA.

  • An ΩBW3\Omega_{\textup{{BW}}}^{3}-functional is a partial functional taking as input A[0,1]A\subset[0,1] and Y:[0,1]Y:[0,1]\rightarrow{\mathbb{N}} injective on AA, and outputting supA\sup A.

  • A weak enumeration functional is an enumeration functional that only works if the second input is also surjective on the first.

  • A weak ΩBW\Omega_{\textup{{BW}}}-functional is an ΩBW\Omega_{\textup{{BW}}} functional that only works if the second input is also surjective on the first.

We note that ‘BW’ in the previous definition stands for ‘Bolzano-Weierstrass’. We have the following initial classification.

Theorem 4.4 (First cluster theorem).
  • The Ω1\Omega_{1}-cluster contains each Ωn\Omega_{n} for n1n\geq 1, a weak enumeration functional, and the weak ΩBW\Omega_{\textup{{BW}}} functional.

  • The Ω\Omega-cluster contains Ωfin\Omega_{\textup{{fin}}}, Ωn\Omega_{\leq n}, Ω#,fin\Omega_{\#,\textup{{fin}}}, Ω#,fin\Omega_{\geq\#,\textup{{fin}}}, an enumeration functional, and ΩBW\Omega_{\textup{{BW}}}.

Proof.

Some of the results in the theorem are easy and are left for the reader. In particular, it is straightforward to show that Ω1\Omega_{1} and Ω\Omega are computable in most functionals mentioned in the theorem. We do establish that Ωfin\Omega_{\textup{{fin}}} is computable in Ω\Omega, based on the fact that all domains in question have natural arithmetically defined linear orderings. Note that Ω\Omega can decide if a set XX with at most one element is empty or not, simply by asking if Ω(X)X\Omega(X)\in X or not. We use self-reference, i.e. the (μxt)(\mu xt)-facility present in our λ\lambda-calculus approach to S1-S9, to define a functional Ω\Omega^{\ast} with the following properties for finite sets XX:

  • Ω()\Omega^{\ast}(\emptyset) is the special element 0ω0^{\omega},

  • Ω(X)\Omega^{\ast}(X) is the least element in XX when XX is non-empty.

Without loss of generality, we may assume that Ω()=0ω\Omega(\emptyset)=0^{\omega} is the least element in our domain. We then use the following algorithm:

given XX, put xYx\in Y if xXx\in X and Ω({yX:y<x})X\Omega^{\ast}(\{y\in X:y<x\})\not\in X and define Ω(X):=Ω(Y)\Omega^{\ast}(X):=\Omega(Y).

We see, by induction on the cardinality of the finite set XX, that Ω(X)\Omega^{\ast}(X) is well-defined and that it selects the least element of XX\neq\emptyset. We can then use Ω\Omega^{\ast} to enumerate XX from below until there is nothing left, thus obtaining Ωfin\Omega_{\textup{{fin}}} as follows.

Finally, we show that Ω#,fin\Omega_{\geq\#,\textup{{fin}}} is part of the Ω\Omega-cluster. To this end, let X[0,1]X\subseteq[0,1] have at most one element and suppose Ω#,fin(X)=k\Omega_{\geq\#,\textup{{fin}}}(X)=k. Let the closed intervals I0,,IkI_{0},...,I_{k} form a partition of [0,1][0,1] and let fi:Ii[0,1]f_{i}:I_{i}\rightarrow[0,1] be the associated canonical (affine) bijection. Now define a set Y[0,1]Y\subset[0,1] as follows: yYy\in Y if for some iki\leq k we have that yIiy\in I_{i} and fi(y)Xf_{i}(y)\in X. Then we have the following:

(x[0,1])(xX)Ω#,fin(Y)>k,(\exists x\in[0,1])(x\in X)\leftrightarrow\Omega_{\geq\#,\textup{{fin}}}(Y)>k, (4.1)

which readily yields the functional Ω\Omega. Indeed, in case XX is not empty, we can repeat the previous for X[q,r]X\cap[q,r] and X[q,r]X\setminus[q,r] for any q,r[0,1]q,r\in{\mathbb{Q}}\cap[0,1]. In this way, the usual interval-halving technique allows us to find the single element of XX. ∎

We note that (4.1) relies on the axiom of extensionality for functions (of relatively high type). The idea behind the functional Ω\Omega^{\ast} from the previous proof can also be exploited as follows.

Theorem 4.5.

There is a functional ΩWO\Omega_{\rm WO} in the Ω\Omega-cluster such that ΩWO(X,Y,)\Omega_{\rm WO}(X,Y,\prec) is defined whenever \prec is a well-ordering of XX and YXY\subseteq X, and if YY\neq\emptyset then ΩWO(X,Y,)\Omega_{\rm WO}(X,Y,\prec) is the \prec-least element of YY.

Proof.

Without loss of generality we may assume that Ω()Y\Omega(\emptyset)\not\in Y. We then define ΩWO\Omega_{\rm WO} via the following self-referential program:

for XX, Y,Y,\prec, we define the set ZZ by yZy\in Z if yYy\in Y and ΩWO(X,{zY:zx},)Y\Omega_{\rm WO}(X,\{z\in Y:z\prec x\},\prec)\not\in Y and put ΩWO(X,Y,)=Ω(Z)\Omega_{\rm WO}(X,Y,\prec)=\Omega(Z).

By induction on the ordinal rank of YY ordered by \prec, we observe that this definition makes sense. The proof is now done. ∎

Finally, the following lemma is immediate from Lemma 3.35.

Lemma 4.6.

The functional Ωb\Omega_{\rm b} is in the Ω\Omega-cluster. Moreover, no functional in the Ω\Omega-cluster is countably based.

We also note that Theorem 3.36 establishes that functionals from the Ω\Omega-cluster are weak in combination with 2\exists^{2}.

4.3. Functionals related to bounded variation

In this section, we identify a number of functionals in the Ω\Omega and Ω1\Omega_{1}-cluster based on basic properties of functions of bounded variation introduced in Section 2.2.3. We obtain similar results for the larger class of regulated functions. We first introduce some required definitions (Section 4.3.1) and establish the associated equivalences (Section 4.3.2).

4.3.1. Definitions

First of all, we introduce a notion of ‘realiser’ for the Jordan decomposition theorem (Definition 4.7), as well as other functionals witnessing basic properties of functions of bounded variation (Definition 4.8). Similar constructs exist in the literature: the proof of [kreupel]*Prop. 17 essentially shows that computing the total variation of a coded BVBV-function amounts to computing the Turing jump.

Definition 4.7 (Functionals witnessing the Jordan decomposition theorem).
  • A Jordan realiser is a partial functional 𝒥3\mathcal{J}^{3} taking as input a function f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} of bounded variation (item (a) in Definition 2.7), and providing a pair (g,h)(g,h) of increasing functions gg and hh such that f=ghf=g-h on [0,1][0,1].

  • An intermediate Jordan realiser is a partial functional 𝒥i3\mathcal{J}_{\textup{{i}}}^{3} taking as inputs f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} of bounded variation and an upper bound k0k_{0} for the total variation (item (a) in Definition 2.7), and providing a pair (g,h)(g,h) of increasing functions gg and hh such that f=ghf=g-h on [0,1][0,1].

  • A weak Jordan realiser is a partial functional 𝒥w3\mathcal{J}_{\textup{{w}}}^{3} taking as inputs f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} and its variation V01(f)V_{0}^{1}(f) (item (b) in Definition 2.7), and providing a pair (g,h)(g,h) of increasing functions gg and hh such that f=ghf=g-h on [0,1][0,1].

A weak Jordan realiser cannot compute a Jordan realiser in general; this remains true if we combine the former with an arbitrary type 2 functional (Corollary 4.17).

Secondly, we have shown in [dagsamXII] that Jordan realisers are computationally equivalent to the following functionals.

Definition 4.8 (Functionals related to bounded variation).
  • A sup-realiser is a partial functional 𝒮3\mathcal{S}^{3} taking as input a function f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} which has bounded variation (item (a) in Definition 2.7), and providing the supremum supx[0,1]f(x)\textup{{sup}}_{x\in[0,1]}f(x).

  • A continuity-realiser is a partial functional 3\mathcal{L}^{3} taking as input a function f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} of bounded variation (item (a) in Definition 2.7), and providing an enumeration (xn)n(x_{n})_{n\in{\mathbb{N}}} of all points of discontinuity of ff on [0,1][0,1].

We note that continuity realisers are slightly different from e.g. Jordan realisers: while the latter always produce an output for any BVBV-function, a continuity realiser has nothing to output in case of a continuous input function (in BVBV). In this case, the enumeration of the empty set is of course the output (see Notation 2.5).

Fourth, regulated functions yield various interesting functionals, as follows.

Definition 4.9.

[Functionals related to regularity]

  • A Banach realiser is a partial functional taking as input a regulated f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} and providing the Banach indicatrix N(f)N(f) as in (2.4) as output.

  • A Sierpiński realiser is a partial functional I3I^{3} which on input a regulated f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} produces I(f):=(g,h)I(f):=(g,h) such that f=ghf=g\circ h with gg continuous and hh strictly increasing on their respective (interval) domains.

  • A Baire-1-realiser is a partial functional taking as input regulated f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} and providing a sequence (fn)n(f_{n})_{n\in{\mathbb{N}}} of continuous [0,1][0,1]\rightarrow{\mathbb{R}}-functions that converges to ff on [0,1][0,1].

Recall that regulated functions are in the Baire class 11, explaining the final item.

Finally, we shall need the following lemmas. The use of 2\exists^{2} 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 4.10.

There is a functional 𝒟{\mathcal{D}}, computable in 2\exists^{2}, such that if f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} is monotone, then 𝒟(f){\mathcal{D}}(f) enumerates all points of discontinuity of ff on [0,1][0,1].

Proof.

Immediate from [dagsamXII]*Lemma 7. ∎

A set CC as in the following lemma is also called ‘RM-closed’ as it is given by the coding of closed sets used in reverse mathematics (see [simpson2]*I-II).

Lemma 4.11.

There is a functional \mathcal{E}, computable in 2\exists^{2}, such that for any sequences (an)n(a_{n})_{n\in{\mathbb{N}}}, (bn)n(b_{n})_{n\in{\mathbb{N}}}, if the closed set C=[0,1]n(an,bn)C=[0,1]\setminus\cup_{n\in{\mathbb{N}}}(a_{n},b_{n}) is countable, then (λn.(an,bn))\mathcal{E}(\lambda n.(a_{n},b_{n})) enumerates the points in CC.

Proof.

By [harry]*Theorem 2.12, if the set CC is countable, then, all elements in CC are hyperarithmetical in (an)n(a_{n})_{n\in{\mathbb{N}}} and (bn)n(b_{n})_{n\in{\mathbb{N}}}. Using Gandy selection, we can then find an enumeration of CC computable in 2\exists^{2} and the parameters. We do not use that CC is closed, only that it is countable and hyperarithmetical in the parameters. ∎

Finally, we note that Dirichlet shows in [didi1] that the Fourier series of certain piecewise continuous f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} converge to f(x+)+f(x)2\frac{f(x+)+f(x-)}{2}. As mentioned above, Jordan generalises this result to BVBV-functions in [jordel]. As expected in light of Ωfin\Omega_{\textup{{fin}}}, many operations on piecewise continuous functions, like finding a maximum of supremum, are part of the Ω\Omega-cluster.

4.3.2. Computational equivalences

We identify a large number of inhabitants of the Ω\Omega and Ω1\Omega_{1}-clusters, including the functionals from Section 4.3.1.

In particular, we prove the following theorem where we note that we can define ‘intermediate’ versions of all functionals pertaining to BVBV-functions, not just Jordan realisers. Similarly, ‘BVBV’ can often be replaced by the weaker property ‘regulated’, as is clear from items (iii) and (xiv) and Remark 4.13. As explored in Section 4.6, we may also often replace ‘BVBV’ by the smaller Sobolev space W1,1W^{1,1} or the pseudo-monotone functions.

Theorem 4.12 (Second cluster theorem).

Assuming 2\exists^{2}, the following are computationally equivalent:

  1. (i)

    a Jordan realiser,

  2. (ii)

    a sup-realiser,

  3. (iii)

    a continuity realiser,

  4. (iv)

    an intermediate Jordan realiser,

  5. (v)

    an enumeration functional,

  6. (vi)

    the functional Ω\Omega,

  7. (vii)

    a quasi-continuity realiser, i.e. a continuity realiser that only lists points of non-quasi-continuity (see Definition 2.9),

  8. (viii)

    a lower-semi-continuity realiser, i.e. a continuity realiser that only lists points of non-lower-semi-continuity (see Definition 2.9),

  9. (ix)

    a functional V3V^{3} such that V(f,c,d)=Vcd(f)V(f,c,d)=V_{c}^{d}(f) for [c,d][0,1][c,d]\subset[0,1] and f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} of bounded variation (item (a) in Definition 2.7).

  10. (x)

    a functional W3W^{3} such that Vcd(f)W(f,c,d)V_{c}^{d}(f)\leq W(f,c,d) for any [c,d][0,1][c,d]\subset[0,1] and f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} of bounded variation (item (a) in Definition 2.7).

  11. (xi)

    a functional F3F^{3} such that F(f)=(an,m,bn,m)n,mF(f)=(a_{n,m},b_{n,m})_{n,m\in{\mathbb{N}}} for f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} of bounded variation (item (a) in Definition 2.7) and set of discontinuities given by the Fσ\textbf{{F}}_{\sigma}-set n([0,1]m(an,m,bn,m))\cup_{n\in{\mathbb{N}}}([0,1]\setminus\cup_{m\in{\mathbb{N}}}(a_{n,m},b_{n,m})),

  12. (xii)

    the distance functional d:(×()×())d:({\mathbb{R}}\times({\mathbb{R}}\rightarrow{\mathbb{R}})\times({\mathbb{R}}\rightarrow{\mathbb{R}}))\rightarrow{\mathbb{R}}, such that d(x,A,Y)=supaA|xa|d(x,A,Y)=\sup_{a\in A}|x-a|, for A[0,1]A\subset[0,1] and YY injective on AA,

  13. (xiii)

    a functional taking inputs A[0,1]A\subset[0,1] and Y:[0,1]Y:[0,1]\rightarrow{\mathbb{N}} injective on AA and outputting increasing f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} discontinuous exactly at each aAa\in A.

  14. (xiv)

    a continuity realiser for regulated functions,

  15. (xv)

    a sup-realiser for regulated functions,

  16. (xvi)

    a functional that on input any regulated f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} outputs the pair (f¯,f¯)(\underline{f},\overline{f}) as in (2.5), in case these envelopes are different, and (f)(f) otherwise.

  17. (xvii)

    a Sierpiński realiser,

  18. (xviii)

    a Banach realiser,

  19. (xix)

    a Baire-11-realiser.

  20. (xx)

    a well-order realiser 𝒬3\mathcal{Q}^{3} taking as input BA[0,1]B\subset A\subset[0,1], Y:[0,1]Y:[0,1]\rightarrow{\mathbb{N}} injective on AA, and \preceq a well-ordering of AA, and where 𝒬(A,B,,Y)\mathcal{Q}(A,B,\preceq,Y) is the least element in BB relative to FF,

  21. (xxi)

    a functional taking as input a regulated and upper semi-continuous f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} and outputting x[0,1]x\in[0,1] with (y[0,1])(|f(y)||f(x)|)(\forall y\in[0,1])(|f(y)|\leq|f(x)|),

  22. (xxii)

    (Bolzano-Weierstrass) a functional taking as input AA\subset{\mathbb{R}} without limit points and outputting 0 (resp. 1) in case AA is finite (resp. unbounded).

Proof.

We establish the equivalences in the theorem following increasing item numbers. The equivalence between items (i)-(iii) may be found in [dagsamXII]*Theorem 3.4. By the proof of [dagsamXII]*Theorem 3.9, an intermediate Jordan realiser computes an enumeration functional. Theorem 4.4 now yields Ω\Omega, i.e. we have (iii)(iv)(v)(vi)\eqref{contje}\rightarrow\eqref{jordje2}\rightarrow\eqref{enu}\rightarrow\eqref{fije}. For (vi) \rightarrow (iii), Theorem 4.4 provides Ωfin\Omega_{\textup{{fin}}} and let f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} be of bounded variation. If x[0,1]x\in[0,1] is a point of discontinuity of ff, the value f(x)f(x) contributes a non-trivial amount to the variation, and we can measure ‘how much’ by considering how f(x)f(x) relates to the left and right limits f(x)f(x-) and f(x+)f(x+). This can be done in a computable way, in terms of x,fx,f and 2\exists^{2}. For each kk\in{\mathbb{N}}, we may define XkX_{k}, the sets of points of discontinuity that provide a value larger than 12k\frac{1}{2^{k}} to the variation. Using Ωfin\Omega_{\textup{{fin}}}, we can of course enumerate XkX_{k}, and taking the union, we may enumerate all points of discontinuity of ff, i.e. a continuity realiser is obtained. Hence, we have already established the equivalences between items (i)-(vi).

For (vii)(vi)\rightarrow\eqref{fije}, the indicator function 𝟙X\mathbb{1}_{X} has bounded variation (with upper bound |X|+1|X|+1) in case X[0,1]X\subset[0,1] is finite. Any element of XX is a point where 𝟙X\mathbb{1}_{X} is not quasi-continuous, i.e. Ωfin\Omega_{\textup{{fin}}} follows. For (iii)(vii)\eqref{contje}\rightarrow\eqref{qcontje}, f(x+)f(x+) and f(x)f(x-) are available at any x(0,1)x\in(0,1). Since BVBV-functions only have removable or jump continuities, we can use 2\exists^{2} to check whether or not a given point of discontinuity is also a point of non-quasi-continuity. An analogous proof establishes the equivalence involving (viii). Hence, the equivalences between items (i)-(viii) are ready.

For (ix) \rightarrow (i), g(x):=λx.V(f,0,x)g(x):=\lambda x.V(f,0,x) is well-defined and non-decreasing in case f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} has bounded variation. One proves that h(x)=λx.[V(f,0,x)f(x)]h(x)=\lambda x.[V(f,0,x)-f(x)] is monotone and then clearly f=ghf=g-h on [0,1][0,1]. Hence, item (ix) yields a Jordan realiser. If we have a Jordan realiser 𝒥\mathcal{J}, then for f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} of bounded variation with 𝒥(f)=(g,h)\mathcal{J}(f)=(g,h) and 0c<d10\leq c<d\leq 1, we have Vcd(f)=g(d)g(c)+h(c)h(d)V_{c}^{d}(f)=g(d)-g(c)+h(c)-h(d), using the usual ‘telescoping sum’ trick. A functional as in item (ix) is now immediate, i.e. (i)(ix)\eqref{jordje}\leftrightarrow\eqref{waard} follows. That (ix)(x)\eqref{waard}\rightarrow\eqref{waard2} is trivial, while WW as in the latter computes Ω#,fin\Omega_{\geq\#,\textup{{fin}}} and Theorem 4.4 yields Ω\Omega. For the former claim, 𝟙X\mathbb{1}_{X} has bounded variation for finite X[0,1]X\subset[0,1] and |X|=V01(𝟙X)W(𝟙X,0,1)|X|=V_{0}^{1}(\mathbb{1}_{X})\leq W(\mathbb{1}_{X},0,1).

For (iii) \rightarrow (xi), a continuity realiser \mathcal{L} outputs a sequence (f)=(xn)n\mathcal{L}(f)=(x_{n})_{n\in{\mathbb{N}}} which lists the points of discontinuity of f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} of bounded variation. Each {xn}\{x_{n}\} is trivially RM-closed as the complement of the open set [0,xn)(xn,1][0,x_{n})\cup(x_{n},1], readily yielding item (xi). To establish (xi) \rightarrow (iii) , we can use Lemma 4.11. Indeed, Cn:=[0,1]m(an,m,bn,m)C_{n}:=[0,1]\setminus\cup_{m\in{\mathbb{N}}}(a_{n,m},b_{n,m}) is an RM-closed and countable set if the double sequence is the output of item (xi). Hence, we may enumerate each CnC_{n}, and join all these together to obtain the output of a continuity realiser.

Assuming item (xii), note that for A[0,1]A\subset[0,1] and Y:[0,1]Y:[0,1]\rightarrow{\mathbb{N}} injective on AA:

(x(12,1])(xA)(q(12,1])(d(q,A,Y)>|q12|),\textstyle(\forall x\in(\frac{1}{2},1])(x\not\in A)\leftrightarrow(\forall q\in{\mathbb{Q}}\cap(\frac{1}{2},1])(d(q,A,Y)>|q-\frac{1}{2}|), (4.2)

and similar for any interval replacing (12,1](\frac{1}{2},1]. Hence, the usual ‘interval-halving’ technique finds the supremum of AA using 2\exists^{2} and (4.2), yielding ΩBW\Omega_{\textup{{BW}}} and hence Ω\Omega by Theorem 4.4. To obtain item (xii) from an enumeration functional, the latter converts the supremum in the former to one over {\mathbb{N}}. The first twelve items of the theorems have now been shown to be equivalent.

For (v)\rightarrow(xiii)\rightarrow(iii), use Lemma 4.10 for the second implication while the first implication follows from considering f(x):=xnx12nf(x):=\sum_{x_{n}\leq x}\frac{1}{2^{n}} where (xn)n(x_{n})_{n\in{\mathbb{N}}} is any enumeration of the countable set A[0,1]A\subset[0,1].

For item (xiv), the latter implies (iii) as BVBV-functions are regulated. For the equivalence, we obtain item (xiv) from Ωfin\Omega_{\textup{{fin}}}. To this end, define

Xk:={x(0,1):|f(x+)f(x)|>12k|f(x)f(x)|>12k}\textstyle X_{k}:=\big{\{}x\in(0,1):|f(x+)-f(x)|>\frac{1}{2^{k}}\vee|f(x-)-f(x)|>\frac{1}{2^{k}}\big{\}} (4.3)

which collects the finitely many333Note that if some XkX_{k} is not finite, it has a cluster point x0[0,1]x_{0}\in[0,1]; however then either f(x0+)f(x_{0}+) or f(x0)f(x_{0}-) does not exist, a contradiction. points of discontinuity of the regulated function ff where the jump is in excess of 1/2k1/2^{k}. The union over nn\in{\mathbb{N}} of all finite sequences Ωfin(Dn)\Omega_{\textup{{fin}}}(D_{n}) then enumerates the points of discontinuity of ff, as required for item (xiv). Then (iii)(xiv)(ii)(xv)\eqref{contje}\leftrightarrow\eqref{contje2}\leftrightarrow\eqref{supje}\leftrightarrow\eqref{supje2} is immediate.

For item (xvi), consider the definition of upper and lower envelope in (2.5) and note that the (inner) supremum and infimum over {\mathbb{R}} can be replaced by a supremum and infimum over {\mathbb{N}} (and {\mathbb{Q}}), if we have access to a sequence listing all points of discontinuity of a regulated function f:[0,1]f:[0,1]\rightarrow{\mathbb{R}}. Moreover, continuity of ff at a point x[0,1]x\in[0,1] implies that f¯(x)=f¯(x)\overline{f}(x)=\underline{f}(x). Hence, we can check whether f¯=f¯\underline{f}=\overline{f} using 2\exists^{2}, and (xiv)\rightarrow (xvi) follows. Now assume (xvi) and consider finite XX\subset{\mathbb{N}}. Then for f=𝟙Xf=\mathbb{1}_{X}, we have that f¯=f¯\underline{f}=\overline{f} everywhere if and only if X=X=\emptyset. In case XX\neq\emptyset, the usual interval-halving technique can locate a point therein, i.e. Ω\Omega follows.

For (xvii) \rightarrow (xiv), given a Sierpiński realiser, the second component of the output I(f)=(g,h)I(f)=(g,h) is (strictly) monotone and we can enumerate the points of discontinuity of hh by Lemma 4.10. Now exclude all points x[0,1]x\in[0,1] from this sequence for which f(x+)=f(x)f(x+)=f(x-), which can be done using 2\exists^{2}. In this way, we obtain a continuity realiser as in (xiv). To derive a Sierpiński realiser from a continuity realiser, i.e. (xiv) \rightarrow (xvii), we fix regulated f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} and consider the proof of [voordedorst]*Theorem 0.36, p. 28, going back to [voordesier]. This proof establishes the existence of g,hg,h such that f=ghf=g\circ h with gg continuous and hh strictly increasing. Moreover, one finds an explicit construction (modulo 2\exists^{2}) of the function hh required, assuming a sequence listing all points of discontinuity of ff on [0,1][0,1]. The function gg is then defined as λy.f(h1(y))\lambda y.f(h^{-1}(y)) where h1h^{-1} is the inverse of hh, definable using 2\exists^{2}. In this light, a continuity realiser plus 2\exists^{2} yields a a Sierpiński realiser.

For (xvii) \rightarrow (xviii), Banach’s proof of [banach1]*Theorems 1 and 2 essentially establishes that 2\exists^{2} computes a Banach realiser in case the function at hand is additionally continuous on [0,1][0,1]. Banach’s results from [banach1] are also published in English in e.g. [naatjenaaien]*p. 225. For the general case, as discussed in [voordedorst]*p. 44, the Banach indicatrix N(f)N(f) equals N(g)N(g) if gg is continuous and satisfies f=ghf=g\circ h for some strictly increasing hh. Hence, a Sierpiński realiser readily yields a Banach realiser.

Next, we show how to compute an enumeration functional from a Banach realiser. Hence, fix A[0,1]A\subset[0,1] and let Y:[0,1]Y:[0,1]\rightarrow{\mathbb{N}} be injective on AA. Now define the following function using 2\exists^{2}:

fq(x):={12Y(x)+1xAx>q0 otherwise .f_{q}(x):=\begin{cases}\frac{1}{2^{Y(x)+1}}&x\in A\wedge x>_{{\mathbb{R}}}q\\ 0&\textup{ otherwise }\end{cases}. (4.4)

The following equivalence is then readily proved, for any nn\in{\mathbb{N}} and q[0,1]q\in{\mathbb{Q}}\cap[0,1]:

(xA)(Y(x)=nx>q)[1=N(fq)(12n+1)].\textstyle(\exists x\in A)(Y(x)=n\wedge x>_{{\mathbb{R}}}q)\leftrightarrow[1=N(f_{q})(\frac{1}{2^{n+1}})]. (4.5)

Using (4.5) and 2\exists^{2}, we can decide if for nn\in{\mathbb{N}} there is (unique) x0Ax_{0}\in A such that Y(x)=nY(x)=n. If such x0x_{0} exists, we can successively approximate it using the usual interval-halving technique, using again 2\exists^{2} and (4.5). In this way, we can obtain a sequence (xn)n(x_{n})_{n\in{\mathbb{N}}} listing all elements of AA, i.e. (xviii) \rightarrow (v) is complete. Hence, the first 18 items are equivalent.

For (xx), an enumeration functional can enumerate a countable A[0,1]A\subset[0,1] given some Y:[0,1]Y:[0,1]\rightarrow{\mathbb{N}} injective on AA. Moreover, given an enumeration of AA, an unbounded search readily yields the least element of any BAB\subset A, as required by a well-order realiser, i.e. (v) \rightarrow (xx) follows. Now assume a well-order realiser 𝒬\mathcal{Q} is given and fix a countable A[0,1]A\subset[0,1] and Y:[0,1]Y:[0,1]\rightarrow{\mathbb{N}} injective on AA. Define a well-order on AA by xyx\preceq y if and only if Y(x)Y(y)Y(x)\leq Y(y). Define Bn:={xA:Y(x)n}B_{n}:=\{x\in A:Y(x)\geq n\}, x0:=𝒬(A,B0,,Y)x_{0}:=\mathcal{Q}(A,B_{0},\preceq,Y), and xm+1:=𝒬(A,BY(xm),,Y)x_{m+1}:=\mathcal{Q}(A,B_{Y(x_{m})},\preceq,Y). Clearly, this sequence readily yields an enumeration of AA, i.e. (xx) \rightarrow (v).

Regarding item (xix), 2\exists^{2} readily computes the supremum (or maximum) of any continuous function on an interval by [kohlenbach2]*§3. Hence, the approximation provided by item (xix) readily yields the supremum required by item (xv). Now item (iii), provides the points of discontinuity of regulated functions. Using 2\exists^{2}, one then readily defines the sequence (fn)n(f_{n})_{n\in{\mathbb{N}}} required by item (xix).

Assuming item (xxi), for finite X[0,1]X\subset[0,1], the function𝟙X\mathbb{1}_{X} is regulated and upper semi-continuous. The maximum provided by item (xxi) allows us to decide if X=X=\emptyset or not. In the latter case, we also find an element of XX, yielding Ω\Omega as in item (vi). Assumie (xiv) and note that a maximum of ff -as required by (xxi)- is either a point of continuity of ff or in the sequence provided by (xiv). In the former case, we may approximate it using rationals, i.e. we have (xiv)(xxi)\eqref{contje2}\rightarrow\eqref{onetoomany}, and we are done.

To obtain item (xxii) from Ω\Omega, let AA\subset{\mathbb{R}} be a set without limit points. Then A[n,n]A\cap[-n,n] is finite for any nn\in{\mathbb{N}}, i.e. Ωfin\Omega_{\textup{{fin}}} (see Theorem 4.4) can enumerate AA, allowing us to decide whether this set is unbounded or finite. To show that item (xxii) computes Ωb\Omega_{\textsf{b}}, let X[0,1]X\subset[0,1] be finite. Now define YY\subset{\mathbb{R}} as Y:={y:(n)(|yn|X)}Y:=\{y\in{\mathbb{R}}:(\exists n\in{\mathbb{N}})(|y-n|\in X)\}. In case XX is empty (resp. a singleton), the set YY must be finite (resp. unbounded), i.e. Ωb\Omega_{\textsf{b}} readily follows. ∎

Regarding item (xxii), Weierstrass formulates the ‘Bolzano-Weierstrass theorem’ around 1860 in [weihimself]*p. 77 as follows, while Bolzano [russke]*p. 174 states the existence of suprema rather than just limit points.

If a function has a definite property infinitely often within a finite domain, then there is a point such that in any neighbourhood of this point there are infinitely many points with the property.

We note that item (xxii) witnesses the contraposition of Weierstrass’ theorem.

Next, the equivalences in the theorem are robust in the following sense: we could replace ‘BVBV-function’ in Theorem 4.12 by ‘BVBV-function that comes with a second-order code as in [kreupel]*Def. 1’ and the proof would still go through. In particular, it seems the presence of codes (in the sense of [kreupel]) for third-order BVBV-functions does not change the computational properties as listed in Theorem 4.12. This is no surprise as a code in the sense of [kreupel] only describes an (L1L_{1}-)equivalence class of BVBV-functions, not an individual BVBV-function.

Next, in light of the equivalence between items (iii) and (xiv), one can replace ‘BVBV’ or ‘regulated’ in these items by any intermediate class, discussed next.

Remark 4.13 (Between bounded variation and regulated).

The following spaces are intermediate between BVBV and regulated; all details may be found in [voordedorst].

Wiener spaces from mathematical physics ([wiener1]) are based on pp-variation, which amounts to replacing ‘|f(xi)f(xi+1)||f(x_{i})-f(x_{i+1})|’ by ‘|f(xi)f(xi+1)|p|f(x_{i})-f(x_{i+1})|^{p}’ in the definition of variation (2.3). Young ([youngboung]) generalises this to ϕ\phi-variation which instead involves ϕ(|f(xi)f(xi+1)|)\phi(|f(x_{i})-f(x_{i+1})|) for so-called Young functions ϕ\phi, yielding the Wiener-Young spaces. Perhaps a simpler construct is the Waterman variation ([waterdragen]), which involves λi|f(xi)f(xi+1)|\lambda_{i}|f(x_{i})-f(x_{i+1})| and where (λn)n(\lambda_{n})_{n\in{\mathbb{N}}} is a Waterman sequence (of reals with nice properties); in contrast to BVBV, any continuous function is included in the Waterman space ([voordedorst]*Prop. 2.23). Combining ideas from the above, the Schramm variation involves ϕi(|f(xi)f(xi+1)|)\phi_{i}(|f(x_{i})-f(x_{i+1})|) for a sequence (ϕn)n(\phi_{n})_{n\in{\mathbb{N}}} of well-behaved ‘gauge’ functions ([schrammer]). As to generality, the union (resp. intersection) of all Schramm spaces yields the space of regulated (resp. BVBV) functions, while all other aforementioned spaces are Schramm spaces ([voordedorst]*Prop. 2.43 and 2.46). In contrast to BVBV and the Jordan decomposition theorem, these generalised notions of variation have no known ‘nice’ decomposition theorem. The notion of Korenblum variation ([koren]) does have such a theorem (see [voordedorst]*Prop. 2.68) and involves a distortion function acting on the partition, not on the function values (see [voordedorst]*Def. 2.60).

It is no exaggeration to say that there are many natural spaces between the regulated and BVBV-functions, all of which yield natural functionals for the Ω\Omega-cluster. A non-trivial example is any functional that on input a regulated [0,1][0,1]\rightarrow{\mathbb{R}}-function outputs the associated Waterman sequence and upper bound for the Waterman variation. By the proof of [voordedorst]*Prop. 2.24 (and associated lemmas), a Sierpiński realiser readily computes such a functional.

Finally, the Ω\Omega-cluster is defined in terms of (an equivalent formulation of) S1-S9-computability. The following results show that one can get by with a weaker notion of computability. In particular, the following theorem shows how to obtain an injection for the countable set of discontinuities of regulated functions.

Theorem 4.14.

There is a term tt of Gödel’s TT such that for any regulated f:[0,1]f:[0,1]\rightarrow{\mathbb{R}}, the mapping λx.t(x,f,2,Ω#,fin)\lambda x.t(x,f,\exists^{2},\Omega_{\geq\#,\textup{{fin}}}) is a [0,1][0,1]\rightarrow{\mathbb{N}}-function injective on

Df:={x[0,1]:f(x+)f(x)f(x)f(x)},D_{f}:=\{x\in[0,1]:f(x+)\neq f(x)\vee f(x)\neq f(x-)\},

which is the countable set of discontinuities of ff.

Proof.

As noted in the proof of Theorem 4.12, the set XnX_{n} as in (4.3) must be finite for fixed nn\in{\mathbb{N}}. Hence, the following set is also finite:

Yn:={(x,y,k)2×:x,yXn0<|xy|12k}.\textstyle Y_{n}:=\{(x,y,k)\in{\mathbb{R}}^{2}\times{\mathbb{N}}:x,y\in X_{n}\wedge 0<|x-y|\leq\frac{1}{2^{k}}\}.

Then g(n):=Ω#,fin(Yn)+1g(n):=\Omega_{\geq\#,\textup{{fin}}}(Y_{n})+1 is such that (x,yXn)(|xy|>12g(n))(\forall x,y\in X_{n})(|x-y|>\frac{1}{2^{g(n)}}). In other words, we may not know the elements of XnX_{n}, but we do know how much they must be apart (at least). Hence, for xXnx\in X_{n}, the ball B(x,12g(n)+2)B(x,\frac{1}{2^{g(n)+2}}) does not contain any other elements of XnX_{n}. Let (qm)m(q_{m})_{m\in{\mathbb{N}}} be an enumeration of the rationals in [0,1][0,1]. Then we may choose a rational, say with index Zn(x)Z_{n}(x), in B(x,12g(n)+2)B(x,\frac{1}{2^{g(n)+2}}) such that Zn(x)Zn(y)Z_{n}(x)\neq Z_{n}(y) for x,yXnx,y\in X_{n} and xyx\neq y. Now define Y:[0,1]Y:[0,1]\rightarrow{\mathbb{N}} as follows:

Y(x):={2n×p(1+Zn(x))xXn and n is the least such number0otherwise,Y(x):=\begin{cases}2^{n}\times p_{(1+Z_{n}(x))}&x\in X_{n}\textup{ and $n$ is the least such number}\\ 0&\textup{otherwise}\end{cases},

where pnp_{n} is the nn-th prime number. This mapping is injective on nXn\cup_{n\in{\mathbb{N}}}X_{n} and is definable as required by the theorem. ∎

Corollary 4.15.

There is a term ss of Gödel’s TT such that for regulated f:[0,1]f:[0,1]\rightarrow{\mathbb{R}}, s(f,2,Ω#,fin)s(f,\exists^{2},\Omega_{\geq\#,\textup{{fin}}}) provides an enumeration of the points of discontinuity of ff.

Proof.

By the (rather effective) last part of the proof of Theorem 4.4, we can compute Ω\Omega in the restricted sense of the corollary. The functional Ω\Omega readily (and similarly effectively) yields an enumeration functional by considering Ω({x[0,1]:xAY(x)=n})\Omega(\{x\in[0,1]:x\in A\wedge Y(x)=n\}) for A[0,1]A\subset[0,1] and Y:[0,1]Y:[0,1]\rightarrow{\mathbb{N}} injective on AA. ∎

In conclusion, despite Corollary 4.15, we believe that the correct definition of the Ω\Omega-cluster involves the generality of S1-S9. We also believe there to be natural functionals in the Ω\Omega-cluster for which the analogue of Corollary 4.15 is not possible.

4.4. On the weakness of weak Jordan realisers

In this section, we show that weak Jordan realisers are deserving of their name: we show that the latter cannot, in general, compute a Jordan realiser, even when combined with an arbitrary type 2 functional. To this end, we establish the following theorem.

Theorem 4.16.

The class of weak Jordan realisers is in the Ω1\Omega_{1}-cluster.

Proof.

We first prove that Ω1\Omega_{1} is computable in any weak Jordan realiser. Let X[0,1]X\subseteq[0,1] have exactly one element and let ff be the characteristic function of XX. Then exactly one of three will be the case: 0X0\in X, 1X1\in X or V01(f)=2V_{0}^{1}(f)=2. In the latter case, we use the decomposition f=ghf=g-h obtained from the weak Jordan realiser, enumerate all points of discontinuity of gg and hh using 2\exists^{2}, and search for the one element in XX among those points of discontinuity.

Next, we prove that there is a weak Jordan realiser computable in Ω1\Omega_{1} and 2\exists^{2}. Let f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} be given with known variation aa\in{\mathbb{R}}. If (xn)n(x_{n})_{n\in{\mathbb{N}}} is a sequence in the unit interval, we can define V(f,(xn)n)V(f,(x_{n})_{n\in{\mathbb{N}}}) as the supremum we obtain by restricting all partitions to elements in the sequence (using 2\exists^{2}). We then let XX be the set of sequences (xn)n(x_{n})_{n\in{\mathbb{N}}} such that V(f,(xn)n)=aV(f,(x_{n})_{n\in{\mathbb{N}}})=a and such that all rational numbers in [0,1][0,1] appear in the sequence.

Now, if (xn)nX(x_{n})_{n\in{\mathbb{N}}}\in X, all discontinuity points xx of ff, where f(x)f(x) is not in the closed interval between the left- and right limits of ff at xx, will be in the sequence. We can then use partitions from any sequence in XX to construct a decomposition of ff into the increasing gg^{*} and hh^{*}. These will be correct except possibly for points of discontinuity where ff takes a value in the gap between the left and right limits. These points are however points of discontinuity of gg^{*} or hh^{*}, and we can use 2\exists^{2} to check if there are any by Lemma 4.10.

We now let YY be the set of enumerations (xn)n(x_{n})_{n\in{\mathbb{N}}} where no such points of discontinuity are missing. For (xn)nY(x_{n})_{n\in{\mathbb{N}}}\in Y, we will have that g,hg^{*},h^{*} is the best possible decomposition, i.e. the decomposition where the growth of the increasing functions is the least possible. In this way, g,hg^{*},h^{*} are independent of the choice of (xn)n(x_{n})_{n\in{\mathbb{N}}}. Thus, there is an enumeration (yn)nN(y_{n})_{n\in N} of all points of discontinuity of gg^{*} and hh^{*}, together with the rationals, computable from (xn)nY(x_{n})_{n\in{\mathbb{N}}}\in Y and 2\exists^{2}, but independent of the actual choice of sequence. Hence, the set ZZ of sequences in YY producing itself this way will contain exactly one element, and we can use Ω1\Omega_{1} to find it. We then get the weak Jordan realiser by using g,hg^{*},h^{*} constructed from this unique sequence. ∎

Corollary 4.17.

A weak Jordan realiser cannot compute a Jordan realiser in general, even when combined with with an arbitrary type 2 functional.

Proof.

As noted under Definition 3.26, Ω1\Omega_{1} is countably based, while Ω\Omega is not by Lemma 4.6. Corollary 3.30 now finishes the proof. ∎

The following theorem is now proved in analogy with the proof of Theorem 4.12. Following Definition 4.7, any functional defined on BVBV has a ‘weak’ counterpart which has the variation (2.3) as an additional input.

Theorem 4.18 (Third cluster theorem).

Assuming 2\exists^{2}, the following are computationally equivalent:

  • the functional Ω1\Omega_{1}

  • a weak Jordan realiser,

  • a weak continuity realiser,

  • a weak Sierpiński realiser, that is, a Sierpiński realiser restricted to BVBV-functions with known variation,

  • a weak Banach realiser, that is, a Banach realiser restricted to BVBV-functions with known variation.

  • a weak enumeration functional,

  • a weak ΩBW\Omega_{\textup{{BW}}}-functional.

Proof.

The computational equivalence of Ω1\Omega_{1}, a weak Jordan realiser, and a weak continuity realiser modulo 2\exists^{2} follows from (the proof of) Theorem 4.16. Moreover, it is straightforward to prove that Ω1\Omega_{1}, the weak ΩBW\Omega_{\textup{{BW}}}-functional, and a weak enumeration functional (computing the inverse of a surjection from a set XX to {\mathbb{N}}) are computationally equivalent modulo 2\exists^{2}. Finally, the computational equivalence of a weak Sierpiński realiser, a weak Banach realiser, and a weak continuity realiser, can be proved in the same way as for the ‘non-weak’ case, namely as in the proof of Theorem 4.12. ∎

Finally, we identify one functional we believe to be strictly intermediate between the Ω\Omega and Ω1\Omega_{1}-functionals, based on König’s (original) lemmas444The names König’s infinity lemma and König’s tree lemma are used in [wever] which contains a historical account of these lemmas, as well as the observation that they are equivalent; the formulation of König’s lemma involving trees apparently goes back to Beth around 1955 in [bethweter], as also discussed in detail in [wever]. (see [koning147, koning26, koning16]).

Principle 4.19 (König’s lemma KL for real numbers).

Let (En)n(E_{n})_{n\in{\mathbb{N}}} be a sequence of sets in {\mathbb{R}} and let RR a binary relation on reals such that for all nn\in{\mathbb{N}} we have:

  • the set EnE_{n} is finite and non-empty,

  • for any xEn+1x\in E_{n+1}, there is at least one yEny\in E_{n} such that yRxyRx.

Then there is a sequence (xn)n(x_{n})_{n\in{\mathbb{N}}} such that for all nn\in{\mathbb{N}}, xnEnx_{n}\in E_{n} and xnRxn+1x_{n}Rx_{n+1}.

Definition 4.20.

A König realiser takes as input a sequence of sets (En)n(E_{n})_{n\in{\mathbb{N}}} and relation RR as in KL and outputs a sequence as in the latter.

Clearly, the functional Ω\Omega computes a König realiser, which in turns computes Ω1\Omega_{1}.

4.5. Functionals related to absolute continuity

We identify a number of interesting elements in the Ω\Omega-cluster based on the notion of absolute continuity, introduced in Section 4.5.1. As is clear from Sections 4.5.2-4.6, our study deals with both basic notions (arc length and constancy) and fundamental results (fundamental theorem of calculus and Sobolev spaces).

4.5.1. Introduction

In this section, we introduce some required notions, like absolute continuity, and how differentiability applies to BVBV-functions. We tacitly assume all these notions pertain to [0,1][0,1], unless explicitly stated otherwise.

First of all, we make our notion of differentiability precise, as the latter is intimately related to BVBV. Indeed, combining Jordan’s decomposition theorem (Theorem 2.8) and Lebesgue’s theorem on the differentiability of monotone functions (see [botsko2]*Theorem 1 for an elementary proof), a BVBV-function is differentiable almost everywhere (a.e. for short). Moreover, a function that has a bounded derivative on [0,1][0,1], is also a BVBV-function; the latter fact is already mentioned by Jordan right after introducing BVBV-functions (see [jordel]*p. 229). We will bestow the following meaning on ‘derivative of a BVBV-function’.

Definition 4.21.

A derivative of fBVf\in BV is any function g:[0,1]g:[0,1]\rightarrow{\mathbb{R}} such that limh0f(x+h)f(x)h=g(x)\lim_{h\rightarrow 0}\frac{f(x+h)-f(x)}{h}=g(x) for almost all x[0,1]x\in[0,1].

Since our notion of derivative is ‘almost unique’, we shall abuse notation and refer to ‘the’ derivative ff^{\prime} of fBVf\in BV. Definition 4.21 also provides a motivation for focusing on BVBV as the notion of derivative is automatically well-defined.

Next, we define an interesting subclass ACAC of BVBV which additionally satisfies AC[CBV]AC\subset[C\cap BV] where CC is the class of all continuous functions on [0,1][0,1]. The reader will know the existence of continuous functions555The standard example is f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} defined as 0 if x=0x=0 and xsin(1/x)x\cdot\sin(1/x) otherwise; Weierstrass’ ‘monster’ function is also a natural example of a continuous function not in BVBV. not in BVBV.

Definition 4.22.

A function f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} is absolutely continuous (fACf\in AC’ for short) if for every kk\in{\mathbb{N}}, there is NN\in{\mathbb{N}} such that if a finite sequence of pairwise disjoint sub-intervals (xi,yi)(x_{i},y_{i}) of [0,1][0,1] with xi<yi[0,1]{x_{i}<y_{i}\in[0,1]} satisfies i(yixi)<12N{\sum_{i}(y_{i}-x_{i})<\frac{1}{2^{N}}}, then we have i|f(yi)f(xi)|<12k{\sum_{i}|f(y_{i})-f(x_{i})|<\frac{1}{2^{k}}}.

Next, to avoid confusion (but perhaps not pedantry), we briefly recall a technicality related to continuity realisers. As noted below Definition 4.8, Jordan realisers are defined for any BVBV-function while continuity realisers only make direct sense for discontinuous BVBV-functions; for continuous BVBV-functions, the output of a continuity realiser is the enumeration of the empty set as in Notation 2.5.

Finally, the following results will be used often. Interestingly, 3\exists^{3} is equivalent to a functional that decides whether arbitrary [0,1][0,1]\rightarrow{\mathbb{R}}-functions are continuous.

Theorem 4.23.

The following is in the Ω\Omega-cluster: a functional deciding whether fBVf\in BV is continuous on any [a,b][0,1][a,b]\subset[0,1].

Proof.

A continuity realiser (see Definition 4.8) can obviously decide whether fBVf\in BV is continuous or not, namely by using 2\exists^{2} to check whether the output of the former is the sequence \langle\rangle*\langle\rangle*\dots or not. For the reverse direction, a finite set X[0,1]X\subset[0,1] has characteristic function 𝟙X\mathbb{1}_{X} in BVBV. Hence, the latter is continuous on [a,b][0,1][a,b]\subset[0,1] if and only X[a,b]=X\cap[a,b]=\emptyset. In this way, the usual interval-halving technique allows us to find the left-most point of XX. Now remove this point from XX and repeat the same procedure until XX is empty. ∎

The reader will verify that Theorem 4.23 remains true for ‘continuous’ replaced by ‘quasi-continuous’ or ‘lower semi-continuous’ and/or ‘BVBV’ replaced by ‘regulated’. Since any regulated function is cliquish, we cannot go ‘much below’ quasi-continuity in Theorem 4.23. We also have the related following theorem.

Theorem 4.24.

The following is in the Ω\Omega-cluster: a functional deciding whether a regulated f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} has bounded variation on any [a,b][0,1][a,b]\subset[0,1].

Proof.

Given a regulated function f:[0,1]f:[0,1]\rightarrow{\mathbb{R}}, we use Ω\Omega and 2\exists^{2} to enumerate the points of discontinuity of ff (Theorem 4.12). In this case, the supremum in (2.3) can be replaced with a supremum over {\mathbb{N}} (and {\mathbb{Q}}). Hence, we can use 2\exists^{2} to decide if the variation of ff is finite or infinite. To prove the other direction, we consider Ωb\Omega_{\rm b} from the Ω\Omega-cluster (see Section 4.2). Let In=[12n+1,12n]I_{n}=[\frac{1}{2n+1},\frac{1}{2n}] and let ϕn\phi_{n} be the affine bijection from InI_{n} to [0,1][0,1]. Let X[0,1]X\subseteq[0,1] have at most one element. Define f(x):=1nf(x):=\frac{1}{n} if xInx\in I_{n} and ϕn(x)X\phi_{n}(x)\in X, and 0 otherwise. Then ff is always regulated, and it is additionally of bounded variation if and only if XX is empty. Hence, we obtain the functional Ωb\Omega_{\rm b} and we are done. ∎

4.5.2. Connecting differentiability and constancy

In this section, we investigate the computational properties of well-known results pertaining to differentiability almost everywhere.

It is hard to overstate the importance and central nature of derivatives to mathematics, physics, and engineering. In particular, derivatives provide essential qualitative information about the graphs of functions. For example, Fermat’s theorem implies that the local extremum of a differentiable function has zero derivative. Moreover, a continuously differentiable function is constant if and only if if it has zero derivative everywhere.

However, the notion of a.e. differentiability, while seemingly close to the ‘full’ notion, behaves quite differently. Indeed, a function is called singular (see e.g. [gordonkordon]) if it has zero derivative a.e. and a continuous and singular function need not666Cantor’s singular function, aka the Devil’s staircase, is a famous counterexample (see [voordedorst, gordonkordon]) be constant. In particular, plain continuity is too weak to guarantee constancy for singular functions, while ACAC suffices as follows.

Theorem 4.25 ([voordedorst]*Prop. 3.33).

A function on the unit interval is constant if and only if it is in ACAC and singular.

By contraposition, we obtain the functional as in the following theorem.

Theorem 4.26.

The following is in the Ω\Omega-cluster: a functional that on input singular fBVf\in BV outputs x,y[0,1]x,y\in[0,1], which satisfy f(x)f(y)f(x)\neq f(y) in case fACf\not\in AC.

Proof.

For the forward direction, a continuity realiser outputs a sequence (xn)n(x_{n})_{n\in{\mathbb{N}}} enumerating the points of discontinuity of any BVBV-function f:[0,1]f:[0,1]\rightarrow{\mathbb{R}}, if such points there are. For z=xnz=x_{n} with f(z+)f(z)f(z+)\neq f(z-), we readily find x,y[0,1]x,y\in[0,1] such that f(x)f(y)f(x)\neq f(y) by letting xx (resp. yy) be a close enough approximation of zz from the left (resp. the right). As similar approach works in case f(z)=f(z+)f(z)f(z-)=f(z+)\neq f(z). In case ff is continuous, a continuity realiser will output the null sequence. By [kohlenbach2]*Prop. 3.14, 2\exists^{2} can then compute a point x[0,1]x\in[0,1] (resp. y[0,1]y\in[0,1]) where ff attains its maximum (resp. minimum). Since ff is not constant, we have xyx\neq y as required by the theorem.

For the reverse direction, let X[0,1]X\subset[0,1] be finite and consider 𝟙X\mathbb{1}_{X}, which is in BVBV. We may assume X=X\cap{\mathbb{Q}}=\emptyset as μ2\mu^{2} can enumerate all rationals in XX. Clearly, 𝟙X\mathbb{1}_{X} has zero derivative a.e. and for any x,y[0,1]x,y\in[0,1] with 𝟙X(x)𝟙X(y)\mathbb{1}_{X}(x)\neq\mathbb{1}_{X}(y), either xXx\in X or yXy\in X, in case XX\neq\emptyset. Now remove the thus obtained element from XX and repeat the procedure until XX is empty. Note that in case X=X=\emptyset, the reals x,y[0,1]x,y\in[0,1] produced by the functional in the theorem are such that 𝟙(x)=𝟙(y)\mathbb{1}(x)=\mathbb{1}(y), which is decidable given 2\exists^{2}. ∎

The previous result has a certain robustness, as follows. For instance, we can replace ACAC in the theorem by any class BB intermediate between ACAC and CC. A non-trivial example of such class BB is given by the Darboux777A function is called Darboux if it satisfies the intermediate value property, i.e. for any x,yx,y in the domain of ff and zz such that f(x)zf(y)f(x)\leq z\leq f(y), there is uu such that f(u)=zf(u)=z. BVBV-functions (see [voordedorst]*p. 78). Similarly, one can replace ACAC in the theorem by the ‘zero variation space’ CBVCBV by [voordedorst]*Prop. 1.20 or by the class of Darboux functions.

4.5.3. The fundamental theorem of calculus

In this section, we study the computational properties of the second fundamental theorem of calculus.

First of all, the fundamental theorem of calculus (FTC for short) expresses that differentiation and integration cancel out, going back to Newton and Leibniz. It is a central question of analysis to which functions (various versions of) FTC applies. We shall focus on the second FTC, i.e. the integration of derivatives as in:

f(b)f(a)=abf(x)𝑑x,\textstyle f(b)-f(a)=\int_{a}^{b}f^{\prime}(x)~dx, (4.6)

and the general question for which functions f:f:{\mathbb{R}}\rightarrow{\mathbb{R}} (and integrals) and a,b[0,1]a,b\in[0,1] the equality (4.6) holds. As noted above, BVBV-functions are differentiable a.e. and bounded, i.e. the Lebesgue integral 01f(x)𝑑x\int_{0}^{1}f^{\prime}(x)~dx exists ([voordedorst]*p. 222). Nonetheless, the second FTC does not hold for BVBV (see [voordedorst]*p. 252) while it does hold for ACAC. In particular, the following theorem is aptly called the fundamental theorem of calculus for the Lebesgue integral in [voordedorst]*p. 222.

Theorem 4.27.

A function f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} is in ACAC if and only if

  • ff is differentiable a.e. on [0,1][0,1],

  • the derivative ff^{\prime} is in L1L_{1},

  • f(b)f(a)=abf(x)𝑑xf(b)-f(a)=\int_{a}^{b}f^{\prime}(x)~dx for any 0ab10\leq a\leq b\leq 1.

Note that we always have f(b)f(a)abf(x)𝑑xf(b)-f(a)\geq\int_{a}^{b}f^{\prime}(x)~dx for fBVf\in BV by [voordedorst]*p. 238. By the above, we can replace the first item in Theorem 4.27 by ‘fBVf\in BV’ or fBVC`f\in BV\cap C’. By contraposition, Theorem 4.27 then yields the following ‘\forall\exists’ statement:

for fBVACf\in BV\setminus AC with integrable derivative ff^{\prime}, there are a,b[0,1]a,b\in[0,1] for which FTC fails, i.e. the third item in Theorem 4.27 is false.

This ‘\forall\exists’ statement gives rise to the functional in Theorem 4.28, where we use the following definitions. The notion of ‘effectively Riemann integrable’ is well-known888A function is effectively Riemann integrable on [0,1][0,1] if a ‘modulus’ function is given which on input ε>0\varepsilon>0 produces δ>0\delta>0 satisfying the usual ‘ε\varepsilon-δ\delta’ definition of Riemann integrability. in RM and computability theory (see e.g. [sayo]); we could use some effective version of the Lebesgue integral instead.

Theorem 4.28.

The following is in the Ω\Omega-cluster: a functional that on input fBVf\in BV with effectively Riemann integrable derivative ff^{\prime} outputs y[0,1]y\in[0,1], which satisfies f(y)f(0)>0yf(x)𝑑xf(y)-f(0)>\int_{0}^{y}f^{\prime}(x)~dx in case fACf\not\in AC.

Proof.

For the forward direction, a continuity realiser provides a sequence (xn)n(x_{n})_{n\in{\mathbb{N}}} consisting of the points of discontinuity of fBVACf\in BV\setminus AC. Use Feferman’s μ\mu to find the least nn\in{\mathbb{N}} such that f(xn)f(0)>0xnf(x)𝑑xf(x_{n})-f(0)>\int_{0}^{x_{n}}f^{\prime}(x)~dx, if such nn exists. The latter integral can be computed thanks to the (given) modulus of integrability. If there is no such nn\in{\mathbb{N}}, we must have f(y)f(0)>0yf(x)𝑑xf(y)-f(0)>\int_{0}^{y}f^{\prime}(x)~dx for some y[0,1]y\in[0,1] where ff is continuous at yy. Since λz.0zf(x)𝑑x\lambda z.\int_{0}^{z}f^{\prime}(x)~dx is continuous on [0,1][0,1], there must be a rational q[0,1]q\in[0,1] (namely close to the aforementioned y[0,1]y\in[0,1]) such that f(q)f(0)>0qf(x)𝑑xf(q)-f(0)>\int_{0}^{q}f^{\prime}(x)~dx. Since we can find such a rational using μ2\mu^{2}, we are done.

For the reverse direction, proceed as in the proof of Theorem 4.26. Indeed, let X[0,1]X\subset[0,1] be finite and consider f:=𝟙Xf:=\mathbb{1}_{X}, which is in BVBV. We may assume X=X\cap{\mathbb{Q}}=\emptyset as μ2\mu^{2} can enumerate all rationals in XX. Clearly, ff has zero derivative a.e. and abf(x)𝑑x=0\int_{a}^{b}f^{\prime}(x)dx=0 for any a,b[0,1]a,b\in[0,1]. For any y(0,1]y\in(0,1] such that f(y)f(0)>0yf(x)𝑑xf(y)-f(0)>\int_{0}^{y}f^{\prime}(x)~dx, we must have yXy\in X. Now remove this real from XX and repeat the procedure until XX is empty. Note that in case X=X=\emptyset, the real y[0,1]y\in[0,1] produced by the functional in the theorem satisfies f(y)=0f(y)=0, which is decidable given 2\exists^{2}. ∎

The previous theorem is not unique: we show in Sections 4.5.5-4.6 that other characterisations of ACAC yield results similar to Theorem 4.28. The same holds for characterisations of Lipschitz continuous functions, as follows.

4.5.4. Lipschitz continuity

We study the computational properties of the second fundamental theorem of calculus restricted to Lipschitz continuous functions.

First of all, let LipLip be the class of Lipschitz continuous functions, as follows.

Definition 4.29.

A function f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} is Lipschitz continuous on [0,1][0,1] if there exists c+c\in{\mathbb{R}}^{+} with (x,y[0,1])(|f(x)f(y)|c|xy|)(\forall x,y\in[0,1])(|f(x)-f(y)|\leq c|x-y|).

We have LipACLip\subset AC, but the former class can also be singled out as follows.

Theorem 4.30 ([voordedorst]*Thm. 3.20 ).

A function is Lipschitz continuous on [0,1][0,1] iff fLf^{\prime}\in L_{\infty} and for all y[0,1]y\in[0,1], we have

f(y)f(0)=0yf(x)𝑑x.\textstyle f(y)-f(0)=\int_{0}^{y}f^{\prime}(x)dx. (4.7)

As noted in the previous section, we always have ‘\geq’ in (4.7) for BVBV-functions. These observations yields the following result, similar to Theorem 4.28.

Theorem 4.31.

The following is in the Ω\Omega-cluster: a functional that on input fBVf\in BV with effectively Riemann integrable fLf^{\prime}\in L_{\infty}, outputs y[0,1]y\in[0,1] which satisfies f(y)f(0)>0yf(x)𝑑xf(y)-f(0)>\int_{0}^{y}f^{\prime}(x)~dx in case fLipf\not\in Lip.

Proof.

For the reverse direction, note that 𝟙X\mathbb{1}_{X} for finite X[0,1]X\subset[0,1] is not Lipschitz (unless X=X=\emptyset) while the 0-function is clearly bounded (and hence in LL_{\infty}). For the foward direction, proceed as in the proof of Theorem 4.28. ∎

We now sketch similar results based on the above; details may be found in [voordedorst].

Remark 4.32 (Subspaces of BVBV).

First of all, Riesz’ notion of ‘pp-variation’ gives rise to the space RBVpRBV_{p}, strictly intermediate between LipLip and ACAC for 1<p<1<p<\infty. Riesz also showed that RBVpRBV_{p} contains exactly those ACAC-functions with derivatives in LpL_{p} (see [voordedorst]*Thm. 3.34). Hence, we could repeat the above results for pp-variation and LpL_{p}-integrability, and we would obtain the same results as in Theorem 4.31. The same holds for the Riesz-Medvedev variation, which generalises Riesz’ variation.

Secondly, the Hölder continuous functions (called α\alpha-Lipschitz in [voordedorst]) form an intermediate space between LipLip and ACAC, i.e. there are results like Theorem 4.31 involving Hölder continuity.

Thirdly, for fACf\in AC, we have fLipf\in Lip iff |f||f^{\prime}| is bounded ([royorg]*p. 112, §20.b). Hence, we can reformulate the results in this section using the condition of having a bounded derivative (in the sense of Definition 4.21). By [poki]*Theorem 1.1, there are many other equivalent characterisations of ACAC. Another alternative characterisation of LipLip is via the notion of super bounded variation ([rijnwand]*Thm 1.1.22).

Finally, in the next sections, we study (more) well-known characterisations of ACAC. Since our results are similar to Theorem 4.28, we shall be brief.

4.5.5. Connecting variation and integration

In this section, we study the computational properties of a characterisation of ACAC that connects variation and integration.

Theorem 4.33 ([voordedorst]*p. 237).

A BVBV-function f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} is in ACAC if and only if

Vab(f)=ab|f(x)|𝑑x,\textstyle V_{a}^{b}(f)=\int_{a}^{b}|f^{\prime}(x)|dx, (4.8)

for all 0ab10\leq a\leq b\leq 1. We always have ‘\geq’ in (4.8) for BVBV-functions.

In this light, we can formulate the computational task in the following theorem.

Theorem 4.34.

The following is in the Ω\Omega-cluster: a functional that on input fBVf\in BV with effectively Riemann integrable ff^{\prime}, outputs y[0,1]y\in[0,1] which satisfies V0y(f)>0y|f(x)|𝑑xV_{0}^{y}(f)>\int_{0}^{y}|f^{\prime}(x)|dx in case fACf\not\in AC.

Proof.

For the reverse direction, the proof of Theorem 4.28 is readily adapted. For the forward direction, it is known that ff is continuous at y[0,1]y\in[0,1] iff λz.V0z(f)\lambda z.V_{0}^{z}(f) is continuous at this point ([voordedorst]*Prop. 1.17, p. 60). Thus, we can proceed in the same way as in the (first part of the) proof of Theorem 4.28. Note that a continuity realiser functional allows us to compute λz.V0z(f)\lambda z.V_{0}^{z}(f) by Theorem 4.12. ∎

4.5.6. Absolute continuity and measure zero sets

In this section, we study the computational properties of a characterisation of ACAC involving the so-called Lusin NN-property (see e.g. [luser]), defined as follows.

Definition 4.35.

A function f:[a,b]f:[a,b]\rightarrow{\mathbb{R}} has the Lusin NN-property if for all measure zero sets N[a,b]{\displaystyle N\subset[a,b]}, the set f(N)={f(x):xN}f(N)=\{f(x):x\in N\} is also measure zero.

Theorem 4.36 (Vitali-Banach-Zaretskij; [voordedorst]*Thm. 3.9).

We have that fACf\in AC is equivalent to the combination of:

  • ff is continuous and BV on [0,1][0,1],

  • ff satisfies the Lusin NN-property on [0,1][0,1].

We could add the Lusin NN-property to the comptutational task in Theorem 4.28. We also have the following more interesting theorem.

Theorem 4.37.

The following is in the Ω\Omega-cluster: a functional that for fBVf\in BV with the Lusin NN-property, outputs x[0,1]x\in[0,1] where ff is discontinuous if fACf\not\in AC.

Proof.

The forward direction is immediate as a continuity realiser enumerates all points of discontinuity of BVBV-functions. For the reverse direction, 𝟙X\mathbb{1}_{X} for finite X[0,1]X\subset[0,1] has the Lusin NN-property as its range is included in {0,1}\{0,1\}. Now proceed as in the (second part of the) proof of Theorem 4.26. ∎

4.5.7. Absolute continuity and arc length

In this section, we study the computational properties of a characterisation of ACAC that involves the fundamental notion of ‘arc length’ or ‘length of a curve’. The (modern) notion of arc length as in (4.9) was already studied for discontinuous regulated functions in 1884, namely in [scheeffer]*§1-2, where it is also claimed to be essentially equivalent to Duhamel’s 1866 approach from [duhamel]*Ch. VI. Around 1833, Dirksen, the PhD supervisor of Jacobi and Heine, already provides a definition of arc length that is (very) similar to (4.9) (see [dirksen]*§2, p. 128), but with some conceptual problems as discussed in [coolitman]*§3.

First of all, Jordan proves in [jordel3]*§105 that BVBV-functions are exactly those for which the notion of ‘length of the graph of the function’ makes sense. In particular, fBVf\in BV if and only if the ‘length of the graph of ff’, defined as follows:

L(f,[0,1]):=sup0=t0<t1<<tm=1i=0m1(titi+1)2+(f(ti)f(ti+1))2\textstyle L(f,[0,1]):=\sup_{0=t_{0}<t_{1}<\dots<t_{m}=1}\sum_{i=0}^{m-1}\sqrt{(t_{i}-t_{i+1})^{2}+(f(t_{i})-f(t_{i+1}))^{2}} (4.9)

exists and is finite by [voordedorst]*Thm. 3.28.(c). In case the supremum in (4.9) exists (and is finite), ff is also called rectifiable. We note that [voordedorst]*Thm. 3.28 contains another interesting property, namely that

Vab(f)L(f,[a,b])Vab(f)+ba,V_{a}^{b}(f)\leq L(f,[a,b])\leq V_{a}^{b}(f)+b-a, (4.10)

which implies that λx.L(f,[a,x])\lambda x.L(f,[a,x]) is continuous at a point y(a,b)y\in(a,b) iff λx.Vax(f)\lambda x.V_{a}^{x}(f) is continuous at this point. As noted above, the latter is equivalent to ff being continuous at y(a,b)y\in(a,b). Moreover, (4.10) suggests that computing Vab(f)V_{a}^{b}(f) or computing L(f,[a,b])L(f,[a,b]) amounts to the same, modulo say 2\exists^{2}.

Secondly, we mention the following theorem that characterises ACAC as those functions for which the arc length equals the well-known integral formula as in (4.11).

Theorem 4.38 (Tonelli; [voordedorst]*p. 238).

A BVBV-function f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} is in ACAC iff

L(f,[0,1])=011+(f(x))2𝑑x.\textstyle L(f,[0,1])=\int_{0}^{1}\sqrt{1+(f^{\prime}(x))^{2}}dx. (4.11)

We always have ‘\geq’ for BVBV-functions in (4.11).

We now have the following theorem.

Theorem 4.39.

The following functionals are in the Ω\Omega-cluster:

  • a functional that for fBVf\in BV with effectively integrable ff^{\prime}, outputs y[0,1]y\in[0,1] which satisfies L(f,[0,y])>0y1+(f(x))2𝑑xL(f,[0,y])>\int_{0}^{y}\sqrt{1+(f^{\prime}(x))^{2}}dx if fACf\not\in AC,

  • a functional that for input fBVf\in BV and y[0,1]y\in[0,1], outputs L(f,[0,y])L(f,[0,y]),

  • a functional that for input fBVf\in BV, outputs nn\in{\mathbb{N}} such that L(f,[0,1])nL(f,[0,1])\leq n.

Proof.

In light of (4.10) and item (x) from Theorem 4.12, the second and third item clearly belong to the Ω\Omega-cluster. For the remaining item, recall that ff is continuous at y(0,1)y\in(0,1) iff L(f,[0,y])L(f,[0,y]) is continuous at yy, as noted below (4.10). Hence, we may proceed as in the proof of Theorem 4.28 to obtain the first item. To obtain Ω\Omega from the first item, the proof of Theorem 4.28 is readily modified, as in the above. ∎

4.6. Functionals related to subspaces of BV

In this section, we (briefly) study the computational properties of twp subclasses of BVBV, namely the Sobolev space W1,1W^{1,1} (Section 4.6.1) and the pseudo-monotone functions (Section 4.6.2). It is well-known that ACW1,1BVAC\subsetneq W^{1,1}\subsetneq BV, with natural counterexamples, as also studied in second-order RM (see [kreupel]).

4.6.1. Functional related to Sobolev spaces

First of all, as discussed in Section 4.5.1, BVBV-functions are differentiable a.e., i.e. it makes sense to talk about ‘the derivative ff^{\prime}’ of fBVf\in BV, as ff^{\prime} is unique up to a set of measure zero. However, we may have fL1f^{\prime}\not\in L_{1} for fBVf\in BV, and W1,1W^{1,1} is essentially the subspace of BVBV-functions with integrable derivatives, with a very specific technical meaning for the latter. In particular, W1,1W^{1,1} collects those L1L_{1}-functions with weak derivative in L1L_{1} (see [ziemer]*Def. 2.1.1), though there is a connection to ‘classical’ derivatives by [ziemer]*Thm. 2.1.4. Sobolev spaces play an important role in PDEs and have their origin in mathematical physics ([sobolev1, sobolev2]).

Secondly, the following theorem implies that we may replace ‘BVBV’ by ‘W1,1W^{1,1}’ in Theorem 4.12 and still obtain computational equivalences. To be absolutely clear, our notion ‘fW1,1f\in W^{1,1}’ refers to the usual999For uL1u\in L_{1}, any vL1v\in L_{1} is a weak derivative of uu if 01u(t)φ(t)𝑑t=01v(t)φ(t)𝑑t{\textstyle\int_{0}^{1}u(t)\varphi^{\prime}(t)\,dt=-\int_{0}^{1}v(t)\varphi(t)\,dt} for all infinitely differentiable functions φ:[0,1]\varphi:[0,1]\rightarrow{\mathbb{R}} with φ(0)=φ(1)=0\varphi(0)=\varphi(1)=0. definition found in the literature.

Theorem 4.40.

The following computational tasks are in the Ω\Omega-cluster.

  • For fW1,1f\in W^{1,1}, provide an enumeration of all points in [0,1][0,1] where ff is discontinuous.

  • For fW1,1f\in W^{1,1}, find supx[0,1]f(x)\sup_{x\in[0,1]}f(x).

Proof.

Since W1,1BVW^{1,1}\subset BV, we only need to show that the items compute e.g. Ωfin\Omega_{\textup{{fin}}}. Now, the function f:=𝟙Xf:=\mathbb{1}_{X} for finite X[0,1]X\subset[0,1] is clearly in W1,1W^{1,1}, since the weak derivative can be taken to be the zero everywhere function. In this way, the first item yields Ωfin\Omega_{\textup{{fin}}}, and the same readily follows for the second item. ∎

Finally, there are other classes related to BVBV and W1,1W^{1,1} which seem worth exploring, following Theorem 4.40.

Remark 4.41.

First of all, SBVSBV is the class of special functions of bounded variation with associated textbook references [langebaard2] and [ambrozijn]*Ch. 4. This space is of importance in the study of the Mumford-Shah functional, defined in the previous references. Since SBVSBV is intermediate between W1,1W^{1,1} and BVBV (see [ambrozijn]*p. 212), we immediately obtain Theorem 4.40 for W1,1W^{1,1} replaced by SBVSBV. In light of the rather technical definition of the latter, we only mention this result in passing.

Secondly, so-called fractional Sobolev spaces (see [nezzahitch] for an overview) generalise Sobolev spaces to non-integer indices. For instance, we have W1,1Ws,1W^{1,1}\subsetneq W^{s,1} for 0<s<10<s<1 by [nezzahitch]*Prop. 2.2. We believe this field to have a lot of potential, but cannot offer more than that.

4.6.2. Functionals related to pseudo-monotone functions

We show that we may weaken ‘BVBV’ in the second cluster theorem to the subclass of pseudo-monotone functions, which is intermediate between monotone and BVBV and which was introduced in [heiligejozef] under a different name.

Definition 4.42 ([voordedorst]*Def. 1.14).

A function f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} is pseudo-monotone if it is bounded and if there is nn\in{\mathbb{N}} such that for any [c,d][c,d]\subset{\mathbb{R}}, the set f1([c,d])f^{-1}([c,d]) is a union of nn (closed, open, half-open, or singleton) intervals.

The fundamental result here is that fgf\circ g is in BVBV for all ff in BVBV iff gg is pseudo-monotone ([heiligejozef]*Theorem 3). The following basic BVBV-function

f(x):={x2sin(1x)0<x10x=0,f(x):=\begin{cases}x^{2}\sin(\frac{1}{x})&0<x\leq 1\\ 0&x=0\end{cases},

is not pseudo-monotone by [voordedorst]*Ex. 1.16. The following extension of the second cluster theorem implies that we may replace ‘BVBV’ by ‘pseudo-monotone’ therein.

Theorem 4.43.

The following computational tasks belong to the Ω\Omega-cluster.

  • For pseudo-monotone f:[0,1]f:[0,1]\rightarrow{\mathbb{R}}, find supx[0,1]f(x)\sup_{x\in[0,1]}f(x).

  • For pseudo-monotone f:[0,1]f:[0,1]\rightarrow{\mathbb{R}}, find nn\in{\mathbb{N}} such that V01(f)nV_{0}^{1}(f)\leq n.

  • For pseudo-monotone f:[0,1]f:[0,1]\rightarrow{\mathbb{R}}, find nn\in{\mathbb{N}} such that for any [c,d][c,d]\subset{\mathbb{R}}, the set f1([c,d])f^{-1}([c,d]) is a union of at most nn (closed, open, half-open, or singleton) intervals.

Proof.

That Ω\Omega can perform the first two itemised operations is immediate from the second cluster theorem (Theorem 4.12). For the third item, since pseudo-monotone functions are in BVBV, the first cluster theorem yields a sequence enumerating all points of discontinuity. With this is in place, we may (equivalently) replace the quantifier over the real numbers c,dc,d in Definition 4.42 by a quantifier over {\mathbb{Q}}. Hence, μ2\mu^{2} can now find the number nn\in{\mathbb{N}} as in Definition 4.42.

Now let X[0,1]X\subset[0,1] be finite and note that 𝟙X\mathbb{1}_{X} is pseudo-monotone. The supremum of 𝟙X\mathbb{1}_{X} lets us decide whether XX is empty (yielding Ωb\Omega_{\textbf{b}}) and an upper bound for V01(𝟙X)V_{0}^{1}(\mathbb{1}_{X}) or for the number nn from Definition 4.42 provides an upper bound on the number of elements in XX (yielding Ω#fin\Omega_{\geq\#\textup{{fin}}}). The first cluster theorem and Lemma 4.6 thus yield Ω\Omega in each case, establishing membership of the Ω\Omega-cluster. ∎

4.7. Functionals related to Caccioppoli sets

In this section, we study the computational properties of Caccioppoli sets, aka finite perimeter sets, which are essentially sets with characteristic function of bounded variation. This concept was pioneered by Caccioppoli himself in [casino, casino2] while textbook references are [maggi], [withmoregusto]*Ch. 1, and [ambrozijn]*§3.3, p. 143. A historical sketch of the topic may be found in [miranda], including the seminal contributions of E. de Giorgio. A novel characterisation of perimeter, independent of the theory of distributions, is presented in [ambrozijn2].

First of all, we need to discuss the exact definition of bounded variation in this context. Indeed, Caccioppoli sets are (always) defined in terms of the total variation of functions of several variables as in e.g. [ambrozijn]*Def. 3.4. The latter notion is (heavily) based on the theory of distributions, but there fortunately is a rather intimate connection to the so-called pointwise variation as in (2.3) for the one-dimensional case. In particular, an [0,1][0,1]\rightarrow{\mathbb{R}}-function that has bounded variation in the sense of item (a) of Definition 2.7, also has finite total variation in the generalised/distributional sense of [ambrozijn]*Def. 3.4, which is immediate by [ambrozijn]*Thm 3.27. In this light, we can use our above definition of bounded variation as follows.

Definition 4.44.

[Caccioppoli set] A (measurable) set EE\subset{\mathbb{R}} is a classical Caccioppoli set if its characteristic function 𝟙E\mathbb{1}_{E} has bounded variation as in item (a) of Definition 2.7 on any [a,b][a,b]\subset{\mathbb{R}}.

The word ‘classical’ in the previous definition of course refers to the use of the ‘classical’ definition of BVBV due to Jordan. We will often omit this adjective.

Secondly, regarding the place of Caccioppoli sets in the mathematical pantheon, we recall the following two facts.

  • A subset of the reals is closed if and only if its characteristic function is upper semi-continuous.

  • A closed set in the sense of second-order RM ([simpson2]*II.5.6) has a (code for a) continuous characteristic function ([simpson2]*II.7.1).

In this light, the study of closed Caccioppoli sets is rather close to the study of RM-closed sets, as BVBV-functions only have countably many points of discontinuity. Nonetheless, we have Theorem 4.45 where RM-closed sets are defined in [simpson2]*II.5.6.

Theorem 4.45.

The following functionals belong to the Ω\Omega-cluster.

  1. (i)

    A functional that takes as input a (closed) Caccioppoli set CC\subset{\mathbb{R}}, an upper bound on CC, and returns supC\sup C.

  2. (ii)

    A functional that takes as input a closed Caccioppoli set CC\subset{\mathbb{R}} and returns an RM-code for CC.

  3. (iii)

    A (Tietze) functional that takes as input a closed Caccioppoli set C[0,1]C\subset[0,1] and f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} continuous on CC, and outputs a continuous g:[0,1]g:[0,1]\rightarrow{\mathbb{R}} such that f=gf=g on CC and supCf=sup[0,1]g\sup_{C}f=\sup_{[0,1]}g.

  4. (iv)

    A (Urysohn) functional that takes as input disjoint closed Caccioppoli sets CiC_{i}\subset{\mathbb{R}} for i=0,1i=0,1 and outputs continuous f:f:{\mathbb{R}}\rightarrow{\mathbb{R}} with f=if=i on CiC_{i}.

  5. (v)

    A (Weierstrass) functional that takes as input a closed Caccioppoli set C[0,1]C\subset[0,1] and f:[0,1]f:[0,1]\rightarrow{\mathbb{R}} continuous on CC, and outputs xCx\in C such that (yC)(|f(y)||f(x)|)(\forall y\in C)(|f(y)|\leq|f(x)|).

Proof.

We first prove that a continuity realiser computes the items in the theorem. Given such a realiser and a set CC as in item (i), the supremum supC\sup C equals a supremum over {\mathbb{N}} (and {\mathbb{Q}}). Indeed, the points of discontinuity of 𝟙C\mathbb{1}_{C} are given by the continuity realiser, while the continuity points only have to be considered (for the supremum) if they are rational. One similarly obtains an RM-code as in item (ii) for CC: for x[0,1]Cx\in[0,1]\setminus C, we can find NN\in{\mathbb{N}} such that B(x,12N)([0,1]C)B(x,\frac{1}{2^{N}})\subset\big{(}[0,1]\setminus C\big{)} as the quantifier over {\mathbb{R}} in the latter formula may be replaced by a quantifier over {\mathbb{N}} (and {\mathbb{Q}}). For item (iii), the various (second-order) versions of Tietze’s extension theorem can all be proved in ACA0\textup{{ACA}}_{0} ([withgusto]) and 2\exists^{2} readily computes an RM-code for the function ff restricted to the RM-code of CC, as well as the extension function g:[0,1]g:[0,1]\rightarrow{\mathbb{R}} from the aforementioned codes. The same approach works for item (iv) by [simpson2]*II.7.3. Item (v) is proved in the same way as 2\exists^{2} computes maxima of continuous functions by [kohlenbach2]*Prop. 3.14.

For the reversals, fix a finite set X[0,1]X\subset[0,1], which is closed and for which 𝟙X\mathbb{1}_{X} has bounded variation. Using item (i), the real supX\sup X yields an element of XX, and repeating this procedure we may enumerate XX, as required for Ωfin\Omega_{\textup{{fin}}}, which is in the Ω\Omega-cluster by Theorem 4.12. Similarly, f(x):=𝟙X(x)f(x):=\mathbb{1}_{X}(x) is continuous on XX, and the continuous extension g:[0,1]g:[0,1]\rightarrow{\mathbb{R}} provided by item (iii) allows us to decide if XX is empty or not (by checking whether (q[0,1])(g(q)>0)(\exists q\in{\mathbb{Q}}\cap[0,1])(g(q)>0)), i.e. we obtain Ωb\Omega_{\textup{b}} and Lemma 4.6 finishes the proof. Items (iv) and (v) yield Ωb\Omega_{\textup{b}} in the same way. ∎

We finish this section with a remark on related topics.

Remark 4.46.

Regarding item (iii), such functionals have been studied for about fifty years under the name simultaneous extenders, starting -it seems- with [lutzer]. The notion of Caccioppoli set is also central to the Pfeffer integral, which is intermediate between the Lebesgue and gauge integral when restricted to the real line (see [peper, peper2]). We have studied the logical properties of the gauge integral and associated Cousin’s lemma/Heine-Borel theorem in [dagsamIII]. A related type of integral is defined in [capo, houhethurz] based on partitions of unity involving BVBV-functions. Such partitions (involving continuous functions) have been studied in both second- and higher-order RM (see [simpson2]*p. 89 and [sahotop]).

Acknowledgement 4.47.

Our research was supported by the Deutsche Forschungsgemeinschaft via the DFG grant SA3418/1-1. Initial results were obtained during the stimulating MFO workshop (ID 2046) on proof theory and constructive mathematics in Oberwolfach in early Nov. 2020. We express our gratitude towards the aforementioned institutions. Finally, we thank John Longley for spotting the error in our lambda calculus and his advise regarding the correction published in [dagsamXV].

References

  • \bibselectallkeida