De l'effectivité du théor`eme de Dini Rapport de stage - ENS Lyon

une hiérarchie des trois représentations proposées dans le livre de Weihrauch, .... More visually, we can say that the following diagram commutes: Σ. ∗ g. //. νM.
1MB taille 1 téléchargements 28 vues
De l’effectivit´e du th´eor`eme de Dini Rapport de stage Sylvain CHEVILLARD Stage effectu´e sous la direction de Vasco Brattka et Klaus Weihrauch Theoretische Informatik 1 FernUniversit¨at Hagen Juin - aouˆt 2004

Table des mati` eres 1 Contexte 1.1 Situation du stage . . . . . . . . . . . . . . . . . . . . . . . . . . ` propos de ce rapport . . . . . . . . . . . . . . . . . . . . . . . 1.2 A

5 5 5

2 Probl´ ematique 2.1 La notion classique de calcul . . . . . . . . . . . . . . . . . . . . 2.2 Calculer avec les r´eels ? . . . . . . . . . . . . . . . . . . . . . . . . 2.3 La notion de repr´esentation . . . . . . . . . . . . . . . . . . . . .

7 7 7 9

3 Effectivit´ e du th´ eor` eme de Dini 3.1 Rappels et remarques sur le th´eor`eme de 3.2 Travaux pr´ec´edents . . . . . . . . . . . . 3.3 Effectivit´e du th´eor`eme par lui-mˆeme . . 3.4 Version effective du th´eor`eme . . . . . . 3.5 Perspectives . . . . . . . . . . . . . . . .

Dini . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

11 11 12 12 13 14

4 Diverses repr´ esentations des fonctions continues 15 4.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2 Essence des principaux r´esultats . . . . . . . . . . . . . . . . . . 15 4.3 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 R´ ef´ erences

18

Annexe A : de l’effectivit´ e du th´ eor` eme de Dini

A

Annexe B : diverses repr´ esentations des fonctions continues

B

3

R´ esum´ e Ce rapport d´etaille le travail que j’ai effectu´e entre le 2 juin et le 19 aoˆ ut 2004, durant un stage d’initiation ` a la recherche. La th´eorie de l’effectivit´e par machine de type-2 (ou TTE, pour Type-2 theory of effectivity) permet de d´efinir une notion de calculabilit´e pour de nombreux objets math´ematiques : nombres r´eels, fonctions continues, parties ouvertes de Rn . Le cœur de cette th´eorie r´eside dans le concept de repr´esentation, qui permet de nommer les objets manipul´es. La TTE offre un cadre particuli`erement agr´eable pour formuler des ques´ tions sur l’effectivit´e de certains th´eor`emes bien connus (« Etant donn´ee une fonction inversible, peut-on effectivement calculer son inverse ? » par exemple), apportant un nouveau regard sur des r´esultats tr`es classiques. Durant mon stage, je me suis int´eress´e ` a la question de l’effectivit´e du th´eor`eme de Dini, qui est un th´eor`eme fondamental en analyse et en topologie. J’ai ´etudi´e la question sous deux angles, apportant ` a la fois des r´esultats n´egatifs (impossibilit´e de r´esoudre par le calcul certaines questions relatives au th´eor`eme de Dini) et des r´esultats positifs. En travail annexe, j’ai ´et´e amen´e ` a me pencher sur diverses repr´esentations classiques de l’ensemble des fonctions continues. J’ai d´ecouvert des subtilit´es mal comprises dans ce domaine, et ´etudi´e relativement compl`etement les probl`emes de repr´esentation li´es au domaine de d´efinition des fonctions.

4

1 1.1

Contexte Situation du stage

J’ai effectu´e mon stage au sein du groupe de travail Theoretische Informatik 1 ` a la FernUniversit¨ at de Hagen en Allemagne. Il s’agit d’un petit groupe dont le th`eme de recherche principal est l’analyse r´ecursive (computable analysis en anglais), c’est `a dire les questions relatives `a la calculabilit´e des objets traditionnellement ´etudi´es en analyse par les math´ematiciens : fonctions continues, espaces m´etriques, espaces de Banach, op´erateurs lin´eaires, etc. Plusieurs notions de calculabilit´e ont ´et´e d´efinies pour les objets math´ematiques traditionnels tels que les nombres r´eels, les fonctions continues, les parties compactes d’un espace m´etrique. Ces notions ne sont pas toutes ´equivalentes mais ont en g´en´eral de grands points communs et ne diff`erent que sur quelques exemples. Cependant, tout le monde ne s’accorde pas encore sur une d´efinition ` ces diff´erentes approches sont associ´es des grands noms tels que universelle. A Turing, Banach, ou encore Markov. La th´eorie utilis´ee dans le laboratoire o` u je me trouvais durant mon stage est la th´eorie de l’effectivit´e par machine de type-2 (en abr´eg´e, TTE, pour Type-2 theory of effectivity). Le mod`ele de calcul utilis´ee est la machine de Turing — un peu modifi´ee, de sorte qu’on l’appelle machine de type 2 — et a ´et´e propos´e rapidement par Turing lui-mˆeme. Cette th´eorie pr´esente l’int´erˆet de s’appuyer sur un mod`ele de calcul tr`es naturel ; en particulier, elle correspond a` un mod`ele raisonnablement impl´ementable dans un ordinateur, au mˆeme titre que l’est la machine de Turing classique. En outre, elle offre une certaine universalit´e, qui permet de d´efinir une notion de calculabilit´e sur des objets math´ematiques tr`es divers : on peut ainsi calculer, dans un mˆeme cadre th´eorique, avec des fonctions continues, des nombres r´eels et des op´erateurs lin´eaires, par exemple. Les approches concurrentes s’attachent g´en´eralement a` d´efinir un concept de calculabilit´e pour un objet donn´e (par exemple, les nombres r´eels) et la d´efinition propos´ee est souvent ad hoc, ce qui ne laisse que peu de marge pour ´etendre le concept `a d’autres objets. Actuellement, la TTE est activement d´evelopp´ee, en particulier par l’´equipe de la Theoretische Informatik 1 dont le directeur, Klaus Weihrauch, a ´ecrit un livre d’introduction ([2]) qui fait r´ef´erence dans le milieu de l’analyse r´ecursive. Mon stage a ´et´e dirig´e d’abord par Vasco Brattka, durant le premier mois. Puis, apr`es le d´epart de Vasco Brattka pour le Department of Mathematics and Applied Mathematics de l’universit´e du Cap, Klaus Weihrauch a pris le relais pour les deux mois restants.

1.2

` propos de ce rapport A

` mon arriv´ee `a Hagen, il m’a fallu d’abord me former a` la TTE, dont je A n’avais que de vagues notions. J’ai lu, a` cette occasion, le livre d’introduction ` cette ´epoque, Vasco Brattka pr´eparait activement le prode Weihrauch ([2]). A gramme de la conf´erence CCA (computability and complexity in analysis) qui devait se tenir a` la mi-aoˆ ut a` Wittenberg en Allemagne. Parmi les travaux soumis, celui du japonais Hiroyasu Kamo ([1]) proposait une ´etude sur l’effectivit´e du th´eor`eme de Dini. Ce travail utilisait un autre formalisme. La TTE devait nous permettre d’exprimer le mˆeme genre de r´esultats mais avec plus de g´en´eralit´e. En outre, certains aspects du probl`eme n’´etaient pas ´etudi´es ce qui laissait 5

encore un large travail d’approfondissement. C’est donc sur ce probl`eme que j’ai commenc´e `a travailler. En cherchant ` simplifier le type de preuves auxquelles on est confront´e lorsqu’on manipule a des fonctions continues, d’une part, et leur domaine de d´efinition, d’autre part (comme c’est le cas pour le th´eor`eme de Dini, o` u le domaine de d´efinition a un rˆ ole `a jouer, en soi), j’ai ´et´e amen´e `a ´ecrire un petit article technique concernant quelques repr´esentations de l’ensemble des fonctions continues. En tentant de corriger une erreur de cet article, j’ai mis en ´evidence une erreur du livre de Weihrauch. J’ai rectifi´e le r´esultat erron´e et j’en ai profit´e pour ´etudier beaucoup plus a` fond la question de la repr´esentation des fonctions continues, qui s’est trouv´ee ˆetre finalement beaucoup plus subtile qu’on ne pensait. Mon stage a donc conduit a` la r´edaction de deux articles ind´ependants : l’article principal, concernant l’effectivit´e du th´eor`eme de Dini, constitue le fil rouge du stage. J’y ´etudie presque compl`etement les questions de calculabilit´e associ´ees `a ce th´eor`eme. On trouvera cet article en annexe A. Le second article est le r´esultat des am´eliorations successives apport´ees au petit rapport technique initial sur la repr´esentation des fonctions continues. De fil en aiguille, il a pris de la consistance, acqu´erant un int´erˆet propre, et pourrait devenir un article ind´ependant. Cependant, je n’ai pas eu le temps de lui donner cette forme. L’article reste donc assez technique et demande une certaine familiarit´e avec la TTE. En particulier, les d´efinitions et les r´esultats classiques ne sont pas rappel´es. On le trouvera en annexe B. Comme les d´efinitions et r´esultats fondamentaux de la TTE sont rappel´es dans le premier article, le second doit pouvoir ˆetre lu ` sans trop de probl`eme. Il restera sans doute un peu abrupt tout de mˆeme. A mon sens, ce second article repr´esente finalement la partie la plus int´eressante du travail que j’ai effectu´e durant mon stage : en corrigeant une erreur du livre de Weihrauch, il apporte un regard nouveau sur la repr´esentation des fonctions continues et soul`eve des subtilit´es qu’on ne soup¸connait pas. ` la fin de mon stage, je suis all´e participer avec le reste de l’´equipe a` la A conf´erence CCA ` a Wittenberg∗ . Ce fut un aboutissement naturel de ces deux mois et de demi de travail puisque j’y ai pr´esent´e mes recherches sur le th´eor`eme de Dini et j’ai confront´e mes r´esultats `a ceux de Kamo. L’exp´erience a ´et´e tr`es enrichissante. Les articles en annexe permettront au lecteur int´eress´e de prendre connaissance des d´etails de mon travail. Le rapport en lui-mˆeme s’attache `a pr´esenter et mettre en valeur les r´esultats importants sans s’attarder sur les points techniques. Il n’est pas n´ecessaire de lire le rapport pour comprendre les articles et r´eciproquement. Le lecteur d´esireux de comprendre la d´emarche que j’ai eue durant mon stage et les grandes lignes de mon travail trouvera ce qu’il cherche dans le rapport. Celui d´esireux de prendre connaissance pr´ecis´ement de mon travail et de mes r´esultats lira de pr´ef´erence les articles eux-mˆemes. Pour comprendre l’article de l’annexe B, il est quand mˆeme recommand´e d’avoir lu a` tout le moins la section 2 de l’article en annexe A (Important preliminary results of the TTE ). Dans la prochaine section, je pr´esente la TTE, ses motivations et ses grandes lignes. Dans chacune des sections suivantes, je d´etaille les grands points de chacun des deux articles. ∗ le

site internet de CCA se trouve ` a l’adresse http://cca-net.de/cca2004/

6

2 2.1

Probl´ ematique La notion classique de calcul

Pour formaliser la notion de calcul, les informaticiens ont introduits divers mod`eles aussi diff´erents que le mod`ele RAM, les mots de Markov, les fonctions r´ecursives de Church-Rosser, ou encore le fameux mod`ele de la machine de Turing. Une sorte de miracle se produit, puisque chacun de ces mod`eles conduit en fait a` la mˆeme notion de calcul. Une conjecture informelle appel´ee la th`ese de Church postule que c’est le cas pour tout mod`ele raisonnable : ainsi, il est permis de dire que le concept de fonction calculable est bien d´efini. Qu’entend-on au juste par calcul ? Intuitivement, il s’agit de manipuler des nombres (c’est `a dire une s´erie de chiffres repr´esentant un nombre), en effectuant des manipulations et des tests : additionner, multiplier, comparer. Mais on veut aussi calculer avec des structures de donn´ees plus complexes : des arbres ou des graphes par exemple. En somme, on utilise un alphabet fini Σ (l’ensemble des chiffres {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} par exemple) et on forme des mots sur cet alphabet (les nombres) que l’on transforme en composant des r`egles ´el´ementaires. Le mod`ele de calcul le plus r´epandu est sans doute la machine de Turing : il s’agit d’une machine abstraite fonctionnant avec des rubans sur lesquels sont ´ecrits caract`eres apr`es caract`eres les mots utilis´es pour le calcul. Chaque ruban est dot´e d’une tˆete de lecture/´ecriture qui lit un caract`ere donn´e. En fonction des caract`eres lus par la machine a` un instant donn´e, et de son ´etat interne, la machine peut utiliser les tˆetes pour ´ecrire un caract`ere, avant de les d´eplacer et de changer d’´etat interne. Chaque machine effectue un calcul : il existe une machine qui additionne deux nombres, une machine qui compare deux nombres, etc. On dit qu’une fonction est calculable s’il existe une machine de Turing qui calcule cette fonction : l’addition, la comparaison, sont calculables. L’avantage de ce mod`ele est qu’il est extrˆemement souple et robuste : on peut consid´erer de nombreuses variantes en ajoutant des rubans, en changeant l’alphabet, en introduisant des rubans en lecture seule, par exemple. Les variantes du mod`ele d´efinissent toujours la mˆeme notion de calcul. En outre, on peut facilement modifier la machine pour obtenir des mod`eles diff´erents et int´eressants : la machine de Turing a` oracle par exemple, est une de ces variantes. Pour calculer avec d’autres structures de donn´ees, on rajoute ´eventuellement des caract`eres `a l’alphabet (des s´eparateurs, des parenth`eses, par exemple) et on manipule les objets par le biais d’un codage appropri´e : par exemple, pour faire du calcul sur les graphes, on peut repr´esenter un graphe G par la liste de ses arˆetes. Ainsi, le mot (A,B)(B,E)(B,D)(E,D)(B,C) repr´esente le graphe de la figure 1. La question qu’on se pose assez naturellement d`es lors est la suivante : peuton calculer avec les nombres r´eels ?

2.2

Calculer avec les r´ eels ?

Il apparaˆıt imm´ediatement que la notion traditionnelle de calcul, telle que d´efinie plus haut, ne peut plus s’appliquer pour les nombres r´eels. Donnonsnous un alphabet fini Σ. Le calcul que nous d´efinissons s’applique aux mots sur l’alphabet (les ´el´ements de Σ∗ ) : chaque mot d´esigne un ´el´ement de l’ensemble avec lequel on veut calculer. Parfois, un mˆeme objet est repr´esent´e par plusieurs 7

Fig. 1 – Un exemple de graphe

B A C E D

mots (c’est le cas des graphes par exemple). L’ensemble avec lequel on calcule a donc au plus la cardinalit´e de Σ∗ , c’est `a dire qu’il s’agit d’un ensemble au plus d´enombrable. L’ensemble des r´eels est trop gros pour qu’on puisse calculer avec, au sens classique du terme. Intuitivement, nous pensons savoir calculer avec les r´eels. Il convient de comprendre ce qui se cache derri`ere cette id´ee intuitive. Grossi`erement, pour tout un chacun, un nombre r´eel est un nombre entier, suivi d’une partie d´ecimale sous forme d’un d´eveloppement ´eventuellement infini. Vient la premi`ere constatation : lorsque nous calculons (au sens num´erique du terme, et non au sens formel) avec des nombres r´eels, nous manipulons un d´eveloppement infini. Il suit une deuxi`eme constatation, qui d´ecoule directement de la premi`ere : nous ne pouvons jamais appr´ehender qu’une partie finie d’un nombre r´eel en un temps fini. Donc, lorsque nous croyons calculer avec un nombre r´eel, nous ne calculons jamais qu’avec une partie finie du r´eel. Et en r´ealit´e, nous calculons, avec cette partie finie, exactement de la mˆeme fa¸con que nous calculons avec les entiers. En somme, calculer avec les r´eels (extrapolons un peu : calculer avec un ensemble de cardinal continu), c’est calculer ∗ par approximations successives. Le calcul ne se finit jamais. Mais si on attendait infiniment longtemps, on approximerait a` la perfection le r´esultat du calcul, c’est `a dire qu’on d´eterminerait parfaitement le r´esultat. Parmi les diverses tentatives de formalisation du calcul sur les r´eels (qui ne sont pas toutes ´equivalentes, contrairement a` ce qu’on observe dans le cadre classique), la TTE est celle qui me paraˆıt correspondre le plus naturellement a` l’´etude intuitive que l’on vient de mener : un r´eel est un mot infini (un ´el´ement de Σω ) ´ecrit sur le ruban d’une machine de Turing. La machine lit les rubans d’entr´ee et, apr`es une lecture finie, calcule le premier caract`ere du r´esultat ; puis, elle se lance dans le calcul du deuxi`eme caract`ere, en lisant, encore une fois, une partie finie des rubans d’entr´ee. Il s’agit d’une variante des machines de Turing classiques, appel´ee machine de type-2 (d’o` u le nom de la th´eorie) : hormis le fait que les mots sur les rubans d’entr´ee sont infinis, que la machine ne s’arrˆete jamais, et qu’elle ´ecrit les caract`eres un `a un sur son ruban de sortie sans ∗ le

mot calculer n’a pas le mˆeme sens lors de sa premi`ere et de sa deuxi`eme utilisation dans cette phrase : la premi`ere fois, il s’agit d’une notion intuitive, que nous sommes en train de d´ efinir ; la deuxi`eme fois, il s’agit du concept bien formalis´e d´ efini plus haut.

8

jamais revenir en arri`ere, la machine est en tout point identique a` une machine classique. Et, comme dans le cas classique, une fonction est dite calculable, s’il existe une machine de type-2 qui la calcule. Le deuxi`eme grand argument en faveur de la TTE est sa souplesse : l’analyse intuitive que nous avons faite pour d´efinir le calcul sur les r´eels a d´ebouch´e sur une conclusion valable pour n’importe quel ensemble de cardinal continu ; si on est capable de repr´esenter un ´el´ement de cet ensemble par approximations finies successives, on peut coder cet ´el´ement par un mot infini contenant toutes ses approximations. Et on calcule classiquement en utilisant les approximations successives pour obtenir des approximations arbitrairement pr´ecises du r´esultat. C’est bien comme ¸ca que l’on pratique pour calculer avec les fonctions continues, par exemple. La TTE, puisqu’elle utilise une machine abstraite, permet de calculer avec n’importe quoi, du moment qu’on sait le coder dans un mot infini. Cette notion de codage acquiert, avec les machines de type-2, une importance capitale. Elle est formalis´ee par la notion de r´epr´esentation, qui est au cœur de la th´eorie et constitue mˆeme un sujet d’´etude a` part enti`ere.

2.3

La notion de repr´ esentation

Consid´erons un ensemble M de cardinal au plus continu. Consid´erons un alphabet fini Σ (contenant au moins deux ´el´ements). On appelle repr´esentation de M toute application (partielle) surjective δ :⊆ Σω → M . Si p ∈ Σω , p est appel´e un δ-nom de δ(p). Intuitivement, δ est la fonction de codage. La surjectivit´e assure que tout ´el´ement de M poss`ede au moins un nom. En revanche, aucune hypoth`ese n’est faite concernant l’injectivit´e, de sorte qu’un mˆeme ´el´ement poss`ede en g´en´eral plusieurs noms. Typiquement, si un nom de x ∈ M est la liste de toutes les approximations de x, cette liste peut ˆetre ´ecrite dans n’importe quel ordre, ce qui conduit a` une infinit´e de noms diff´erents pour un mˆeme ´el´ement x. Dans le cas classique, par exemple pour travailler avec des graphes, on utilise aussi la notion de codage. Dans le langage de la TTE, on parle alors de notation : une notation pour un ensemble d´enombrable N est une application (partielle) surjective η :⊆ Σ∗ → N . Pour comparer les repr´esentations (respectivement les notations) on introduit un pr´eordre : si δ et δ  sont deux repr´esentations d’un ensemble M , on dit que δ est r´eductible a` δ  , et on note δ ≤ δ  , lorsqu’il existe une machine Mδ→δ qui transforme tout δ-nom en un δ  -nom du mˆeme ´el´ement. Le comportement de la machine sur les noms qui ne sont pas dans le domaine de δ est ind´efini (elle peut aussi bien ne pas s’arrˆeter que donner un quelconque r´esultat). Lorsque δ est r´eductible a` δ  et que δ  est r´eductible a` δ, on dit que les repr´esentations sont ´equivalentes et on note δ ≡ δ  . L’´equivalence est une notion tout a` fait naturelle : lors d’un calcul, on peut remplacer toute repr´esentation (respectivement notation) par une repr´esentation ´equivalente, puisque la conversion est faisable par machine de Turing. En g´en´eral, le choix d’une notation n’est pas capital : si η et η  sont deux notations naturelles pour un ensemble N , elles sont ´equivalentes, quasiment `a coup sˆ ur. En revanche, ce n’est plus vrai du tout pour les repr´esentations. Intuitivement, la raison est assez simple : une notation est une description finitiste de l’objet ; la lecture d’un nom se fait en un temps fini, et on appr´ehende l’objet enti`erement `a travers son nom. La notation ´eclaire juste l’objet diff´eremment, mais, fondamentalement, elle n’influe pas sur la connaissance qu’on a de l’objet. 9

Pour les graphes, par exemple, on peut choisir de lister les arˆetes ou de coder toutes les paires de sommets en indiquant `a chaque fois la pr´esence ´eventuelle d’une arˆete. La complexit´e des algorithmes peut s’en trouver modifi´ee, mais pas la calculabilit´e : dans tous les cas, on connaˆıt compl`etement le graphe `a la lecture de son nom. Le probl`eme devient plus subtil avec les repr´esentations : revenons sur l’id´ee d’approximations successives. Il y a de multiples fa¸cons d’approximer un objet, et la lecture finie d’une suite d’approximations ne donne jamais qu’une approximation de l’objet. C’est-` a-dire qu’une lecture finie ne nous permet que d’identifier un voisinage — arbitrairement pr´ecis — de l’objet. En particulier, aucune machine ne prend jamais compl`etement connaissance de l’objet. Il r`egne toujours un certain flou, une zone d’ombre dans l’information dont on dispose sur l’objet. Du coup, des repr´esentations tr`es naturelles peuvent n’ˆetre pas du tout ´equivalentes. Prenons l’exemple concret des nombres r´eels : on peut repr´esenter un r´eel x par une suite croissante (qi )i∈N de rationnels convergeant vers x. Chaque ´el´ement de la suite est une approximation de x ; mais sans autre information sur la vitesse de convergence, c’est une bien pi`etre approximation puisqu’on ne peut en mesurer la pr´ecision. Une autre fa¸con de repr´esenter x pourrait ˆetre de dresser la liste de tous les intervalles ouverts `a bornes rationnelles contenant x. Cette fois, l’approximation est nettement meilleure puisque la liste contient des intervalles de taille arbitrairement petite ce qui permet de mieux cerner x. On voit que la deuxi`eme repr´esentation est r´eductible a` la premi`ere (il est facile de tirer une suite croissante de la liste des intervalles) alors que le contraire n’est pas vrai. Ces deux repr´esentations tout a` fait naturelles ne sont pas ´equivalentes. Deux notions tr`es importantes se sont d´egag´ees de cette pr´esentation rapide : les notions d’information et de voisinage. Je ne m’attarderai pas sur la seconde : disons simplement que les approximations successives d’un objet d´efinissent naturellement des voisinages de l’objet ; de l` a `a d´efinir une topologie sur l’espace repr´esent´e, il n’y a qu’un pas. Et cette topologie — qui, par construction, est une topologie faite pour le calcul — entretient des rapports tr`es ´etroits avec le calcul : la calculabilit´e d’une fonction vis-` a-vis de deux repr´esentations entraˆıne sa continuit´e vis-`a-vis des topologies associ´ees ; souvent, des propri´et´es topologiques permettent de d´eduire la non-calculabilit´e. Mais ce qui est surtout int´eressant, ce sont les liens entre repr´esentation et information. D’un certain point de vue, chaque approximation d’un objet nous apporte une petite information sur lui. Pour reprendre les repr´esentations des r´eels introduites plus haut, chaque rationnel de la suite nous indique que le r´eel repr´esent´e est au-dessus d’une certaine borne, et cette borne grandit petit a` petit ; et chaque intervalle de la deuxi`eme repr´esentation nous indique que le r´eel se trouve confin´e dans un certain espace et qu’il n’est pas ailleurs. La somme de toutes ces petites informations permet de d´efinir parfaitement l’objet. Certaines repr´esentations sont plus riches en informations que d’autres : si δ ≤ δ  , on peut dire que δ contient plus d’information sur l’objet que δ  . Chaque repr´esentation apporte son lot d’information sur l’objet, et laisse des coins d´efinitivement dans l’ombre. Par exemple, aucune des deux repr´esentations des r´eels pr´esent´ees plus haut ne permet de d´eduire d’un r´eel x une fraction rationnelle convergeant vers lui. Le r´eel x est pourtant parfaitement d´efini, toutes ses propri´et´es sont fix´ees, mais certains aspects du r´eel nous demeurent `a jamais inconnus : un δ-nom d´efinit parfaitement l’objet qu’il repr´esente. Il contient donc en lui toute l’information concernant cet objet. Mais une partie de cette 10

´ information nous est inaccessible par le calcul. Etudier la hi´erarchie form´ee par plusieurs repr´esentations d’un mˆeme ensemble M nous apprend donc des choses sur M lui-mˆeme, en nous indiquant quelle information est d´eductible de quelle autre. Et cela apporte parfois quelques surprises, car certaines repr´esentations se r´ev`elent ´equivalentes alors qu’elles semblent apporter des informations tr`es diff´erentes sur l’objet. L’objet de tout mon article technique (voir annexe B) est d’´etudier la hi´erarchie form´ee par certaines repr´esentations des fonctions continues. Cette ´etude rentre dans le cadre de la th´eorie de la repr´esentation, qui, comme on l’aura compris, a largement de quoi former a` elle seule une branche enti`ere de la TTE.

3

Effectivit´ e du th´ eor` eme de Dini

Dans les deux sections qui viennent, je vais d´etailler plus pr´ecis´ement ce que j’ai fait durant mon stage. Mes sujets de recherche m’ont amen´e `a ´ecrire deux articles tr`es diff´erents qu’on trouvera en annexe. Puisque tous les d´etails techniques se trouvent dans les articles eux-mˆemes, je renvoie le lecteur aux annexes pour de plus amples informations, et je vais m’attacher dans le rapport lui-mˆeme `a mettre en lumi`ere les points importants de mon travail, les difficult´es, et les r´esultats. Cette section correspond `a l’article principal (annexe A) et la section suivante, a` l’article plus technique (annexe B).

3.1

Rappels et remarques sur le th´ eor` eme de Dini

Le th´eor`eme de Dini est un r´esultat fondamental en analyse et en topologie. Lorsqu’on travaille avec des suites de fonctions, on a le choix entre de nombreuses notions de convergence, suivant la topologie que l’on d´ecide de mettre sur l’ensemble de fonctions : convergence simple, convergence uniforme, convergence en moyenne, convergence quadratique. La convergence simple est la plus g´en´erale : on dit qu’une suite de fonctions (fi )i∈N (fi : X → Y ) converge simplement vers g si pour tout point x de X, la suite (fi (x)) converge vers g(x). Cette convergence correspond `a la topologie produit, qu’on peut d´efinir d`es que Y est muni d’une topologie. Si Y est muni d’une structure m´etrique, on peut d´efinir la convergence uniforme, qui correspond `a la distance de la norme infinie. On pose d∞ (f, g) = sup{d(f (x), g(x))}x∈X . Si d∞ (fi , g) → 0, on dit que la suite fi converge uniform´ement vers g. La convergence uniforme entraˆıne toujours la convergence simple, mais la r´eciproque est fausse en g´en´eral. Cependant, la convergence uniforme est bien plus riche que la convergence simple de sorte qu’on pr´ef`ere habituellement l’utiliser. Le th´eor`eme de Dini permet justement de transformer une convergence simple en convergence uniforme : c’est ce qui le rend particuli`erement important. En voici l’´enonc´e. Th´ eor` eme 3.1 (Dini). Soit X un espace topologique compact. Si (fi )i∈N (fi : X → R) est une suite de fonctions continues, convergeant simplement vers une fonction continue g et telle que pour tout x ∈ X, (fi (x))i∈N est une suite croissante, alors, la convergence est uniforme. L’objet de l’article pr´esent´e en annexe A est d’´etudier dans quelle mesure on peut rendre ce th´eor`eme effectif, en utilisant le formalisme de la TTE. 11

3.2

Travaux pr´ ec´ edents

Apr`es quelques semaines de stage — pass´ees `a me former `a la TTE — nous avons commenc´e `a chercher un sujet sur lequel je pourrais travailler. Parmi les travaux soumis pour la conf´erence CCA figurait celui du japonais Kamo ([1]) sur le th´eor`eme de Dini. C’est, `a notre connaissance, le seul travail sur le sujet qui ait ´et´e fait a` ce jour. Cependant, ce travail restait assez incomplet. Tout d’abord, il utilisait un autre formalisme, moins puissant que la TTE. Les r´esultats ´etaient directement convertibles pour la TTE, mais on pouvait, sans trop d’effort, utiliser la puissance de la TTE pour obtenir des r´esultats plus g´en´eraux. Le formalisme utilis´e par Kamo lui permettait uniquement de formuler son th´eor`eme sous la forme « sur un espace effectivement compact, une suite de fonctions calculables convergeant en croissant vers une fonction calculable converge effectivement vers elle » : c’est `a dire qu’il se place dans un espace ayant certaines propri´et´es de calculabilit´e (espace effectivement compact) et qu’il ne consid`ere que des fonctions calculables. Grˆ ace `a la th´eorie de la repr´esentation, on peut, dans un mˆeme cadre formel, manipuler des compacts, des suites de fonctions, des fonctions, et ´etudier une convergence (par le biais d’un module de convergence). On peut donc formuler le mˆeme genre de th´eor`eme sous une forme plus g´en´erale, en disant « soit un nom d’un compact, soit un nom pour une suite de fonctions continues convergeant en croissant vers une fonction continue dont on connaˆıt un nom, alors, on peut calculer un nom d’un module de convergence ». Non seulement on ne demande plus aux objets en hypoth`ese d’ˆetre calculables et on travaille juste avec des noms, mais en plus, on indique qu’on peut obtenir effectivement le module de convergence a` partir des noms donn´es en hypoth`eses. C’est-`a-dire que l’effectivit´e ne se situe plus dans les hypoth`eses mais dans la fa¸con de les utiliser pour obtenir la conclusion. En particulier, le th´eor`eme de Kamo apparaˆıt comme un corollaire de celui formul´e dans la TTE. On pouvait donc esp´erer plus de g´en´eralit´e, en soi. Mais en plus, on pouvait ´etudier le rˆ ole des repr´esentations choisies dans ce th´eor`eme : si on change de repr´esentation, reste-t-il vrai ? En r´ealit´e, le r´esultat obtenu d´epend de la repr´esentation choisie, ce que j’ai pu montr´e, et que Kamo ne pouvait mˆeme pas formuler. En outre, Kamo n’abordait pas la question de l’effectivit´e du th´eor`eme par lui-mˆeme, ce qui laissait encore un peu de place `a l’´etude. C’est ainsi que nous avons d´ecid´e de travailler sur le probl`eme de Dini, afin de g´en´eraliser les r´esultats de Kamo. Cela ´etant, vu le temps, je n’ai pu ´etudier la question que dans le cas o` u l’ensemble de d´efinition est un compact de Rn . Kamo, quant a` lui, formule son th´eor`eme dans le cadre plus g´en´eral d’un espace m´etrique quelconque (du moment qu’il est effectivement compact). Sur ce point, le travail de Kamo est incontestablement plus g´en´eral que le mien. Mais la TTE offrira, sur ce terrain aussi, des r´esultat plus g´en´eraux que ceux de Kamo lorsque l’´etude aura ´et´e men´ee jusqu’au bout.

3.3

Effectivit´ e du th´ eor` eme par lui-mˆ eme

La premi`ere question que je me suis pos´ee a ´et´e de savoir dans quelle mesure le th´eor`eme ne poss´edait pas une certaine effectivit´e par lui-mˆeme : plus pr´ecis´ement, je m’interrogeais sur la possibilit´e de calculer la fonction limite. ` vrai Tous mes r´esultats ont ´et´e n´egatifs : cette voie ne semble pas excellente. A 12

dire, rien ne laisse pr´esager des r´esultats positifs, mais il fallait tout de mˆeme chercher quelques contre-exemples pour s’en convaincre d´efinitivement. Il s’agit en fait d’ajouter des hypoth`eses de calculabilit´e pour la suite de fonction et de voir dans quelle mesure cela peut conduire `a une conclusion de calculabilit´e pour la fonction limite. La convergence est uniforme et se fait en croissant : il n’est pas interdit de penser que si les fonctions de la suite sont calculables, la limite le sera aussi. Mes trois r´esultats tournent autour de cette question dont la r´eponse est n´egative : les fonctions de la suite peuvent ˆetre calculables sans que la limite le soit. J’ai cherch´e `a renforcer les hypoth`eses, mais sans succ`es. Si on suppose que la suite elle-mˆeme est calculable (ce qui implique que les fonctions le sont), on n’obtient rien de mieux ; si on suppose en outre que la limite est calculable et qu’on cherche a` d´eduire un algorithme calculant la limite d’un algorithme calculant la suite, on obtient encore une fois une r´eponse n´egative. Apr`es cette ´etude rapide qui s’est r´ev´el´ee peu concluante, je me suis attel´e `a l’´elaboration d’une version effective du th´eor`eme, dans le formalisme de la TTE.

3.4

Version effective du th´ eor` eme

Regardons `a nouveau le th´eor`eme de Dini : en hypoth`ese, on a un compact, une suite de fonctions continues, une fonction continue qui est limite croissante de la suite. Et en conclusion, on a l’uniformit´e de la convergence. Si on veut copier cette d´emarche dans un cadre effectif, cela donnerait : on cherche `a savoir si une certaine fonction est calculable. Cette fonction prend en entr´ee : le nom d’un compact, le nom d’une suite de fonctions continues, le nom de la limite continue de cette suite. On pourrait imaginer qu’elle prenne aussi un objet qui atteste que les autres hypoth`eses sont respect´ees : par exemple une preuve que la fonction limite est bien limite, et que la convergence se fait en croissant. En sortie, la fonction donne un objet qui atteste de l’uniformit´e de la convergence. Une r`egle g´en´erale de la TTE consiste `a ne pas se soucier du domaine de d´efinition des fonctions. La question du domaine est tr`es d´elicate (c’est d’ailleurs la principale subtilit´e que j’ai mise en lumi`ere dans l’article technique de l’annexe B) et conduit a` des probl`emes embˆetants quand on essaie de la maˆıtriser. Il n’est jamais judicieux de limiter artificiellement le domaine. Nous avons vu que la machine Mδ→δ , qui ´etablit la r´eduction entre deux repr´esentations, a un comportement non sp´ecifi´e hors du domaine de δ : on n’essaie pas de limiter artificiellement le domaine en demandant `a la machine de diverger hors du domaine par exemple. Les tentatives de d´efinition limitant le domaine de cette fa¸con ont toujours conduit a` des r´esultats st´eriles. Dans la TTE, on demande `a ce que les fonctions se comportent bien sur leur domaine, et on leur autorise a` se comporter n’importe comment ailleurs. Le th´eor`eme de Dini ne d´eroge pas a` la r`egle : on laisse donc tomber l’id´ee de fournir a` la machine une preuve de la croissance de la convergence et une preuve attestant que la fonction limite est bien limite de la suite ; ce qui compte, c’est que la fonction se comporte bien lorsque ces hypoth`eses sont respect´ees. Lorsqu’elles ne le sont pas, la fonction est autoris´ee `a faire ce qu’elle veut. On peut cependant remarquer que dans le cas de Dini, le domaine est co-r´ecursivement ´enum´erable, vu qu’on s’aper¸coit en un temps fini que la suite n’est pas croissante ou que la fonction limite n’est pas limite : il suffit de calculer et de s’arrˆeter si quelque chose cloche. Reste `a savoir quel objet peut attester de l’uniformit´e de la convergence. 13

Il est connu qu’une suite (fi )i∈N converge uniform´ement vers une fonction g si et seulement si il existe un module de convergence, c’est-` a-dire une fonction h : N → N telle que ∀k ∈ N, ∀x, ∀i ≥ h(k), |g(x) − fi (x)| < 2−k

.

Voil` a donc un objet tout trouv´e pour notre probl`eme. Nous avons donc la formulation d´efinitive : Question 1. Y a-t-il une machine qui prenne en entr´ee le nom d’un compact, d’une suite de fonctions continues convergeant en croissant vers une fonction continue, le nom de la limite, et qui renvoie un module de convergence pour la suite ? Si la r´eponse est positive, un corollaire direct est que, si on suppose que le compact, la suite et la limite sont calculables, alors, il existe un module de convergence calculable ; cela constitue peu ou prou l’´enonc´e du th´eor`eme de Kamo. Reste une question d´elicate : celui du choix des repr´esentations employ´ees. Pour la suite de fonctions et la limite, il n’y a pas vraiment de probl`eme : les subtilit´es de la repr´esentation des fonctions continues proviennent de la fa¸con dont on s’occupe du domaine de d´efinition des fonctions (encore une fois le domaine !). Mais ici, le domaine est sp´ecifi´e (il s’agit du compact, lequel est donn´e en argument). D`es lors, toute repr´esentation raisonnable (i.e. telle qu’on puisse ´evaluer la fonction en tout point du domaine) convient. En revanche, pour le compact, le choix de la repr´esentation est assez d´elicat. Dans le cas r´eel, qui est celui que j’ai trait´e, il y a deux repr´esentations naturelles pour l’ensemble des compacts : une repr´esentation qui donne des informations sur l’int´erieur du compact, et une autre qui donne des informations sur l’ext´erieur du compact. J’ai montr´e que pour la premi`ere repr´esentation, il n’y avait pas de fonction calculable satisfaisante ; pour la seconde, en revanche, la question obtient une r´eponse positive. Voil`a bien un exemple o` u l’on voit que le choix de la repr´esentation est crucial et que l’information que l’on poss`ede sur l’objet peut d´eterminer des propri´et´es calculatoires de cet objet. En plus de ce th´eor`eme principal, j’ai ´etudi´e la question de l’existence d’une fonction de choix ; j’ai aussi montr´e que le th´eor`eme apparaissait comme une g´en´eralisation d’un r´esultat concernant les suites r´eelles et j’en ai d´eduit un corollaire simple parmi d’autres. Je renvoie le lecteur `a l’article en annexe pour de plus amples d´etails.

3.5

Perspectives

Le travail que j’ai effectu´e sur ce probl`eme est complet, en ce qui concerne le cas o` u le compact est une partie de Rn . Pour finir cette ´etude, je voulais m’atteler a` la mˆeme question, mais dans le cadre g´en´eral d’un espace m´etrique. Le probl`eme vient de la repr´esentation des compacts : il existe de nombreuses repr´esentations naturelles des compacts, qui sont toutes ´equivalentes dans le cas r´eel, mais qui diff`erent dans le cas g´en´eral d’un espace m´etrique. Il faut donc ´etudier le probl`eme pour chaque repr´esentation : si la r´eponse `a la question est positive, il faut le montrer, et si la r´eponse est n´egative, il faut en fournir un contre-exemple. Le temps m’a manqu´e pour attaquer le probl`eme. La preuve 14

que j’ai faite dans le cas r´eel doit probablement pouvoir s’adapter dans le cas m´etrique, pour la repr´esentation correspondante. Mais tout le travail reste a` faire pour les autres repr´esentations. Il n’est pas impossible que cette ´etude, outre son int´erˆet propre dans la recherche d’une version effective du th´eor`eme de Dini, nous apprenne des choses int´eressantes sur l’information contenue dans chacune de ces repr´esentations.

4 4.1

Diverses repr´ esentations des fonctions continues Contexte

Le livre de Weihrauch ([2]) introduit des repr´esentations des fonctions continues, mais s’attarde peu sur la question. En outre, la plupart du temps, il ne s’embarasse pas de la question du domaine de d´efinition des fonctions, en ne travaillant qu’avec des fonctions totales. Pour le th´eor`eme de Dini, on utilise des fonctions non totales, puisqu’on s’int´eresse `a des fonctions d´efinies sur une partie compacte de Rn , c’est `a dire en particulier born´ee. Il m’a donc fallu adapter des th´eor`emes pr´esent´es dans le livre pour des fonctions totales, afin de les utiliser dans le cas de fonctions partielles. Afin de placer ces r´esultats dans un cadre g´en´eral, j’ai commenc´e `a r´ediger une note technique traitant de la repr´esentation des fonctions continues, dans le cas o` u on poss`ede un nom du domaine. Deux choses sont venues transformer cette note technique : d’une part, en essayant de corriger une erreur dans une preuve, je me suis aper¸cu qu’une preuve du livre de Weihrauch ´etait imparfaite. Apr`es examen, nous avons compris qu’elle ´etait imparfaite pour la simple raison qu’elle d´emontrait un th´eor`eme faux. Il nous fallait encore trouver un contre-exemple digne de ce nom pour montrer ce qui n’´etait encore qu’une forte intuition. D’autre part, au fil du temps, une impression confuse s’est ´eclaircie dans ma tˆete, a` propos des liens subtils qu’entretient une fonction avec son domaine de d´efinition, dans le cadre de la TTE. Des r´esultats compl´ementaires sont venus s’ajouter a` la note originale, en mˆeme temps que le contre-exemple au th´eor`eme du livre. Finalement, la note a pris la forme d’un article complet, mais reste tr`es technique et sans doute dure `a lire pour quelqu’un qui ne connaˆıt pas d´ej`a quelques d´efinitions importantes de la TTE : je n’ai pas eu le temps d’ajouter une partie de rappels. La deuxi`eme section de l’article sur le th´eor`eme de Dini doit pouvoir la remplacer faute de mieux.

4.2

Essence des principaux r´ esultats

D’o` u vient le probl`eme qui motive cet article ? En fait tout commence par un constat tout `a fait banal : l’ensemble des fonctions (partielles ou totales) continues de R dans R est un ensemble dont le cardinal est strictement plus grand que continu. Pire, si on se limite aux fonctions constantes a` 0 sur leur domaine, on a d´ej` a un ensemble isomorphe a` l’ensemble des parties de R qui est d´ej`a de cardinal plus grand que continu. Le corollaire tout aussi banal : cet ensemble ne peut pas ˆetre repr´esent´e. Comme les fonctions continues sont un objet fondamental, on ruse un peu. La solution consiste a` limiter le domaine de 15

d´efinition. Dans le livre de Weihrauch, le domaine A est fix´e par avance, et on repr´esente en r´ealit´e l’ensemble des fonctions continues totales de A dans R. Le probl`eme est que, alors, un mˆeme mot est a` la fois un nom pour une certaine fonction f : A → R et pour une autre fonction g : B → R avec A = B. Deux remarques s’imposent : le domaine de d´efinition acquiert une certaine importance, puisqu’il d´etermine la repr´esentation utilis´ee ; et par ailleurs, aucune trace de ce domaine ne se trouve dans le nom de la fonction. Ce que j’ai compris en corrigeant l’erreur du livre de Weihrauch, c’est que cette double remarque avait une importance capitale d`es lors qu’on essaye de comparer ces repr´esentations. Comme je travaillais dans un contexte o` u un nom du domaine m’´etait fourni (pour le th´eor`eme de Dini, on a un nom du compact), je travaillais avec des repr´esentations qui se pr´esentaient comme des couples : un nom du domaine, et un nom de la fonction. Suivant la repr´esentation choisie pour le domaine, je me suis aper¸cu que les diverses repr´esentations des fonctions continues ´etaient ou n’´etaient pas ´equivalentes. Certains r´esultats sont tout `a fait surprenants ; un changement de la repr´esentation du domaine implique un changement dans la hi´erarchie des repr´esentations des fonctions continues : l’information sensible `a propos d’une fonction ne se situe pas dans la mani`ere de la repr´esenter (devrait-on dire, de la calculer), mais dans la fa¸con de repr´esenter son domaine. Dans l’article, je d´eveloppe simultan´ement deux ´etudes compl´ementaires : je d´efinis un certain nombre de repr´esentations de l’ensemble C(⊆ Rn , Rm ) des fonctions (partielles ou totales) continues de Rn dans Rm ayant un domaine ferm´e, par adjonction du nom du domaine au nom de la fonction. J’obtiens ainsi 8 repr´esentations a priori diff´erentes dont j’ai ´etudi´e la hi´erarchie. En restreignant ces repr´esentations aux fonctions dont le domaine est A, j’obtiens une hi´erarchie de repr´esentations de l’ensemble C(A, Rm ). En corollaire, j’obtiens une hi´erarchie des trois repr´esentations propos´ees dans le livre de Weihrauch, suivant la nature plus ou moins (calculatoirement) complexe du domaine. Ce corollaire est l’aboutissement de l’article : c’est lui qui corrige l’erreur initiale du livre, et explique quelle hypoth`ese rajouter pour r´etablir le th´eor`eme.

4.3

Perspectives

Ce travail est certainement ma contribution principale pour ce stage. Il apporte un regard relativement neuf sur le probl`eme de la repr´esentation des fonctions continues et constitue donc une petite pierre de la th´eorie elle-mˆeme, alors que le travail sur le th´eor`eme de Dini ne constitue gu`ere qu’une application de la th´eorie. La comparaison de toutes ces repr´esentations est parfois un peu laborieuse, mais souvent tr`es amusante car les contre-exemples sont assez vari´es et les r´esultats souvent fins et surprenants. En guise de perspectives, on pourrait sans doute faire le mˆeme travail dans le cas o` u le domaine est ouvert. Mais il n’est pas dit que les r´esultats seraient aussi riches. En effet, la preuve du th´eor`eme du livre de Weihrauch reste vraie dans le cas ouvert. Il est assez intriguant de constater que le th´eor`eme est vrai dans le cas ouvert et pas dans le cas ferm´e. Mais du coup, il est possible qu’on ne d´ecouvre rien de bien passionnant de ce cˆot´e. Une autre petite question relative au th´eor`eme de Dini demeure : dans le cas o` u le compact est d´esign´e par un nom donnant des informations sur l’int´erieur, j’ai montr´e qu’il n’existait pas de machine capable de donner un module de 16

convergence. Cependant, cette preuve s’appuie sur une discontinuit´e lorsqu’on modifie le compact. Or mon article technique montre que certains r´esultats faux dans le cas de C(⊆ Rn , Rm ) deviennent vrais quand on se restreint a` C(A, Rm ) : en d’autres termes, selon qu’on s’autorise ou non a` faire varier le domaine, on n’obtient pas forc´ement la mˆeme chose. Il serait donc int´eressant de regarder quelle est la r´eponse `a la question suivante : Question 2. Soit K ⊆ Rn un compact. Existe-t-il une machine qui, ´etant donn´e un nom d’une suite de fonctions continues tendant en croissant vers une fonction continue, et un nom de la limite (nom donn´e avec une repr´esentation de C(K, Rm )), donne un nom d’un module de convergence pour la suite ? La conjecture est que la r´eponse est n´egative : on ne voit pas bien ce qui peut changer quoique ce soit ici, entre l’utilisation d’une repr´esentation de C(K, Rm ) et l’utilisation de la repr´esentation de C(⊆ Rn , Rm ) correspondante. Cependant, je n’ai pas eu le temps de me pencher sur la question durant mon stage, et aucun contre-exemple n’est encore connu.

17

R´ ef´ erences [1] Hiroyasu Kamo. Effective dini’s theorem on effectively compact metric spaces Preliminary version. Electronic Notes in Theoritical Computer Science, 2004. URL : http ://www.elsevier.nl/locate/entcs. [2] Klaus Weihrauch. Computable Analysis. Springer, first edition, 2000.

18

Annexe A : article sur l’effectivit´ e du th´ eor` eme de Dini

A

About the effectivity of Dini’s theorem Sylvain Chevillard

Contents 1 Problematic 1.1 Definition of the problem . . . . . . . . . . 1.2 Real functions and computability . . . . . . 1.2.1 Computing with real numbers . . . . 1.2.2 Computing with real functions . . . 1.2.3 Computing with some subsets of Rn 1.3 Effectivity of Dini’s theorem . . . . . . . . . 1.3.1 Effectivity of the theorem by itself . 1.3.2 Effective version of the theorem . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

1 1 2 3 4 5 5 6 6

2 Important preliminary results of the TTE 2.1 Fundamental results of the theory . . . . . 2.2 Several important representations. . . . . . . 2.2.1 . . . to work with real numbers . . . . 2.2.2 . . . to work with continuous functions 2.2.3 . . . to work with subsets of Rn . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

7 8 11 12 14 16

3 Variations around Dini’s theorem in the real case 17 3.1 About the effectivity of the classical theorem . . . . . . . . . . . 17 3.2 An effective Dini-like theorem . . . . . . . . . . . . . . . . . . . . 19 References

24

Abstract We study the question of the effectivity of the famous theorem of classical analysis so-called Dini’s theorem. More precisely, we propose some possible extensions of the theorem in a computable way. We use the Type-2 theory of effectivity (TTE) formalism. Keywords: Dini’s theorem, computable analysis, computable function, effective uniform convergence.

1 1.1

Problematic Definition of the problem

Dini’s theorem is a very important theorem of the classical analysis. It lets you change a result of simple convergence in a result of uniform convergence for a sequence of real functions. More precisely, that is the following theorem: 1

Theorem 1.1 (Dini’s theorem). Let K be a compact space. Let (fn )n∈N be a sequence of continuous functions (fn : K → R) simply converging to a continuous function g : K → R such that for all x ∈ K, the sequence (fn (x))n∈N is increasing. Then (fn ) converges uniformly to g. A logical question that one may ask about a so useful theorem is to know in what way it is effective. More precisely, suppose that we have an appropriate definition of how we can call a function over a compact space “computable”. One may ask how the theorem deals with this notion. Actually, there is a lot of possible questions. . . If the functions fn are computable, is the limit computable? If not, is there a change if we suppose that the sequence (fn ) is computable? We can also ask questions about the uniformity: if the limit is computable, can we compute a number of a machine computing the limit, given the sequence? The uniform convergence allows us to say that the sequence admits a modulus of convergence, i.e. a function h : N → N such that ∀n ∈ N, ∀x ∈ K, ∀p ≥ h(n), |fp (x) − g(x)| < 2−n

.

Can we compute from the hypothesis a number of a machine computing such a function? Are results the same when K ⊆ Rn and when K is a more general compact space? The question of a computable version of Dini’s theorem doesn’t seem to have been studied yet, except by Kamo in [4]. However, Kamo’s paper doesn’t have all the generality it could have and doesn’t study the question so deeply as we will. We don’t use the same formalism as Kamo and it will allow us to have more expressivity and more generality. In this section, we will first have a quick non formal look at what will be said in the rest of the paper, so that the reader will get a general idea of the article. In particular, we will give an idea of what we call computability for real functions and expose the main questions and propositions we will study. The second section is a recall of important notions of computability over several structures. If the book of Weihrauch ([5]) or more generally the basis of TTE formalism have no secret for you, you can skip that section without worrying. The third section really enters the subject since the question of the effectivity of Dini’s theorem is there studied.

1.2

Real functions and computability

The classical theory of computability deals with functions from Σ∗ to Σ∗ or equivalently with functions from N to N. There are many ways to introduce this classical concept of computability: Church’s thesis postulates that every reasonable model (i.e. let’s say such that a physical machine can implements it) defines the same concept. The most used is surely the Turing machine. Consider a set M at most countable. For example, you can imagine that M is the set of finite directed graphs. We’d like to define a concept of computability on M . By means of notations, it is possible. We call a notation for M any surjective application ν : Σ∗ → M . A word u is called a name of x ∈ M when ν(u) = x. Note that x may have a lot of names, but at least one. Now, if M and N are two noted spaces, we can define the concept of (νM , νN ) computability for functions from M to N , saying that f is computable if there is a computable function 2

g : Σ∗ → Σ∗ (called a realization of f ) such that ∀u ∈ dom(νM ), f (νM (u)) = νN (g(u)). More visually, we can say that the following diagram commutes: Σ∗

g

νM

 M

/ Σ∗ νN

f

 /N

Note that a noted space must be at most countable, since the notation is a surjective application and Σ∗ is countable. We’d like to be able to compute with real numbers for example and we can’t use this powerful method, since the set of real numbers is uncountable. We adopt the idea to extend the classical concept of computability on finite words to a concept of computability on infinite words. Note that if we achieve this goal, we will be able to deal with sets with continuous cardinality which is exactly our goal. Since the model of the Turing machine seems to be so robust, it is natural (and finally not so difficult as we will see) to modify that model to compute with infinite words. And here is the Type-2 theory of effectivity (TTE for short). Consider a Turing machine with one or more read-only semi-infinite input tapes, with one ore more work tapes and with one read-only one-way semi-infinite output tape. We call a one-way tape a tape where the machine is not allowed to go back to the left. It can go to the right or stay in place but never go back to previous characters. We suppose that the machine doesn’t have a halt state and we suppose that the input tapes are completely written at the beginning (i.e. there are infinite words written on it). The machine is completely the same as a standard machine for the rest. As the machine doesn’t stop and never goes back on the output band, we have two possibilities: the machine can finally stay at a character on the output tape and never go farer. We say that the machine doesn’t compute anything (we also say that the machine computes div). Or the machine goes infinitely to the right. Then, it writes an infinite word on the output tape (which is well-defined since the machine doesn’t go back: when a character is written, it is written for eternity). We say that it is the infinite word computed by the machine. We call a function from Σω to Σω computable if there exists a Type-2 machine computing it. Note that we can accordingly define the machines to compute functions from Y1 × Y2 × · · · × Yn to Y0 where Yi ∈ {Σ∗ , Σω } (we just use a halt state if Y0 = Σ∗ to signify the end of computation). Now, we can compute even with an uncountable set M provided that we have a representation of M i.e. a surjective application δ : Σω → M (which is the extension of the concept of notation). 1.2.1

Computing with real numbers

As an example, consider the set R of real numbers. Consider a real x. It is perfectly defined by the list of all open intervals with rational bounds containing x. Suppose that we have defined a natural notation of the sets N and Q (any natural notation that comes to your mind is good). It is then easy to define a notation for the set Cb(n) of balls of Rn with rational center and rational radius (let’s say with the maximum norm for example). 3

We define the representation ρ of R by ρ(p) = x if and only if p encodes a list of words ui such that each ui is in dom(I1 ) and {I1 (ui ), i ∈ N} = {I ∈ Cb(1) | x ∈ I} . We can now define what is a computable real number: it is a real number x such that there is a Type-2 Turing machine which ignores its input and writes a ρ-name of x on the output. It follows that there is at most a countable number of computable real numbers. But what is even more important is that we can define computable functions from real numbers to real numbers, the same way as we had defined a notion of computability between two noted spaces. The representation used may have a big importance in the concept of computability. Note that the same problem can occur with the choice of a notation for a noted space. The idea behind the concept of notation or representation is that we interpret a word (finite or infinite) as a point of an abstract set. The idea is that the way we interpret it must be the most natural as possible. However, it is clear that that way can completely change the notion of computability induced on the abstract set. In practice, the different natural notations for a set are very often equivalent (that is that a Turing machine can translate a name of a notation in a name of the other and reciprocally). All the same, it is not true with represented space where very natural representations may conduce to different concepts of computability. As an example, consider the natural binary representation of R: ρ2 (p) = x if and only if p is an infinite binary development of x. It is shown that it defines the same set of computable numbers than ρ. But (strangely may we say) the set of computable functions between R and R is not the same. For instance, the multiplication by 3 is (ρ, ρ)-computable but not (ρ2 , ρ2 )-computable. 1.2.2

Computing with real functions

An easy remark we can do is that every computable function is continuous. It comes from the fact that to obtain a given finite part of the output tape of a Type-2 machine, just a finite part of the input tapes is needed. Good, but that is only a countable subset of continuous real functions. And we have actually a framework which lets us define a notion of computability for any set (with at most continuous cardinality). We’d like to manipulate continuous functions (for example to be able to speak about operators on functions) and not only computable ones if possible. And what would be great, would be that the computable elements of the set of continuous functions are exactly the computable functions between R and R! An important and exciting result is that it is possible. And with a very natural representation of the set of continuous functions. Using the same way as we have done for the real numbers with the list of all open intervals containing x, we define a representation of the set of continuous function (with domain R to do simple things) by listing all rectangles with rational corners ]a, b[×]c, d[ such that for any x ∈ [a, b], f (x) ∈ ]c, d[. We define by this way the representation δco the same way as we have made for the set of real numbers. It follows that we have now the notion of δco computable continuous function (which is actually the same notion as the (ρ, ρ) computable notion). And we have the concept of computable operator over the continuous functions which 4

will be very important for us. Once again, the representation may have its importance as we will see later, but with conditions everything goes well and the natural representations are equivalent.

1.2.3

Computing with some subsets of Rn

The Type-2 theory lets us compute also with any set, even if it is not a set of numbers, provided that we have a representation of the set. In particular, we can consider the set T(Rn ) of all open subsets of Rn . Since the open balls with rational center and radius are a subbase of the topology of Rn , it is natural to define a representation of an open set U by giving a list of some open balls (not necessarily all) such that the union of them is U . That lets us define the en representation θ< of T(Rn ). Again, we can now compute with open subsets of Rn , talk about computable operators on open sets, and (and that is the most important for us) we can manipulate the open subsets, give them as arguments of functions, and so on. Particularly, in our case, we will be interested in the manipulation of compact subsets. We will see later that we can also define a representation for the set of all compact subsets of Rn and so we can give a compact as an argument of a function (which can be important since Dini’s theorem require a compact set).

1.3

Effectivity of Dini’s theorem

As we have seen, the Type-2 theory of effectivity is a very powerful way to extend the concept of computability to very different sets by means of representations. We can compute with numbers, with functions, with subsets of Rn and actually many other things. The goal of this paper is not to give a complete look at the huge possibilities of TTE. We have just given a quick look at the fundamental concepts so that the reader understands what tools we will use in the following and why we find these tools interesting to achieve our study. We invite the reader to have a look for example at the book of Weihrauch ([5]) for a more complete introduction to the domain. Now that we have an idea of what is TTE, we can explain a bit more precisely what we call an effective version of Dini’s theorem. Have a look to the hypothesis of the classical theorem: we have a compact, we have a sequence of continuous functions, we have a continuous simple limit, and an hypothesis which says that the sequence is increasing point by point. We have two ways of searching an effective version of the theorem. We can try to see in what way the classical theorem is effective by itself. We mean that we can try to add hypothesis of computability and see if the classical theorem is sufficient by itself to provide then properties of computability in the conclusion. That is the first way, and we will see that in the case of Dini’s theorem, we have bad results. And the second way is to copy the base idea of the theorem, with computability in mind, to find a theorem that we can call effective version of Dini’s theorem because the base idea is the same, but which has not the same form than the original theorem. Actually, we will prove that a certain operator on compact subsets of Rn and continuous functions is computable. This approach is more successful, as we will see. 5

1.3.1

Effectivity of the theorem by itself

So, let’s try to see how the classical theorem is effective by itself. We try to add properties of computability in the hypothesis and to see if properties of computability appears in conclusion. So the first idea is clearly to replace the hypothesis of continuity for each function of the sequence by the hypothesis of computability. Trial 1. Let K be a compact space. Let (fn )n∈N be a sequence of computable functions (fn : K → R) simply converging to a continuous function g : K → R such that for all x ∈ K, the sequence (fn (x))n∈N is increasing. Since computability implies continuity, the functions fn are continuous. Then (fn ) converges uniformly to g. Is it sufficient to ensure that g is computable? We could think that, since the convergence is uniform, it may be sufficient to ensure the computability of g. Actually, the answer is no, as we will see later: the limit may be non computable. We may make an harder hypothesis saying that the sequence is computable, that is that the function n → fn is computable. Note that it implies that each function is computable. With that hypothesis of uniformity of the sequence, it would maybe be better. . . Trial 2. Let K be a compact space. Let (fn )n∈N be a computable sequence of functions (fn : K → R) simply converging to a continuous function g : K → R such that for all x ∈ K, the sequence (fn (x))n∈N is increasing. Then (fn ) converges uniformly to g. Is it sufficient to ensure that g is computable? Once again, the hypothesis is not sufficient to ensure the computability as we will see. Well! We have a last trial: we suppose that the limit is computable, since it is not implied by the hypothesis. With this new hypothesis, can we compute a name of a machine computing the limit? Trial 3. Let K be a compact space. Let (fn )n∈N be a computable sequence of functions (fn : K → R) simply converging to a computable function g : K → R such that for all x ∈ K, the sequence (fn (x))n∈N is increasing. Then (fn ) converges uniformly to g. Can we compute a name of g from a name of a machine computing the sequence? Actually, the answer is one more time no. It seems that Dini’s theorem cannot by itself ensure properties of computability. So, we must think of a computable version of the theorem from scratch. 1.3.2

Effective version of the theorem

Let’s explain what we mean by saying “a computable version of the theorem from scratch”. We have seen that adding hypothesis of computability to the classical theorem doesn’t give interesting results since we don’t achieve to obtain a conclusion of computability for the limit. It is not a good idea to think that we can deduce computability of the limit from the hypothesis. So, look once again at the theorem. The continuity of the limit is in the hypothesis, and the goal of the theorem is to show that the convergence is uniform. The same way, we can accept the idea of putting a name of the limit in the hypothesis, and focus to the question of the uniformity of the convergence. 6

For a uniform convergence, the classical computable question is to know if there exists a computable modulus of convergence, i.e. a computable function h : N → N such that for n ≥ h(p) the sequence is closer to the limit than 2−p . The question becomes: Trial 4. Let K be a computable compact subset of Rn . Let (fn )n∈N be a computable sequence of functions (fn : K → R) simply converging to a computable function g : K → R such that for all x ∈ K, the sequence (fn (x))n∈N is increasing. Then (fn ) converges uniformly to g. Is there a computable modulus of convergence for the sequence? Actually, we won’t answer directly to that question because the TTE allows us to formulate a more generally and interesting question by means of operator. However, the answer is yes and will turn out as a trivial corollary of our main theorem. What is very fun with the TTE is that we don’t need to restrict our study to computable elements. For example, every continuous function has a name. In the last trial, we ask for a computable sequence and a computable limit. And the question is to know if there exists a computable modulus of a convergence. But the TTE allows us to formulate a more uniform question: can we compute from a name of the compact subset, a name of the sequence and a name of the limit, a name of a modulus of convergence? We actually ask if a given operator on compact subsets and functions is computable or not. And the answer is yes as we will see. A corollary is that if the compact, the sequence and the limit are computable, there exists a machine computing a modulus of convergence. That answers to the last trial. But our theorem is more uniform since it lets us effectively compute the modulus of convergence from the hypothesis. An other thing is that it gives us an information even for non computable inputs: we know that we can deduce from the inputs a name of the modulus convergence, which is a way to say that there is not more information in the modulus of convergence than in the inputs. If the inputs are not computable, the modulus of convergence has the same level of non-computability may we say. We will also prove as corollary another theorem which says that if we have an increasing sequence (fn ) and a decreasing sequence (gn ) such that for any point x of the compact, |gn (x) − fn (x)| converges to zero, then the two sequences converge to a continuous function ϕ and we can compute from names of the inputs a name of ϕ and two modulus of convergence for the two sequences.

2

Important preliminary results of the TTE

In this section, we will recall important definitions and results of the TTE which will be useful for our problem. In a first part, we will deal with general fundamental results of the theory. We try to make this part as short as possible: it is very important in order to understand the rest of the paper but we don’t need to have a very precise look at all this stuff. For a more complete introduction, the reader may have a look to the book of Weihrauch ([5]) for instance. In a second part, we recall important definitions and results with the standard representations of the sets of real numbers, continuous functions, closed subsets, and compact subsets. A good understanding of these representations and results is important since we will use them a lot for our proofs. 7

2.1

Fundamental results of the theory

First of all, we fix precisely the notations that we will use. In particular, we will use t-upling functions. To fix the ideas, we define them properly: Definition 2.1. We consider that Σ contains at least two characters 0 and 1. We need a pattern to encapsulate words. We use for instance the following: let u = u1 u2 · · · un ∈ Σ∗ . We note ι(u) = 110u10u2 · · · 0un 011. Note that a machine can search a ι(u) pattern in a word and decode it as u. We define t-upling functions for natural numbers using the canonical Cantor pairing function: ∀(i, j) ∈ N2 , i, j = j + (i + j)(i + j + 1)/2

.

By induction,

i1 , i2 , · · · , it =

i1 , · · · , it−1 , it

.

These functions and the reciprocal projections are computable. Now, we define the t-upling functions for words (for an infinite word p, p(k) represents the k-th character of p): x, x1 , x2 , · · · are words of Σ∗ and p, p1 , p2 , · · · are words of Σω .

x1 , x2 , · · · , xt = ι(x1 )ι(x2 ) · · · , ι(xt )

x1 , x2 , · · · = ι(x1 )ι(x2 ) · · ·

p1 , p2 , · · · , pt = p1 (0)p2 (0) · · · pt (0)p1 (1)p2 (1) · · · pt (1) · · ·

p1 , p2 , · · · = q where q( i, j ) = pi (j)

x, p = p, x = ι(x)p To represent sequences of a set M represented by δ, we will use the representation [δ]ω which is just the sequence encoded in an infinite uple: Definition 2.2. We define [δ]ω by [δ]ω (p) = (un )n∈N if and only if p is of the form p = p1 , p2 , · · · with δ(pn ) = un for each n. This notation deals well with the evaluation and the type-conversion properties: Proposition 2.1. 1. The evaluation operator is computable: ((un )n∈N , i) → ui is ([δ]ω , νN , δ) computable. 2. The type-conversion property holds: a sequence is [δ]ω computable if and only if the function n → un is (νN , M ) computable. In the case where M = N and δ = νN , we note [νN ]ω = δB . Now that these notations are fixed, let’s come back to our subject. We have extended the classical Turing machines to work potentially with infinite words. We can now distinguish four types of machine : the classical ones which implements functions from Σ∗ to Σ∗ ; and three kinds of Type-2 machines which implements respectively functions from Σ∗ to Σω , from Σω to Σ∗ , and from Σω to Σω . For classical machines, we know that we can name the machines with elements of Σ∗ . Let’s call ξu∗∗ the function computed by the machine with name u ∈ Σ∗ . An important result is the existence of a utm and a smn theorem: 8

Proposition 2.2. 1. There is a universal Turing machine : there exists a word univ ∈ Σ∗ such that ∗∗ ( u, v ) = ξu∗∗ (v) . ∀u ∈ dom(ξ ∗∗ ), ∀v ∈ Σ∗ , ξuniv 2. The smn property holds : there exists a total computable function s : Σ∗ × Σ∗ → dom(ξ ∗∗ ) such that ∗∗ ∀u ∈ dom(ξ ∗∗ ), ∀(v, w) ∈ (Σ∗ )2 , ξu∗∗ ( v, w ) = ξs(u, v) (w)

.

Actually, the Type-2 machines are not very different from the classical ones: they have also a finite state space, a finite transition function and they run the same way. It allows us to name the Type-2 machines the same way as it is usually made for the Turing machines. We call ξuab the function from Σa to Σb computed by the machine with name u ∈ Σ∗ (for a and b in {∗, ω}). The utm and smn theorem keep true for the Type-2 machines: Proposition 2.3. Let a and b be in {∗, ω}. 1. There is a universal Turing machine : there exists a word univ ∈ Σ∗ such that ab ∀u ∈ dom(ξ ab ), ∀v ∈ Σa , ξuniv ( u, v ) = ξuab (v) . 2. The smn property holds : there exists a total computable function s : Σ∗ × Σa → dom(ξ ab ) such that ab ∀u ∈ dom(ξ ab ), ∀(v, w) ∈ (Σa )2 , ξuab ( v, w ) = ξs(u, v) (w)

.

As we can see, everything goes well. As in the classical case, we can’t decide the halt of a machine: Proposition 2.4. There is no u ∈ dom(ξ ab ) such that  ab b ab  ab a  ξu ( v, w ) ∈ 0Σ if ξv (w) doesn’t stop ∀v ∈ dom(ξ ), ∀w ∈ Σ ,  ab b ξu ( v, w ) ∈ 1Σ if ξvab (w) stops

.

Another thing which goes as well as in the classical case is the composition of Turing machines. Proposition 2.5. Let u ∈ dom(ξ ab ) and v ∈ dom(ξ bc ). ac 1. If (b, c) = (ω, ∗), there exists w ∈ dom(ξ ac ) such that ξvbc ◦ ξuab = ξw .

2. If (b, c) = (ω, ∗), there exists w ∈ dom(ξ ac ) such that ac ∀t ∈ dom(ξuab ), (ξvbc ◦ ξuab )(t) = ξw (t)

.

ac Note that, in that case, ξw may be defined for some t ∈ dom(ξuab ).

Now that we have seen that the important classical results can be translated to our theory, we can begin to work with it. We have seen what is a representation for an abstract set. A very important notion is the notion of reduction between two representations. 9

Definition 2.3. Let M be a set. Let δ and δ  be two representations of the set. We say that f : Σω → Σω translates δ to δ  if δ = δ  ◦ f . Two cases are particularly important : if f is continuous, we note it δ ≤t δ  ; if f is computable, we note it δ ≤ δ  . In the case where δ ≤ δ  and δ  ≤ δ, we note it δ ≡ δ  (respectively ≡t in the case of continuous reduction). We say that the representations are equivalent (respectively topologically equivalent). The idea is really the idea of translation : we have two ways of naming the set M , two languages to speak about it. If δ is reducible to δ  , it means that we can translate, with a machine, names of the language δ into names of the language δ  . If the representations are equivalent, we can both translate in the two directions. Then, no matter if we use the one or the other to compute, it is the same concept of computability. This idea is summed up in the following proposition. Proposition 2.6. Let M and N be two sets. Let α and α be two equivalent representations of M and let β and β  be two equivalent representations of N . Then, f : M → N is (α, β) computable if and only if it is (α , β  ) computable. The notion of multi-valued function will be very important for us. Formally, a multi-valued function between M and N is a function (in the classical sense) between M and P(N ): to a point of M , we associate a set of elements of N . The way to see a multi-valued function is to think that the function may have many different results at the same point. Let’s take an example: we want a function satisfying a given property; for example, a function which associates to a real number x a rational number q < x. Whatever the rational number is, provided that it is less than x. Actually, we want to implement the multi-valued function f from R to Q such that f (x) = Q ∩ ] − ∞, x[. As we see, the formalism is very powerful to define functions with a property when the property interests us more than the result itself. Due to the fact that a point may be represented by many words, two different notions appear when we try to compute with multi-valued functions: Definition 2.4. A multi-valued function between M and N is denoted by f : M ⇒ N . We suppose that M is represented by α and N by β. We call a (α, β) realization of f any function g : Σω → Σω such that β(g(p)) ∈ f (α(p)) for any p ∈ α−1 [dom(f )]. More visually, we can say that the following diagram commutes: g / q ∈ Σω p ∈ Σω α

 x∈M



f

β

/ β(q) ∈ A

where A = f (x) ⊆ N . We say that f is (α, β) computable (respectively continuous) if it has a computable (respectively continuous) realization. Note that a realization does not correspond to a well-defined function (in the classical sense) between M and N : a point x ∈ M may have two names p and p such that β(g(p)) = β(g(p )). That is why we can ask for a more constrained notion: 10

Definition 2.5. Let f : M ⇒ N be a multi-valued function. We call a choice function for f any function F : M → N such that F (x) ∈ f (x) for x ∈ dom(f ). If F admits a computable realization, we say that f has a computable continuous function. Note that a realization g of a choice function of f is also a realization of f (with the meaning of the last definition). But g corresponds to a well-defined function in the abstract sets, since g(p) and g(p ) represent the same point in N if p and p represent the same point in M . We introduce now the concept of effective topological space which is a particularly good way to understand the topology of a computable space: Definition 2.6. Let M be a non-empty set and σ be a countable subset of P(M ) such that  A . ∀x ∈ M, {x} = A∈σ | x∈A

Let ν be a representation of σ such that {(u, v) | (u, v) ∈ dom(ν)2 and ν(u) = ν(v)} is recursively enumerable. S = (M, σ, ν) is called an effective topological space and a natural representation is δS defined by δS (p) = x if and only if ι(w)  p ⇒ w ∈ dom(ν) and {A ∈ σ | x ∈ A} = {ν(w), ι(w)  p} . For a represented space (M, δ), we define the topology on M induced by δ: call open of M any subset U such that δ −1 (U ) is open for the Cantor topology (e.g. the product topology on Σω ). Proposition 2.7. Let S = (M, σ, ν) be an effective topological space. Then σ is a subbase of the topology induced by δS over M . In particular, it means that if S  = (M  , σ  , ν  ) is another effective topological space, a function is (δS , δS ) continuous if and only if it is continuous for the topologies with subbase σ and σ  . To continue, we need to introduce some important representations and see the links between them.

2.2

Several important representations. . .

It is very common to compute with sets like N, Z, Q, or the set of all open balls of Rn with rational centers and radius. To fix the ideas, we introduce notations for these sets. Definition 2.7. In the following, we will note u  v to say that u is a subword of v. Let’s use for instance the maximum norm on Rn : (x1 , · · · , xn ) = max{x1 , · · · , xn }. We note Cb(n) the set of all open balls B( x, r) where x ∈ Qn and r ∈ Q. We define important notations:  for N, νN : νN (0) = 0 and νN (1un un−1 · · · u0 ) = 2n+1 + nk=0 ui · 2i for Z, νZ : νZ (0u) = νN (u) and νZ (1u) = −νN (u) for Q, νQ : νQ (ι(u)ι(v)) = νZ (u)/νN (v) (provided that νN (v) = 0) for Cb(n) , In : In (ι(u1 ) · · · ι(un )ι(v)) = B((νQ (u1 ), · · · νQ (un )), νQ (v)) 11

2.2.1

. . . to work with real numbers

We have introduced the representation ρ in the first section. We will study it more precisely. But first, we introduce two representations of R which will have a big importance. Definition 2.8. We define the representation ρ< of R as follows: ρ< (p) = x if and only if ι(u)  p ⇒ u ∈ dom(νQ ) and {νQ (u) | ι(u)  p} = Q ∩ ] − ∞, x[. The same way, we define the representation ρ> by ρ> (p) = x if and only if ι(u)  p ⇒ u ∈ dom(νQ ) and {νQ (u) | ι(u)  p} = Q ∩ ]x, +∞[. In other words, we define the representations associated to the effective topological spaces S< = (R, {]a, +∞[}a∈Q , νQ ) and S> = (R, {] − ∞, a[}a∈Q , νQ ). We introduce equivalent representations of ρ< and ρ> which can be easier to use in certain cases. Definition 2.9. Let ρa< be the representation of R defined by ρa< (ι(u0 )ι(u1 ) · · · ) = x if and only if (νQ (ui ))i∈N is an increasing sequence converging to x. Let ρb< be the representation of R defined by ρb< (p) = sup{νQ (u) | ι(u)  p}. The representations ρa> and ρb> are defined accordingly. Proposition 2.8. For ∗ ∈ {}, the following equivalence holds: ρ∗ ≡ ρa∗ ≡ ρb∗

.

These two representations are important but essentially incomplete. They give us information about only one side of a real number. To obtain a complete information about a real number, we should have both a ρ< -name and a ρ> name of it. This intuitive idea is formalized in the following definitions and propositions: these two representations are not equivalent, and to obtain a ρname of x, we need (and it suffices) to have a ρ< and a ρ> -name of x. Definition 2.10. Let ρ be the representation of R defined by ρ(p) = x if and only if ι(u)  p ⇒ u ∈ dom(I1 ) and {I1 (u) | ι(u)  p} = {I ∈ Cb(1) | x ∈ I}. Definition 2.11. Let δ and δ  be two representations of a set M . The representation δ  δ  is defined by (δ  δ  )( p, q ) = x if and only if δ(p) = δ  (q) = x. Proposition 2.9. Having both a ρ< -name and a ρ> -name of a real number x is the same than having a ρ-name of it: ρ ≡ ρ<  ρ>

.

Note that the ρ< ≡ ρ (and idem with ρ> ) so that the last proposition is not a tautology: Proposition 2.10. There is a real number x which is ρ< computable but not ρ computable. It follows that ρ< ≡ ρ. Proof. Let A ⊆ N be a recursively enumerable set which is not recursive. There is a total injective function h : N → N such that A = h[N]. Note +∞ x = k=0 2−h(k) ≤ 2 which is well defined.  By construction x is ρa< computable since the sequence ( nk=0 2−h(k) )n∈N is increasing and converges to x. Then, it is ρ< computable. 12

Now, if x were ρ computable, it would be also ρ< ρ> computable. From such a name, we could deduce a ρ> -name of x and then, a ρa> -name ι(u0 )ι(u1 ) · · · of  x. Now, the sequence εi = νQ (ui ) − ik=0 2−h(k) is decreasing and converges to 0 by construction. We prove that we can decide if n ∈ A or not. Compute (εi ) until εi < 2−n . i0 Note i0 such an i. By construction (x − k=0 2−h(k) ) < 2−n . Then, for all i ≥ i0 , h(i) > n. Then, n ∈ A ⇐⇒ ∃i < i0 , h(i) = n which can be decided in finite time. We finish our survey of the representations of real numbers by the definition of several equivalent representations of Rn . First, we generalize the definition of ρ: Definition 2.12. Let ρn be the representation of Rn defined by ρn (p) = x if and only if ι(u)  p ⇒ u ∈ dom(In ) and {In (u) | ι(u)  p} = {I ∈ Cb(n) | x ∈ I}. In other words, we define the representation associated to the effective topological space S = (Rn , Cb(n) , In ). We define two other useful representations of Rn : Definition 2.13. Let (ρn )a be the representation of Rn defined by  n |I (uk )| < 2−k        In (uk+1 ) ⊆ In (uk ) n a (ρ ) (ι(u0 )ι(u1 ) · · · ) = x if and only if  +∞       In (uk ) = { x} 

.

k=0

Let (ρn )b be the representation of Rn defined by  In (u) (ρn )b (p) = x if and only if { x} =

.

ι(u)p

Proposition 2.11. The representations ρn , (ρn )a and (ρn )b are equivalent. To finish this part about real numbers, we recall some interesting results about the set of all sequences of real numbers: Definition 2.14. Let FP(n) be the set of products of elementary balls with finite support: FP(n) = {I0 × · · · × It × Rn × Rn × Rn × Rn · · · }t∈N

I0 ···It ∈Cb(n)

.

We define the natural notation νp of FP(n) : νp (ι(u0 ) · · · ι(ut )) = In (u0 ) × · · · × In (ut ) × Rn × Rn × Rn × Rn · · ·

.

The set of sequences of elements of Rn may be seen as the effective topological space ((Rn )ω , FP(n) , νp ). Let δp be the associated representation. Proposition 2.12. The representations δp and [ρn ]ω are equivalent: δp ≡ [ρn ]ω . 13

Proof. δp ≤ [ρn ]ω : By type-conversion, we just need to prove that ((xi )i∈N , t) → xt is (δp , νN , ρ) computable. Consider the following machine M which, on inputs a δp -name p of (xi )i∈N and an integer t, reads p searching ι(w) patterns. When it founds one, it interprets it as w = ι(u0 ) · · · ι(uk ). If k < t, it continues. But if k ≥ t, it writes ι(ut ) on the output tape, and continues. By definition, the word written by M on its output tape is a ρn -name of xt . [ρn ]ω ≤ δp : Consider the machine N which, on input a [ρ]ω -name p of (xi )i∈N operates in stage k = 0, 1, · · · as follows: Stage k: N interprets k as k = t, k  . Then it interprets k  as k  = i0 , i1 , · · · , it and finds the i0 -th word u0 of dom(In ) (note that dom(In ) is recursive), the i1 -th word u1 of dom(In ), etc., the it -th word ut of dom(In ). From p, the machine computes x0 , · · · , xt and tests if x0 ∈ In (u0 ), etc., xt ∈ In (ut ). If so, it writes ι(ι(u0 ) · · · ι(ut )) on its output tape and goes to stage k + 1. Else it goes directly to stage k + 1. By construction, the word written by N on its output tape is a δp -name of (xi )i∈N . Proposition 2.13. The topology induced by [ρn ]ω (or by δp ) over (Rn )ω is connected (and even path connected) Proof. Note that the topology has FP(n) for subbase. Consider (xi )i∈N and (yi )i∈N . Consider the function P : t → (zi )i∈N (t) where ∀i ∈ N, zi (t) = (1 − t) · xi + t · yi

.

P (0) = (xi )i∈N and P (1) = (yi )i∈N . We just need to show that P is continuous. Let t0 ∈ [0, 1] and A ∈ FP(n) such that P (t0 ) ∈ A. By definition, A is of the form A = I0 × · · · × It × Rn × Rn × Rn × Rn · · · . For 0 ≤ i ≤ t, zi (t0 ) ∈ Ii . By continuity of the function t → (1 − t) · xi + t · yi , there exists εi such that zi (t) ∈ Ii as soon as |t − t0 | < εi . Let ε = min{ε0 , · · · , εt }. Then P (t) ∈ A as soon as |t − t0 | < ε which concludes the proof. Note that in the particular case where n = 1 and where we restrict us to the increasing sequences with the induced topology, the result keeps true since P (t) is also increasing. 2.2.2

. . . to work with continuous functions

The second important thing we need is a good representation for the continuous functions, since we will manipulate them a lot. Two things interest us particularly: we’d appreciate that the representation δ of the set of continuous functions lets the operator apply (x, f ) → f (x) be (ρn , δ, ρm ) computable. And we’d appreciate if the computable elements for δ were the same as the (ρn , ρm ) computable functions. Note that the induced topology on Rn by ρn is exactly the standard topology of Rn . It follows that the continuous real functions are exactly those which have a continuous realization (in Σω with the Cantor topology). Note that for ρn , the induced topology is just the Cantor topology (i.e. the product topology on the infinite product Σω = Σ × Σ · · · ). In a first time, we try to introduce a representation of the continuous (for the Cantor topology) functions between Σω and Σω . But that set is too big to be represented. We keep only a sufficiently big subset. The set C of continuous 14

functions f such that dom(f ) is a Gδ set (i.e. a countable intersection of open sets) satisfies the following property: if f is a partial continuous function, there exists a function f˜ ∈ C extending f . If we can represent C, it seems to be a good choice. Definition 2.15. We define the representation η of C by η( x, p ) = [y → ξxωω ( p, y )] for x ∈ dom(ξ ωω ). η(q) is the nowhere defined function if q is not of the form

x, p with such an x. In other words, an η-name of f is a name of a machine x with oracle, and the information p to write on the oracle tape. We abbreviate η( x, p )(y) by ηx, p (y). What is very important is that this representation satisfies a utm and a smn theorem: Proposition 2.14. 1. There is a word univ2 ∈ Σ∗ such that ωω ( p, q ) = ηp (q) ∀p ∈ dom(η), ∀q ∈ Σω , ξuniv 2

.

2. The smn property holds : there exists a total computable function s2 : Σ∗ × Σ∗ → dom(η) such that ∀p ∈ dom(η), ∀(q, r) ∈ (Σω )2 , ηp ( q, r ) = ηs2 (p, q) (r)

.

With this representation, we can define the representation [δ → δ  ]: Definition 2.16. Let δ be a representation of a set M and δ  be a representation of the set M  . The representation [δ → δ  ] of the (δ, δ  ) continuous functions is defined by [δ → δ  ](p) = f if and only if ∀x ∈ δ −1 [dom(f )], δ  (ηp (x)) = f (δ(x)). If we want to precise the domain (i.e. to represent the set of continuous functions with domain A ⊆ M ) we define [δ → δ  ]A the same way but with the condition that ηp must be defined for all x ∈ δ −1 [A]. The important property of that representation is the property of type-conversion which says that manipulating names or computing with is quite the same thing: Proposition 2.15 (Type-conversion). Let M1 , M2 and M3 be three represented sets (respectively by δ1 , δ2 and δ3 ). Let f : M1 → C(M2 , M3 ). Then, f is (δ1 , [δ2 → δ3 ]) computable if and only if (x, y) → (f (x))(y) is (δ1 , δ2 , δ3 ) computable. We can now define the representation δ→ of the continuous real functions. A Definition 2.17. We use the shortcut δ→ for [ρn → ρm ] and δ→ for [ρn → m ρ ]A .

Note that, by construction, the operator apply is (ρn , δ→ , ρm ) computable. It is also easy to see that classical operations on functions such that composition, addition, multiplication, subtraction, exponentiation, construction of polynomial expressions, and so on, are computable. Note also that it is possible to join two functions at a computable point (i.e. if p and q are two names of continuous functions and which intersect at a computable point a, it is possible to compute from p and q a name of the function which is equal to δ→ (p) for x < a and to δ→ (q) for x > a). 15

2.2.3

. . . to work with subsets of Rn

To finish this section, we present some important representations of subsets of Rn . Since Dini’s theorem deals with a compact subset, it may be important to have good representations to manipulate it. en in the introduction. We We have presented quickly the representation θ< define it more properly here: Definition 2.18. Denote T(Rn ) the set of all open subsets of Rn . The repreen en sentation θ< is defined by θ< (p) = U if and only if ι(w)  p ⇒ w ∈ dom(In ) and  In (w) . U= ι(w)p

It lets us define a natural representation of the set of closed subsets of Rn , just using the complement: en Definition 2.19. The representation ψ> of the closed subsets of Rn is defined en n en by ψ> (p) = R \ θ< (p).

This representation approaches the subset from outside. That is why we define another representation of the closed subsets of Rn which gives us information from inside the subset: en of the closed subsets of Rn is defined Definition 2.20. The representation ψ< en ω en k by ψ< (0 ) = ∅ and ψ< (0 p) = {ui }i∈N where (ui )i∈N = [ρn ]ω (p) en en For short, we will write ψ> = ψ> and ψ< = ψ< (actually, the representations ψ> and ψ< are differently defined, in [5] for instance; but they are equivalent to those we have defined). Note that the representations ψ< and ψ> are not equivalent (and even not mutually reducible). We are now ready to define a representation for the compact subsets of Rn . Since ∅ has not a big interest for us (Dini’s theorem in the case of the empty set has not a lot of sense), we will exclude it in the following and denote K(Rn ) the set of all non empty compact subsets of Rn . We know that the compact subsets are exactly the closed and bounded subsets. It lets us define naturally two representations of K(Rn ): n Definition 2.21. The representation κ> = κen > of K(R ) is defined by κ> ( p, w ) = A if and only if A = ψ> (p) and A ⊆ B(0, νN (w)). n The representation κ< = κen < of K(R ) is defined by κ< ( p, w ) = A if and only if A = ψ< (p) and A ⊆ B(0, νN (w)).

We just need a last representation which will be useful in the following: Definition 2.22. Consider the set FC(n) of all finite unions of elementary balls: FC(n) = {U ∈ T(Rn ) | ∃I1 ∈ Cb(n) , · · · , ∃Ik ∈ Cb(n) , U = I1 ∪ · · · ∪ Ik }

.

We define a notation νc for FC(n) by νc (ι(u1 ) · · · ι(uk )) = In (u1 ) ∪ · · · ∪ In (uk )

.

The representation κc of K(Rn ) is defined by κc (p) = A if and only if ι(w)p ⇒ w ∈ dom(νc ) and {U ∈ FC(n) | A ⊆ U } = {νc (w) | ι(w)  p}. 16

That representation lists all finite covers of a compact A which we know to be sufficient to define A. It uses a definition of compactness more general than the last one, since it uses covers. What is interesting is that that representation is just equivalent to κ> : Proposition 2.16. The representations κ> and κc are equivalent. We finish by a proposition which will be useful and which is quite intuitive: Proposition 2.17. In the case where n = 1, the operator max : K(R) → R, which gives the maximum of a compact, is well defined. It is (κ> , ρ> ) computable.

3 3.1

Variations around Dini’s theorem in the real case About the effectivity of the classical theorem

We can now begin to study the question of an effective version of Dini’s theorem. We first try to see how the theorem provides effectivity by itself. The first question is naturally to know if the limit is necessarily computable when the functions of the sequence are computable. The answer is no. Lemma 3.1. There is some sequence of computable functions defined on the interval [0, 1] simply and increasingly converging to a non computable but continuous function. Proof. Consider a recursively enumerable A ⊆ N which is not recursive. If n ∈ A, let gn be the function constantly equal to zero on [0, 1]. If n ∈ A, note gn the function defined by   0 if x ∈ [0, 2−n − 2−n−2 ]   4 · (x − 2−n + 2−n−2 ) if x ∈ [2−n − 2−n−2 , 2−n ] gn (x) =  −n −n−2 − x) if x ∈ [2−n , 2−n + 2−n−2 ]  4 · (2 + 2  0 if x ∈ [2−n + 2−n−2 , 1] Remark that the functions gn are positive and have disjoint supports. Define fn by fn = g1 +g2 +· · ·+gn . Clearly, the sequence (fn ) is simply and increasingly converging to a continuous function g (see figure 3.1: each gn is a peak centered on 2−n . The sum of some gn is the superposition of the peaks. The limit function g is continuous at 0 since the high of the peaks is decreasing to 0 when n → + ∞). Note that the fn are computable since gn is computable for each n. But g is not computable: if it was, note M a machine computing g. Then, given n, we can compute in a finite time sufficiently enough precision of g(2−n ) to know if g(2−n ) = 0 or if g(2−n ) = 2−n . Now, g(2−n ) = 0 ⇐⇒ gn (2−n ) = 0 ⇐⇒ n ∈ A and we can decide if n ∈ A or not. It is absurd. One may remark that it is true that each gn is computable, but the main idea of the counter-example is that the sequence (gn ) (and then, the sequence (fn )) is not computable. That is the reason why the limit g is not computable in the last example. A good question is then to ask what happens if we ask for the sequence to be computable. Actually it is even not enough: 17

1

0

1/8

1/4

1/2

1

Figure 1: f4 = g0 + g1 + g2 + g3 represented here in the case where 0, 1, 2 and 3 belongs to A. Lemma 3.2. There is some computable sequence of functions defined on the interval [0, 1] simply and increasingly converging to a non computable but continuous function. Proof. Let A ⊆ N be a recursively enumerable but not recursive set. There exists a total injective function h : N → N such that h[N] = A. For i ∈ N,  let fi be the constant function defined on [0, 1] and equals to ik=0 2−h(k) . By construction, the sequence (fi (x)) is increasing for each x ∈ [0, 1] and converges +∞ to g(x) = k=0 2−h(k) ≤ 2 which is a constant (and so, continuous) function. [0, 1] By type-conversion, it suffices to prove that the function i → fi is (νN , δ→ ) [0, 1] ω computable, to show that the sequence (fi ) is [δ→ ] computable. By typeconversion again, it suffices to show that the function (i, x) → fi (x) is (νN , ρn , ρ) computable. i Or equivalently since the functions are constant, it suffices to show that i → k=0 2−h(k) is (νN , ρ) computable. It is true, since h is computable and total. But g is not computable. If it were, g(0) would be computable, so that +∞ −h(k) would be computable which we know to be false. k=0 2 This last counter-example is very simple and it means that there is only few hope to find sufficient conditions to put in hypothesis to ensure that the limit is computable. Note that the limit is always trivially (ρn , ρ< ) computable: it suffices to compute the sequence (fn (x)). In a ρ-name of fn (x) one can find a rational an such that fn (x) − 2−n < an < fn (x). The sequence (an ) lets us construct a ρb< -name of g(x). But nothing seems to be sufficient to provide that the limit is also (ρn , ρ> ) computable. Our last trial consists to add the hypothesis that there is a machine which computes the limit. The question is now to know if we can compute a name of such a machine. Once again, the answer is no. Lemma 3.3. Let E be the set of all u1 , u2 , · · · , ui , · · · ∈ Σω such that for is a (ρ, ρ) realization of a function fi on [0, 1] and such that the each i, ξuωω i sequence (fi ) is simply and increasingly converging to a computable function g. 18

There is no machine M which on input p ∈ E computes a word v such that ξvωω is a (ρ, ρ) realization of g. Proof. Suppose that such a machine M ∈ dom(ξ ω∗ ) exists. We show that we can then decide the halt of the Turing machines of type ξ ω∗ . Consider the machine N which, on inputs i, α, β and x, simulates the machine α on input β during νN (i) steps. If the machine α has stopped before, it returns a ρ-name of 1, and else, it returns a ρ-name of 0. Note w a name of N . By the smn-theorem, there is a computable function s such that ωω ωω (

i, α, β , x ) = ξs(w, ξw i, α, β) (x): the machine with name ui = s(w, i, α, β ) ignores its input x and writes 0 or 1 depending on the simulation of the machine is then a machine computing a constant function α on β during νN (i) steps. ξuωω i fi defined everywhere (and particularly on [0, 1]). Note that if the machine α on input β stops after exactly i0 steps, we have f0 = f1 = · · · = fi0 −1 = 0 and fi0 = · · · = 1. If the machine α on input β never stops, the sequence (fi ) constantly equals 0. It follows that (fi ) is increasing and simply converging to the constant function 1 or 0 depending of the halt of the machine α on input β. Now, on inputs α and β, compute u1 · · · ui · · · , simulate M on it. You obtain v. Simulate the machine v on input a ρ-name of 0 : you obtain a ρ-name of 0 or 1 depending on the halt of the machine α on input β. You decide in finite time the halt of Turing machines. It is absurd, and it follows that M doesn’t exist.

3.2

An effective Dini-like theorem

As we have seen, the classical theorem doesn’t provide effectivity by itself. That is why we adopt another way. We focus on the goal of Dini’s theorem: to transform a simple convergence into a uniform convergence. The canonical way to manipulate a uniform convergence in computability is to provide a modulus of convergence. The natural question is then: if the compact, the sequence and/or the limit are computable, is there a computable modulus of convergence? Actually, the TTE lets us ask for a more general question. We don’t need to restrict to computable elements. We can manipulate names of the elements, even if they are not computable. The question becomes to know in what way we can use names of the compact, the sequence and the limit to compute the name of a modulus of convergence. The formal question is to know if the operator which takes a compact, an increasing sequence of continuous functions, and the continuous limit of this sequence, and gives as an output a modulus of convergence, is computable or not. Since there are many representations of the compact subsets of Rn and many representations of continuous functions, we have to explain more precisely what we mean by saying the operator is computable. For the continuous functions, it is natural to ask for the apply operator to be computable. We will see that a representation satisfying this condition is sufficient. But we have to choose a representation for compacts: κ< and κ> are the two most general natural representations. These representations are not equivalent so that the choice may be important. And actually, it is: our first result shows that κ< is not a good representation for our problem. Lemma 3.4. Let δ be any representation of continuous functions. The multivalued operator (K, (fi )i∈N , g) ⇒ h defined for K ∈ K(R), and (fi ) an in19

creasing sequence of continuous functions simply converging to a continuous function g over K, and which gives a modulus of convergence for the sequence, doesn’t even have a (κ< , [δ]ω , δ, δB ) continuous realization. It follows that it isn’t (κ< , [δ]ω , δ, δB ) computable. Proof. Consider the compact A = [0, 1/2] and consider the sequence Fn : x → 1 + x + · · · + xn . It converges simply and increasingly to G : x → (1 − x)−1 which is continuous on [0, 1[ (and in particular, on A). ω Note D a realization of the operator, and suppose it is (κen < , [δ] , δ, δB ) continuous. Since the “evaluation at zero” function E : h → h(0) is (δB , νN ) computable, it is also continuous. If D is continuous, E ◦ D is also: we will then focus on D = E ◦ D. ω Suppose that D is (κen < , [δ] , δ, νN ) continuous. It means that there exists ω a continuous realization ∆ : Σ × Σω × Σω → Σ∗ of D . Note q a [δ]ω -name of (Fn )n∈N and r a δ-name of G. Then, the partial function

∆ : Σω ∆ : p

→ Σ∗ → ∆(p, q, r)

 is also continuous and is a (κen < , νN ) realization of the operator K → D (K, (Fn ), G)). Now, note u a word such that νN (u) = 1 and note 01 p0 , p1 , · · · , pn , · · · a en ψ< -name of A. Then, α = ι(u)01 p0 , p1 , · · · , pn , · · · is a κen < -name of A. Note v = ∆ (α) and k = νN (v). ∆ is continuous at α. It means that there exists a n such that ∆ [α0 α1 · · · αn Σω ] = {v} .

Note i0 = max{i ∈ N | ∃j ∈ N, i, j ≤ n}. Since every closed set B containing ρ(p0 ), ρ(p1 ), . . . and ρ(pi0 ) and contained in [0, 1[ has a κen < -name of the form β = ι(u)01 p0 , p1 , · · · , pi0 , p0 , p1 , · · · , and since β0 β1 · · · βn = α0 α1 · · · αn by construction, we can affirm that ∆ (β) = v. Now, remark that |G(x) − Fk+1 (x)| → +∞ when x → 1− . In particular, there exists a x0 such that |G(x0 )−Fk+1 (x0 )| = 2 > 20 . Consider B = A∪{x0 }: it has the good property. Then D (B, (Fn ), G) = k, which means in other words that ∀N > k, ∀x ∈ B, |G(x)−FN (x)| < 20 which we know to be false for x0 ∈ B. It is absurd, and we conclude that D is not continuous. Since κ< is not a good representation for our problem, we will try the other representation which comes to mind : κ> . Actually, we will see that everything goes well with κ> : we find with that representation the good way to formulate our effective version of Dini’s theorem. Here is our main theorem: Theorem 3.1. Let δ be any representation of some continuous functions between Rn and R such that the apply operator A : (f, x) → f (x) is (δ, ρn , ρ) computable. The multi-valued operator (K, (fi )i∈N , g) ⇒ h defined for K ∈ K(R), and (fi ) an increasing sequence of continuous functions simply converging to a continuous function g over K, is (κ> , [δ]ω , δ, δB ) computable. In particular, the operator is (κ> , [δ→ ]ω , δ→ , δB ) computable. Before to show the theorem, we need an important lemma: 20

Lemma 3.5. Let δ be any representation of some continuous functions between Rn and R such that the apply operator A : (f, x) → f (x) is (δ, ρn , ρ) computable. Then, the operator H : (K, f ) → f [K] defined for K ∈ K(Rn ) and f ∈ δ[Σω ] with K ⊆ dom(f ) is (κ> , δ, κ> ) computable. Proof. We actually prove that the operator is (κc , δ, κc ) computable (which is the same, since κc ≡ κ> ). We do the proof in three steps : first we prove that there exists a machine M which computes from a δ-name p of f , a word p = ι(ι(u0 )ι(v0 ))ι(ι(u1 )ι(v1 ))ι(ι(u2 )ι(v2 )) · · ·

.

Note Ii = In (ui ) and Ji = I1 (vi ). The two following conditions hold:   ∀i ∈ N, f [Ii ∩ K] ⊆ Ji x ∈ Ii .  ∀x ∈ K, ∀t ∈ N, ∃i ∈ N, |Ji | < 2−t Note that there may be some i such that Ii ∩ K = ∅ and in that case Ji may be anything. In a second step, we prove the following proposition: if R ∈ FC(1) . Note  Ii . L= i∈N | Ji ⊆R

Then K ⊆ L ⇐⇒ f [K] ⊆ R. We conclude the proof, using M and the proposition to make an algorithm translating a κc -name of K and a δ-name of f into a κc -name of f [K]. [Existence of M] Let p be a δ-name of f . Let N be a machine computing a ((ρn )a , (ρn )a ) realization of A (which exists since (ρn )a ≡ ρn ). Note that there is a machine M1 which enumerates the words w such that w = ι(α0 ) · · · ι(αj ) is a prefix of a infinite word in dom((ρn )a ) (clearly, a machine can determine if a word w is or not the prefix of a (ρn )a -name. Then, it suffices to enumerate all the words ι(α0 ) · · · ι(αj ) and to test if it is a good prefix or not). Consider the machine M which operates in stage k = 0, 1, · · · as follows: Stage k: it simulates M1 to obtain the k-th word of the enumeration: w = ι(α0 ) · · · ι(αj ). Then it simulates N on w0ω until it tries to read a character after ι(αj ). Then, M verifies that the output tape contains a prefix of a (ρn )a name. If not, it goes directly to stage k + 1. Else, it finds the last ι(β) pattern on the output tape and write ι(ι(αj )ι( β)) on its own output tape, and goes to stage k + 1. Now, by construction, ∀i ∈ N, f [Ii ∩ K] ⊆ Ji : any x having a (ρn )a -name of the form w = ι(α0 ) · · · ι(αj ) (i.e. any x ∈ In (αj )) and in the domain of f verifies f (x) ∈ β. Since K ⊆ dom(f ), f [In (αj ) ∩ K] ⊆ I1 (β). About the second condition: let x ∈ K and t ∈ N. Note ι(α0 )ι(α1 ) · · · a (ρn )a -name of x and ι(β0 )ι(β1 ) · · · the result of N on that input. There is a j  such that |I1 (βj  )| < 2−t . Since a finite part of the input tape is used to obtain a finite part of the output tape, a prefix ι(α0 ) · · · ι(αj ) suffices to obtain ι(βj  ). Now, w = ι(α0 ) · · · ι(αj ) is listed by M1 . It follows that there exists a stage k where N is simulated on w. The output tape contains ι(βj  ). By definition of the representation (ρn )a , I1 (β) ⊆ I1 (βj  ) for any ι(β) after ι(βj  ) on the output 21

tape. It follows than ι(ι(αj )ι(β)) is listed by M for a β such that I1 (β) ⊆ I1 (βj  ). Then |I1 (β)| < 2t . [Proof of the proposition] Note R ∈ FC(1) . Note  Ii . L= i∈N | Ji ⊆R

Suppose that K ⊆ L. Note y ∈ f [K]. We want to prove that y ∈ R. Let x ∈ K such that f (x) = y. By hypothesis x ∈ L. Then, there exists i ∈ N such that x ∈ Ii and Ji ⊆ R. Now, y = f (x) ∈ f [Ii ∩ K] ⊆ Ji ⊆ R. Reciprocally, suppose that f [K] ⊆ R. Let x ∈ K. We want to prove that x ∈ L. Note y = f (x). y ∈ f [K] and then y ∈ R. Now, R is open: it follows that there exists t ∈ N such that B(f (x), 2−t ) ⊆ R. There exists i ∈ N such that x ∈ Ii . |Ji | < 2−t It follows that Ji ⊆ B(f (x), 2−t ) ⊆ R and Ii is listed in L. Then x ∈ L. [Conclusion of the proof] Consider the machine S1 which, on inputs a δ-name p of f , a κc -name q of K and a νc -name w of R ∈ FC(1) , simulates M on p to obtain p . Then, it operates in stage k = 0, 1, · · · as follows : Stage k: it interprets k as k = d, j and uses p and w to compute the d firsts elements of L : Ii1 , · · · , Iid and tests if the j-th cover listed in q is Ii1 ∪ · · · ∪ Iid . If so, it stops. Else it continues to stage k + 1. We prove that S1 stops if and only if f [K] ⊆ R: f [K] ⊆ R ⇐⇒ ⇐⇒

K⊆L ∃d ∈ N, such that K ⊆ Ii1 ∪ · · · ∪ Iid

⇐⇒ ⇐⇒

∃d ∈ N, such that Ii1 ∪ · · · ∪ Iid is listed in q S1 stops on inputs p, q and w .

since K is compact

From S1 , we can easily deduce a machine S which lists all finite cover R of f [K], i.e. which computes a κc -name of f [K]. We can now prove our main theorem: Proof of theorem 3.1. We first show that the function (f, g) → g−f is (δ, δ, δ→ ) computable. By type-conversion, it suffices to prove that S : (f, g, x) → g(x) − f (x) is (δ, δ, ρ, ρ) computable. The machine which, on inputs p, q and α (δ(p) = f , δ(q) = g and ρ(α) = x) simulates apply on q and x, simulates apply on p and x and then simulates a subtraction machine on these results, is a realization of S. By type-conversion, we just have to show that the function (K, (fi ), g, j) → h(j) is (κ> , [δ]ω , δ, νN , νN ) computable. Let p be a κ> -name of K, q0 , q1 , · · · , qi , · · · a [δ]ω -name of the sequence (fi ), q a δ-name of the limit g and j ∈ N (actually, a νN -name of j, but to simplify, we won’t differentiate the number and its name). Consider the following preliminary machine M : on inputs m ∈ N, p, q0 , q1 , · · · qi , · · · and q, it computes a δ→ -name of g − fm using the last remark. Then, it uses the lemma 3.5 to compute a κ> -name of (g − fm )[K]. Then, it computes a ρ> -name of ε = max((g − fm )[K]) using the fact that 22

max : A → max(A) is (κ> , ρ> ) computable. Then, it translates that name into a ρa> -name: ι(y0 ) · · · ι(yi ) · · · . Now, consider the machine N which, on inputs p, q0 , q1 , · · · qi , · · · , q and j, operates in stage k = 0, 1, · · · as follows: Stage k: The machine interprets k as k = i, m . It simulates M with m and look at yi . If yi < 2−j it stops and returns m. Else, it goes to stage k + 1. The machine N computes a satisfying h(j): actually, we suppose that the sequence is increasing and simply converging to g on the compact K, so that classical Dini’s theorem holds: we know that the sequence converges uniformly to g on K. Then, there is a m such that max{g(x) − fm (x)}x∈K < 2−j . Remark that such a m is a satisfying h(j) since the sequence is increasing. Now, the machine N , if it stops, returns such a m by construction. We just have to show that the machine N always stops. Actually, consider such a m (which exists as we have seen). Then, the machine M with m gives a ρa> -name ι(y0 ) · · · ι(yi ) · · · of ε = max{g(x) − fm (x)}x∈K . Since ε < 2−j , the sequence (νQ (yi )) becomes smaller than 2−j for a given i. Then, the machine N stops at most at stage k = i, j . The natural question we need to answer to complete our study is: what about a choice function for the operator? Can we do better and show that there is a computable choice function for the operator? The answer is no. Proposition 3.1. Let K = {0} and g(0) = 1. The multi-valued operator (fi )i∈ N ⇒ h (where (fi (0))i∈N is an increasing sequence of real numbers converging to 1) has even no ([δ→ ]ω , δB ) continuous choice function. It follows that the operator of theorem 3.1 has even no (κ, [δ→ ]ω , δ→ , δB ) continuous choice function. Proof. First note that, by type-conversion, (xi )i∈N → (fi )i∈N where fi is the function constantly equal to xi , is ([ρ]ω , [δ→ ]ω ) computable. Then, if H is a continuous choice function for (fi )i∈ N → h, the operator H  : (xi )i∈N → h is ([ρ]ω , δB ) continuous (where (xi )i∈N is an increasing sequence of real numbers converging to 1). We show that H  is constant. Since the evaluation at i0 , h → h(i0 ) is (δB , νN ) computable, we deduce that ˜ : (xi )i∈N → h(i0 ) is ([ρ]ω , νN ) continuous. Since the topology of the operator H the increasing sequences is connected, and since the topology of N is discrete, ˜ is a constant operator. Since it is true for each i0 ∈ N, H  is constant. H Obviously, it can’t be true without an absurdity. It is now time to do a remark about our main theorem. As we have seen, the theorem comes naturally when one tries to copy the idea of the original theorem with computability in mind. The TTE lets us naturally use an operator, which gives us a certain generality. But have a look to the following theorem. Theorem 3.2. The operator ((xn ), y) → h defined for (xn )n∈N an increasing sequence of real numbers converging to y, and which gives a modulus of convergence for the sequence, is ([ρ]ω , ρ, δB ) computable. This theorem is more classical. It gives a new face to our theorem which turns out now to be a generalization of this theorem for the case of continuous functions. We just need to add an hypothesis of compactness to ensure the uniformity of the convergence. 23

Actually, we can now imagine that we extend many classical theorems for real numbers into theorems for real functions, just using compactness. For example, the following theorem for real numbers. Theorem 3.3. It is well known that, if (xn )n∈N is an increasing sequence of real numbers and (yn )n∈N a decreasing sequence of real numbers, such that |yn − xn | → 0, then the two sequences converge to a real number z. The operator ((xn ), (yn )) → z is ([ρ]ω , [ρ]ω , ρ) computable. Then, by the last theorem, we can compute modulus of convergence for the two sequences. A generalized version of that theorem appears as a corollary of ours. Corollary 3.1. Let K be a compact subset of Rn . Let (fi )i∈N be an increasing sequence of real valued continuous functions and (gi )i∈N a decreasing sequence of real valued continuous functions, such that for all x ∈ K, |gi (x) − fi (x)| → 0 when i → +∞. Then, (gi ) and (fi ) converge uniformly to a continuous function ϕ over K. The operator ((fi ), (gi )) → ϕ is ([δ]ω , [δ]ω , δ→ ) computable for any δ which lets apply be computable. Then, by our main theorem, the operator (K, (fi ), (gi )) → h where h is a modulus of convergence for the sequence (fi ) (respectively (gi )) is (κ> , [δ]ω , [δ]ω , δB ) computable. Proof. Note that the hypothesis implies that gi ≥ fj for any i and j. The sequence (fi − gi ) is simply and increasingly converging to 0 over K. By Dini’s theorem, the convergence is uniform. Now, by theorem 3.3, the two sequences simply converge to a function ϕ. Now, let ε > 0. There exists i0 such that ∀i > i0 , ∀x ∈ K, |gi (x) − fi (x)| < ε. Then ∀i > i0 , ∀x ∈ K, |ϕ(x) − fi (x)| = ϕ(x) − fi (x) ≤ gi (x) − fi (x) < ε. Then, the convergence of (fi ) to ϕ is uniform (the same for (gi )). It follows also that ϕ is continuous. Now, the computable part of the theorem: by type-conversion, it suffices to show that ((fi ), (gi ), x) → ϕ(x) is ([δ]ω , [δ]ω , ρn , ρ) computable, or even ([δ]ω , [δ]ω , ρn , ρb ) computable, since ρ ≡ ρb . Consider the machine M which operates in stage k = 0, 1, . . . as follows: Stage k: The machine computes a ρ-name of fk (x). It searches then in that name a rational a such that a < fk (x) and |fk (x)−a| < 2−k . Then, the machine computes a ρ-name of gk (x). It searches then in that name a rational b such that b > gk (x) and |b − gk (x)| < 2−k . Finally, the machine computes a I1 -name u of ]a, b[, writes ι(u) on the output tape, and goes to stage k + 1. Since fk (x) ≤ ϕ(x) ≤ gk (x) for each k, we have ϕ(x) ∈ I1 (u) for each ι(u) written on the output tape. Reciprocally, let y = ϕ(x) (let’s say y < ϕ(x)). Note that the sequence fk (x) − 2−k also converges to ϕ(x). Then, there exists k0 such that ∀k ≥ k0 , fk (x) − 2k > y. Note a the rational computed in stage k0 . We have a > y and then, y ∈ [a, b]. It proves that M computes a ρb -name of ϕ(x). To finish the proof, note that, by type-conversion, it is trivial that δ ≤ δ→ . Then, from a [δ]ω -name of (fi ) and a [δ]ω -name of (gi ), we can deduce a [δ→ ]ω -name of (fi ) and a [δ→ ]ω -name of (gi ). We conclude applying our main theorem.

24

References [1] Vasco Brattka. Computability over topological structures. Computability and Models, pages 93–136, 2003. [2] Vasco Brattka and Gero Presser. Computability on subsets of metric spaces (preprint submission). Theoretical Computer Science, March 2002. [3] J. Dieudonn´e. Foundations of Modern Analysis. Academic Press, 1960. [4] Hiroyasu Kamo. Effective dini’s theorem on effectively compact metric spaces Preliminary version. Electronic Notes in Theoritical Computer Science, 2004. URL : http://www.elsevier.nl/locate/entcs. [5] Klaus Weihrauch. Computable Analysis. Springer, first edition, 2000. [6] Klaus Weihrauch. Computable analysis. Proceedings of the international conference “Logic and Applications” honouring Yu. L. Ershov on his 60th birthday, pages 165–178, 2002.

25

Annexe B : article sur diverses repr´ esentations des fonctions continues

B

Technical report about several representations of continuous real functions Sylvain Chevillard

Contents 1 Problematic

1

2 Hierarchy of several representations of the sets C(⊆ Rn , C(A, Rm ) ∗ 2.1 The representations δco . . . . . . . . . . . . . . . . . . A A 2.2 The representations δoo and δ→ . . . . . . . . . . . . . . ∗< ∗< 2.3 The representations δoo and δ→ . . . . . . . . . . . . . ∗> ∗> 2.4 The representations δoo and δ→ . . . . . . . . . . . . . ∗= ∗= and δ→ . . . . . . . . . . . . . 2.5 The representations δoo

Rm ) and . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

2 2 5 6 10 12

3 Conclusion

13

References

14 Abstract

In the book of Weihrauch ([1]), many representations of continuous real functions are defined. We will focus particularly on three of them: A A A , δoo and δ→ . These representations are really quickly studied in the δco book. Actually, the question is a bit delicate. In this article, we deeply study these three representations. In particular, we correct a mistake of the book. We also introduce variants of the representations and study the hierarchy we obtain. Keywords: TTE formalism, set of continuous real functions, A A A , δoo and δ→ . closed subsets of Rn , representations δco

1

Problematic

We use the definitions and notations used in [1]. As this is just a technical report, we don’t spend time to recall important results which can be found in this book. We invite the reader to refer to the book whenever he doesn’t know a result or a notation. The main problem of representing the continuous real functions is that the set C(⊆ Rn , Rm ) of all continuous functions defined on a subset of Rn is too big to be represented. Actually, consider all the functions constant to 0 defined 1

on a subset of Rn : this set has the same cardinality as P(Rn ) and can’t be represented. To solve the problem, the book of Weihrauch ([1]) proposes to fix the domain and to define a representation δ A of the set C(A, Rm ) for each A ⊆ Rn . Let’s take an example, to fix the ideas. Let A be any subset of Rn . The most general A A . An infinite word p is a δ→ -name and intuitive representation of C(A, Rm ) is δ→ of f if and only if ηpωω (q) is a ρm -name of f (ρn (q)) for any q ∈ Σω such that ρn (q) ∈ A. Note that η ωω may have any behaviour if q ∈ (ρn )−1 [A] : it can give an answer or not, and if it gives an answer, it may be anything. We see here the big problem: in the one hand we have functions, which are made to be computed. In the other hand, we have a set — the definition domain — which becomes very important since the representation depends on it. The computation and the domain are two different questions but they are hardly linked here, since the computation of the function on a point not in A may give a result. A A A , δoo and δ→ ) are quickly defined and In the book, three representations (δco studied, in the case where A is recursively enumerable closed. At this point, we can make many remarks. As we will see, we don’t need a recursively enumerable closed set to define these representations: the definitions hold very well in the A , we will even see that A doesn’t need general case of a closed set A. For δco to be mentioned: actually, it is a representation of the set C(⊆ Rn , Rm ) of all continuous functions with a closed domain. For the two others, they can be equivalent or not, depending on the nature of A (recursively enumerable closed, co-recursively enumerable closed, recursive). The book pretends in lemma 6.1.7 that the three representations are equivalent in the case of a recursively enumerable closed domain. It is not true, as we will see. The link between a function and its domain is very subtile and more complicate than it seems. These representations, which seemed to be so closed, are actually very different and let us discover interesting subtilities. This paper proposes to study deeply the question of the links between the three representations and the domain. We introduce variants of the three representations which contain some information about the domain. These variants A is) representations of the set C(⊆ Rn , Rm ). An interestare actually (as δco ing classification appears which shows us the links between the representations and the nature of the domain. Given a closed set A, we can restrict the representations to obtain representations of the set of continuous functions with domain A. Depending of the nature of A the hierarchy falls down more or less. The representations we introduce may also be used in situations where one has a name of the domain (for example because it is given as an argument of an operator, together with a name of the function) and the equivalence proved in the paper may then be used.

2 2.1

Hierarchy of several representations of the sets C(⊆ Rn , Rm ) and C(A, Rm ) ∗ The representations δco

A Definition 2.1 (The representation δco ). Let A be a closed set. We define A m A the representation δco of C(A, R ) by δco (p) = f if and only if:

2

(1) ∀w ∈ Σ∗ , ι(w)  p ⇒ w is of the form w = ι(u)ι(v) with u ∈ dom(In ), n v ∈ dom(Im ), In (u) ∩ A = ∅ and f (I (u)) ⊆ Im (v). (2) If we denote by L the set {(u, v) ∈ Σ∗ 2 | ι(ι(u)ι(v))p}, we have {(I, J) ∈ Cb(n) × Cb(m) | I ∩ A = ∅ and f (I) ⊆ J} = {(In (u), Im (v)), (u, v) ∈ L}. We have immediately to do a remark about that representation: it contains some information about the domain A. In that sense, the representation is complete: it lets us compute the represented function (every representation δ defined in this article is such that the operator apply : (f, x) → f (x) is (δ, ρn , ρm ) computable), but it contains also sufficiently enough information to let us compute a name of the domain: Lemma 2.1. Let A be a closed set. Let f be a continuous function with domain A A. From a δco -name of f we can compute a ψ< -name of A. A Proof. Let p be a δco -name of f . Consider the machine which reads the input tape searching the pattern ι(w). When it founds it, it interprets it as ι(w) = ι(ι(u)ι(v)) and writes ι(u) on the output tape. Now consider a ball I intersecting A. Since I ∩ A is a compact, f (I ∩ A) is bounded and there exists a ball J ∈ Cb(m) containing f (I ∩ A). Then, by the second condition of the definition 2.1 there exists (u, v) ∈ Σ∗ 2 with In (u) = I and Im (v) = J and such that ι(ι(u)ι(v))p. Then ι(u) is written by the machine on the output tape. Reciprocally, by the first condition of the definition 2.1, if the machine writes ι(u) on the output tape, In (u) ∩ A = ∅. It proves that the machine computes a ψ< -name of A.

The remark shows that the representation is actually more general than we thought. It is actually a representation of the set C(⊆ Rn , Rm ) of all continuous functions with a closed domain. That is why, in the following, if we see it as a A < but δco (A doesn’t appear representation of C(⊆ Rn , Rm ), we won’t call it δco since the domain must not be fixed, and < is here to recall that we can compute a ψ< -name of the domain). However, in certain particular cases, we we’d like to fix A at the beginning < to represent that and use a representation of the set C(A, Rm ). We can use δco space, restricting the domain to the names representing an f ∈ C(A, Rm ). In A< to recall that A is fixed in advance. such cases, we will note δco < Note that, in general, we can’t compute a ψ> -name of A from a δco -name of f : < Lemma 2.2. There is no continuous function F which, on input a δco -name of a continuous function f , gives a ψ> -name of dom(f ). It follows that there is < no machine translating a δco -name into a ψ> -name of the domain.

Proof. Imagine that such a continuous F exists. We show that we can topologically reduce a ψ< -name of a closed set A into a ψ> -name of A (which we know to be impossible). Let p be a ψ< -name of a closed set A. Let f be the function constant to 0 on A. < We show that there is a machine which, on input p, gives a δco -name q of f . There is a machine N1 which enumerates the ι(u) pattern in p: u0 , · · · , ui , · · · . There is also a machine N2 which, on input λ, writes the complete list of 3

balls J ∈ Cb(m) containing 0: ι(v1 )ι(v2 ) · · · . Combining N1 and N2 , we obtain a machine N which, on input λ, writes ι(w0 )ι(w1 ) · · · where {wi }i∈N = {ι(ui )ι(vj ))}(i, j)∈N2 . N computes a satisfying q. Let G be the function computed by N . It is continuous. F ◦ G is continuous and translates a ψ< -name into a ψ> -name which is absurd. That is why we introduce a new representation of C(⊆ Rn , Rm ): = ). Let f be a continuous function Definition 2.2 (The representation δco = = with a closed domain A. We define δco by δco (p) = f if and only if p is of the < form q, r where δco (q) = f and ψ> (r) = A.

This representation contains more information on A by construction, and is < by the last lemma: not equivalent to δco = < < = Proposition 2.1. We have δco ≤ δco and δco ≤t δco . A< A= and δco of However, if A is a closed set, the two representations δco m < = C(A, R ) are topologically equivalent: δco ≡t δco (but not equivalent). = < < = Proof. δco ≤ δco is trivial and δco ≤t δco comes from lemma 2.2. We just have to prove the topological equivalence. Precisely, we just need A< A= ≤t δco . to prove δco Let r be a ψ> -name of A. The function Ψ : Σω → Σ ω Ψ : q → q, r A< A= A< A= is a (δco , δco ) realization of the identity function. So, it reduces δco to δco . Let’s show that Ψ is continuous. We have Ψ(q) = q1 r1 q2 r2 · · · . Let V be an elementary opened set containing Ψ(q): V = q1 r1 q2 r2 · · · qk Σω . Then, Ψ(U ) ⊆ V with U = q1 q2 · · · qk Σω which is an opened set containing q. However the two representations are not equivalent in general (the proof is the same than the proof of lemma 2.2. Just fix A to be recursively enumerable closed and not co-recursively enumerable closed at the beginning, and use a machine to compute p from λ).

These results are summed up by the following schemas (a plain line symbolizes a computable reduction where the reciprocal topological reduction doesn’t hold; a dotted line symbolizes a computable reduction where the reciprocal topological reduction holds): < δco

A< δco

= δco

A= δco

∗ Figure 1: The representations δco

A∗ Figure 2: The representations δco

Note that in the particular case where A is co-recursively enumerable closed, A< A= we have trivially δco ≡ δco . 4

2.2

A A The representations δoo and δ→

A It is time to introduce the two other main representations we will study: δoo A A and δ→ . Note that δ→ may be defined for any A (even not closed) but we will limit us to the case of a closed set. A ). Let A be a closed set. We define Definition 2.3 (The representation δ→ A m A the representation δ→ of C(A, R ) by δ→ (p) = f if and only if

∀q ∈ (ρn )−1 [A], ρm (ηpωω (q)) = f (ρn (q))

.

In other word, ηpωω is a realization of f on A. Note that anything can happen outside of A. A -name of f : actuNote that we don’t have any information about A in a δ→ A B ally, the same word p is a δ→ -name of f and a δ→ -name of f|B for any B ⊆ A. So, it is important to recall A in the name of the representation: the representation depends on A. A : We also introduce δoo A Definition 2.4 (The representation δoo ). Let A be a closed set. We define A m A the representation δoo of C(A, R ) by δoo (p) = f if and only if:

(1) ∀w ∈ Σ∗ , ι(w)  p ⇒ w is of the form w = ι(u)ι(v) with u ∈ dom(In ), v ∈ dom(Im ), In (u) ∩ A = ∅ and f (In (u)) ⊆ Im (v). (2) If we denote by L the set {(u, v) ∈ Σ∗ 2 | ι(ι(u)ι(v))  p}, we have ∀x ∈ A, ∀k ∈ N, ∃(u, v) ∈ L such that x ∈ In (u) and |Im (v)| < 2−k

.

Here, we have some information about the domain, since the first component of each couple is a ball intersecting A. All the same, we have not so much information in it since there is a word p ∈ Σω which represents two functions with different domains: let u be a word such that In (u) = ] − 1, 1[ and (vk )k∈N be a sequence such that 0 ∈ Im (vk ) and |Im (vk )| < 2−k . Then, ]−1, 1[ p = ι(ι(u)ι(v0 ))ι(ι(u)ι(v1 )) · · · is a δoo -name of the constant function 0 and {0} a δoo -name of the constant function 0. It follows that the domain of a function A -name. can’t be deduced from a δoo A A We study now the relation between δ→ and δoo in the two following lemmas. A A ≤ δ→ . More precisely, there is a machine Lemma 2.3. For any A closed, δoo A A M which, for any closed set A, translates a δoo -name into a δ→ -name (note that the machine doesn’t depend on A). A -name of f . By type-conversion (theorem 3.3.15 of [1]) we Proof. Let p be a δoo A just need to show that the function (f, x) → f (x) is (δoo , ρn , ρm ) computable A n m b m m b or even (δoo , ρ , (ρ ) ) computable since ρ ≡ (ρ ) . So, note q a ρn -name of x ∈ A. We want to compute a (ρm )b -name of f (x). Consider the machine M which operates in stage k = 0, 1, · · · as follows: Stage k: the machine interprets k as k = i, j , searches the i-th pattern ι(u) in q, then searches the last ι(ι(v)ι(w)) pattern satisfying In (u) ⊆ In (v) in the j-th first characters of p. If it exists, the machine writes ι(w) on the output tape, else it doesn’t write anything during that stage.

5

By construction f (x) ∈ Im (w) for each w such that ι(w) is written on the output tape. Reciprocally, if y = f (x), there exists J ∈ Cb(m) such that J contains f (x) and y ∈ J. There exists k ∈ N such that B(f (x), 2−k ) ⊆ J. Applying the second condition of definition 2.4 to x and k+1 we obtain that there exists (v, w) ∈ Σ∗ 2 such that x ∈ In (v), |Im (w)| < 2−k−1 and ι(ι(v)ι(w))  p. m It follows that I (w) ⊆ B(f (x), 2−k ) ⊆ J. Now, there exists u ∈ Σ∗ such that ι(u)  q and In (u) = In (v). It follows that ι(w) is written on the output tape, and then  m y ∈ {I (w), ι(w)  M (p, q)} and M computes a (ρm )b -name of f (x). Lemma 2.4. The reciprocal reduction doesn’t hold in general: we can’t assure A A for any closed subset A that δ→ ≤ δoo . Proof. Consider the function f defined on R by f : x → x. It is easy to show R (p) = f : it that there exists an infinite word p such that p is computable and δ→ ω suffices to consider the machine M which, on input α, β (α ∈ Σ and β ∈ Σω ) writes β on the output tape. Note u ∈ Σ∗ a word such that ξuωω = M . By definition, ξuωω ( 0ω , β ) = β. Then, by definition of η ωω , we have ωω ∀β ∈ Σω , ηu, 0ω  (β) = β

.

R Define p by p = u, 0ω . It is computable and a δ→ -name of f . Now, consider a ∈ R a non-computable point. Let A = {a}. Consider the A function g defined on A by g(a) = a. Then, p is also a δ→ -name of g. Imagine A that a machine N can compute from p a δoo -name q of g. Consider the machine N  which, on input λ, computes p and then simulates N on p to obtain q, and then searches every ι(ι(v)ι(w)) pattern in q and writes ι(w) on the output tape. The machine N  actually computes a (ρm )b -name of g(a) = a which is absurd since a is not computable.

We will study the question of the reciprocal reduction more deeply later. Let’s just say that the topological reduction holds and that in the particular case of a recursively enumerable closed set A, the (computational) reduction holds too.

2.3

∗< ∗< The representations δoo and δ→

A The lemma 2.1 and the remarks concerning the information contained in δ→ A A A< A A< and δoo about the domain show that δ→ ≡ δco and δoo ≡ δco . It comes from A A the fact that the representations δ→ and δoo don’t contain enough information about the domain of the function. In particular, they don’t contain enough information to compute a ψ< -name of it. The natural idea is then to define two new representations which encode a ψ< -name of A (the same way as we have done in the definition 2.2) and to study the relations between those new < representations and δco . < < ). We define the representation δoo Definition 2.5 (The representation δoo n m < of C(⊆ R , R ) by δoo (p) = f if and only if p is of the form q, r with r ∈ A (q) = f . dom(ψ< ) and, if we note ψ< (r) = A, δoo

6

< < Definition 2.6 (The representation δ→ ). We define the representation δ→ < of C(⊆ Rn , Rm ) by δ→ (p) = f if and only if p is of the form q, r with r ∈ A dom(ψ< ) and, if we note ψ< (r) = A, δ→ (q) = f . < < ≤ δ→ (direct corollary of the lemma 2.3). The Trivially we have also δoo interesting thing is that, in that case, the reciprocal reduction holds: < < ≤ δoo . It follows Proposition 2.2. The reciprocal reduction holds here: δ→ < < that the representations are equivalent: δoo ≡ δ→

Proof. We just need to prove that we can compute, from a ψ< -name of A and A A a δ→ -name of f , a δoo -name of f (the conclusion is then straightforward). A Let p be a δ→ -name of f and q be a ψ< -name of A. We may assume that p is a [(ρn )a → ρm ]A -name of f since ρn ≡ (ρn )a . The set L of all u ∈ Σ∗ such that ∃α ∈ dom(ρn )a such that u < α, is recursive. Consider the machine M which on input p and q operates in stage k = 0, 1, · · · as follows: Stage k: The machine interprets k as k = i, j , finds the i-th word u of L, finds the j-th pattern ι(v) in q and finds the last pattern ι(v  ) in u. If In (v) = In (v  ), the machine goes directly to stage (k + 1). Else, it simulates the computation of the machine ηpωω on the input u0ω until the machine ηpωω tries to read a character after ι(v  ). It computes then the intersection of all Im (w) where ι(w) is a subword of the word written on the output tape of ηpωω . We obtain so a word z such that Im (z) is the computed intersection. The machine finally writes ι(ι(v)ι(z)) on its own output tape. A -name of f : by construction, the first condition of definiM (p, q) is a δoo tion 2.4 holds. Now, let x ∈ A and k ∈ N. Let J ∈ Cb(m) containing f (x) and such that |J| < 2−k . Note α ∈ Σω such that (ρn )a (α) = x. By definition, there exists a w such that ι(w)  ηpωω (α) and Im (w) = J. Since partial results of a computation always need only a finite part of the input tape, there exists a finite prefix u of α sufficient to obtain ι(w) in the result. Consider the smallest one ending by a ι(v  ) pattern. Now, x ∈ In (v  ) and then there exists a word v such that ι(v)  q and In (v) = In (v  ). Note i the rank of u in L and j the rank of ι(v) in q. Consider the stage i, j . The machine will compute a word z which is the intersection of all intervals coded in the output tape of ηpωω . Im (w) is one of these intervals. It follows that ι(ι(v)ι(z))  M (p, q) with f (x) ∈ Im (z) ⊆ Im (w) (and then |Im (z)| ≤ |Im (w)| < 2−k ). A This result is interesting since it shows in what way the representations δoo A and δ→ are different: we knew that it was because information about the domain was missing. We know now that the information of a ψ< -name suffices to let the representation be equivalent. In particular, in the case where A is recursively enumerable closed (that is that a ψ< -name is computable), the representations A A δoo and δ→ are equivalent. < contains in it the ψ< information As we have seen, the representation δco < about the domain. And this representation seems to be not so far from δoo . One < may easily think that δco is equivalent to the two others, after the good surprise of the proposition 2.2. Note that a direction is quite easy: < < < < is reducible to δ→ : δco ≤ δ→ . Proposition 2.3. The representation δco < -name of f , a Proof. We just need to show that we can compute from, a δco A < δ→ -name of f (the conclusion is then straightforward since a δco contains ψ
of C(⊆ R , R ) by δoo (p) = f if and only if p is of the form q, r with r ∈ A dom(ψ> ) and, if we note ψ> (r) = A, δoo (q) = f . > > ). We define the representation δ→ Definition 2.8 (The representation δ→ n m > of C(⊆ R , R ) by δ→ (p) = f if and only if p is of the form q, r with r ∈ A dom(ψ> ) and, if we note ψ> (r) = A, δ→ (q) = f . > > Trivially we have also δoo ≤ δ→ (direct corollary of the lemma 2.3). But in that case, the reciprocal reduction doesn’t hold: > > > > is not even topologically reducible to δoo : δ→ ≤t δoo . Proposition 2.5. δ→

Proof. We adjust the proof of lemma 2.4. Suppose that a continuous function > > -name into a δoo one. Then, there is a continuous function F translate a δ→ dom(f ) > translating a δ→ -name of a function f into a δoo -name of f . R Note p a computable δ→ -name of x → x (see lemma 2.4). We show that a continuous function translate a ψ> -name of a set A into a ψ< -name of it (which we know to be impossible). Let A be a closed set. Let q be a ψ> -name of A. > A -name of f|A . Note r = F ( p, q ): r is a δoo -name of f . Then p, q is a δ→ Consider the machine which, on input r, searches every ι(w) pattern in it, decodes w as w = ι(u)ι(v) and writes ι(v) on the output tape. We show that the output tape has the following property: if L lists all I1 (v) such that ι(v) appears on the output tape, we have ∀I ∈ L, I ∩ A = ∅ and ∀x ∈ A, ∀k ∈ N, ∃I ∈ L, x ∈ Iand|I| < 2−k . First of all, remark that if ι(v) is written on the output tape, I1 (v)∩A = ∅: by the first condition of the definition 2.4, I1 (u) ∩ A = ∅. Let x be in the intersection. f (x) = x ∈ I1 (v) (always by the first condition of the definition 2.4). Now, let x ∈ A and k ∈ N. By the second condition, there exists a u and a v listed in r such that x ∈ I1 (u) and |I1 (v)| < 2−k . Since f (x) = x ∈ I1 (v), we have the second property. 10

We can clearly compute, from the output tape, a ψ< -name of A. In conclusion, there is a machine which computes, from r, a ψ< -name of A. It is a computable (and then, continuous) function G. Now, H : q → (G ◦ F )( p, q) is continuous and translates ψ> -names into ψ< -names. There are also some trivial remarks about these representations: > < > < ≤t δ→ (if δ→ ≤ t δ→ , we can topologically translate a ψ> -name of a • δ→ closed set into a ψ< one). < > < > < = • δco ≤t δoo (if δco ≤t δoo , we can topologically reduce δco to δco ). = > • δco ≤ δoo (if the reader remembers the results presented before, it is absolutely trivial). > = > = > < • δoo ≤t δco (if δoo ≤t δco , we have δoo ≤t δoo and we can translate a ψ> -name of a closed set into a ψ< one). A> A A> A A> A> • δoo ≤ δoo and δ→ ≤ δ→ (just a projection). And trivially δoo ≤ δ→ . A> A> A A> A A> ≤t δoo , δoo ≤t δoo and δ→ ≤ t δ→ (follow the same way than the • δ→ A> A A> A ≡ t δ→ ≡t δoo ≡t δoo . proof of proposition 2.1). In other words: δ→ A> A> A> A> , δoo ≤ δ∗A< , δ∗A< ≤ δ→ and δ→ ≤ δ∗A< (because • But δ∗A< ≤ δoo we can’t compute a ψ< -name of a closed set from a ψ> -name of it and reciprocally). A= A> A> A= • δco ≤ δoo (trivially) and δoo ≤t δco (this result is a corollary of a result A= A= we will see later: δco ≡ δ→ ). A A> A A> A> A A A> A • But δoo ≤ δ→ and δ→ ≤ δoo and δ→ ≤ δoo and δ→ ≤ δoo . (δ→ and A δoo don’t contain information about the domain).

All these results are not so clear to read, but so easy to understand with a schema: A δ→ > δ→

> δoo      <  δco       = δco

A δoo

A> δ→

A< A< δ→ ≡ δoo

A> δoo

< < δ→ ≡ δoo

A< δco

A= δco

11

2.5

∗= ∗= The representations δoo and δ→

We introduce to finish the paper our two last representations, adding both a ψ< -name and a ψ> -name of the domain to our two representations: = = ). We define the representation δoo Definition 2.9 (The representation δoo n m =  of C(⊆ R , R ) by δoo (p) = f if and only if p is of the form q, r, r with r ∈ dom(ψ< ), r ∈ dom(ψ> ), ψ< (r) = ψ> (r ), and, if we note ψ< (r) = A, A δoo (q) = f . = = ). We define the representation δ→ Definition 2.10 (The representation δ→ n m =  of C(⊆ R , R ) by δ→ (p) = f if and only if p is of the form q, r, r with r ∈ dom(ψ< ), r ∈ dom(ψ> ), ψ< (r) = ψ> (r ), and, if we note ψ< (r) = A, A δ→ (q) = f .

The surprise here is that we finally obtain the equivalence that we searched from the beginning: = = = , δoo and δ→ are equivalent: Proposition 2.6. The representations δco = = = δco ≡ δoo ≡ δ→

.

< < = = ≡ δ→ that δoo ≡ δ→ , and since other relations Proof. Since it is trivial from δoo = = are also trivial, we just have to prove that δoo ≤ δco . = = = ≤ δco ] Let p = q, r, r be a δoo -name of f . Let u ∈ Σ∗ such that [δoo n m I (u) ∩ A = ∅ and let v ∈ dom(I ). We prove that there exists a machine N n which stops on inputs p, u, and v if and only if f (I (u)) ⊆ Im (v). Consider the following machine N1 which on input p and v searches every ι(ι(u)ι(v  )) pattern in q. If Im (v  ) ⊆ Im (v), it writes ι(u) on the output tape and continues. Quickly said, N1 computes a list L of all I ∈ Cb(n) such that there is a J ∈ Cb(m) with J ⊆ Im (v) and such that (I, J) is listed in q. Let x ∈ A such that f (x) ∈ Im (v). There exists a k ∈ N such that B(x, 2−k ) ⊆ Im (v). Then applying the second condition of definition 2.4 with x and k + 1, there exists (u, v  ) ∈ Σ∗ 2 such that ι(ι(u)ι(v  ))  q, x ∈ In (u) and |Im (v  )| < 2−k−1 . Then Im (v  ) ⊆ Im (v). That proves that

  −1 m f [I (v)] ⊆ I ∩A . I∈L

Reciprocally, if x ∈ I ∩ A for an I ∈ L, there exists J such that (I, J) is listed in q and J ⊆ Im (v). It follows that f (x) ∈ f (I) ⊆ J ⊆ Im (v) and then x ∈ f −1 [Im (v)]. Note now that n

⇐⇒ ⇐⇒

f [I (u)] ⊆ Im (v) n I (u) ∩ A ⊆ f −1 [Im (v)]

  n I (u) ∩ A ⊆ I ∩A I∈L

⇐⇒

n

I (u) ∩ A ⊆



I∈L

12

I

.

n

Remark that I (u)∩A is compact. We have explicitly a bound of the compact n since we now explicitly I (u). Note also that we can easily compute a ψ> -name n of I (u). Since r is a ψ> -name of A and the intersection is (ψ> , ψ> , ψ> ) n computable, we can compute a ψ> -name of I (u) ∩ A and then a κ> -name of it. Now we know that we can determine in a finite time from a κ> -name of a compact if an explicit union of opened balls covers it. That proves that N exists. The hardest part of the work is now done. Remark that we just need to A -name of f from p since we already have a prove that we can compute a δco  ψ> -name r of the domain. Consider the machine M which on input p and r operates in stage k = 0, 1, · · · as follows: Stage k: The machine interprets k as k = i, j, a , finds the i-th pattern ι(u) in r, determine the j-th word v of dom(Im ) and then simulates N on p, u and v during a steps. If the machine stops before, it writes ι(ι(u)ι(v)) on the output tape. Else it goes to stage (k + 1). By construction the first condition of definition 2.1 holds for the infinite word computed by M . Now, if (I, J) is such that I ∩A = ∅ and f (I) ⊆ J, there exists a word u such that In (u) = I and ι(u)  q. Note v a word such that Im (v) = J. The machine N stops on input p, u and v (let’s say after a + 1 steps) so that ι(ι(u)ι(v)) is written by M . A= A= A= As an immediate corollary, we obtain δco ≡ δoo ≡ δ→ which lets us draw our final schemas:

A δ→ > δ→ A> δ→

A< A< δ→ ≡ δoo

A> δoo

< < δ→ ≡ δoo

= δco

> δoo      <  δco       = = ≡ δoo ≡ δ→

A δoo

A< δco

A= A= A= δco ≡ δoo ≡ δ→

Figure 5: Final hierarchy

Figure 6: Hierarchy for C(A, Rm )

3

Conclusion

A A A We have shown that the three representations δ→ , δoo and δco may be defined n for any closed subset A of R , even a not recursively enumerable one. But the

13

three representations are no longer equivalent in the general case. We have then introduced many new representations (which are actually representations of the set C(⊆ Rn , Rm )) adding a name of the domain to the name of the function and we have studied the relations of reducibility between these representations. We have shown that there ii many surprising results and we have explained an error of the book of Weihrauch ([1]). The final hierarchy is summed up in the figure 2.5. We have also introduced representations of the set C(A, Rm ) restricting our representations and studied the hierarchy. In particular, we have seen that they are all topologically equivalent. The general case is summed up in the figure 2.5. To conclude this paper, we have to precise a bit more what becomes this hierarchy whenever A has some interesting properties (recursively enumerable closed and so on): A A< A< A δ→ ≡ δ→ ≡ δoo ≡ δoo

A A> δ→ ≡ δ→

A< δco

A A> δoo ≡ δoo

A= A= A= A> A> δco ≡ δoo ≡ δ→ ≡ δoo ≡ δ→

A< A= A= A< A= A< δco ≡ δco ≡ δoo ≡ δoo ≡ δ→ ≡ δ→

Figure 7: Case where A is r.e.

Figure 8: Case where A is co-r.e.

Combining the case where A is recursively enumerable closed and the case where A is co-recursively enumerable closed, we obtain that all the representations are equivalent in the case where A is recursive: we deduce the classical result of equivalence. Corollary 3.1. Assume that A is recursive. The hierarchy falls down and in this particular case, the three representations introduced in the book of Weihrauch are equivalent. We find the classical result.

References [1] Klaus Weihrauch. Computable Analysis. Springer, first edition, 2000.

14