Keyboards as a new model of computation
Yoan Géran, Bastien Laboureix, Corto Mascle, Valentin D. Richard
aa r X i v : . [ c s . F L ] M a r Les claviers, un modèle de calcul
Yoan Geran ∗ Bastien Laboureix † Corto Mascle ‡ Valentin D. Richard § École Normale Supérieure Paris-SaclayFévrier 2020
Résumé
Nous introduisons ici une nouvelle représentation de langages, les claviers . On semunit d’un ensemble d’opérations élémentaires (ajout/effacement d’une lettre, dé-placement à droite/gauche,...), et on définit un clavier comme un ensemble de suitesfinies d’opérations élémentaires, appelées touches. Son langage va être l’ensembledes mots obtenus en appliquant une suite quelconque de touches. Contrairement àdes modèles de calcul classiques comme les machines de Turing ou les grammaires,toutes les touches peuvent être appliquées à tout moment.Nous nous intéressons ici à plusieurs problèmes fondamentaux sur ce modèle decalcul. En premier lieu nous définissons différentes classes de claviers en faisantvarier l’ensemble des opérations élémentaires autorisées, et nous comparons l’ex-pressivité des classes de langages obtenues entre elles. Nous comparons égalementces classes à des classes de langages connues, notamment les langages réguliers,algébriques et contextuels.Nous étudions également certains problèmes de décision découlant naturellementde l’étude des claviers. Les deux plus importants sont le problème du mot , consis-tant à tester si un clavier peut engendrer un mot donné, et le problème de l’univer-salité, consistant à tester si un clavier peut engendrer tout mot sur son alphabet.Nous obtenons que toutes les classes étudiées sont différentes, et nous caractéri-sons les classes inclues dans les rationnels et les algébriques. Nous déduisons desinclusions de certaines classes dans des classes de langages connues la décidabilitéde certains problèmes de décision évoqués plus haut. ∗ [email protected] † [email protected] ‡ [email protected] § [email protected] ID l semble ainsi que l’expressivité des claviers soit orthogonale à celle de nombreuxmodèles connus. En effet, les claviers sont limités par leur absence de mémoire, maiscette faiblesse peut être compensée par l’ajout d’opérations élémentaires commel’effacement ou les déplacements, difficiles à simuler dans des modèles comme lesautomates sans gagner l’expressivité des machines de Turing. Table des matières
Introduction 41. Définitions et notations 5
2. Propriétés des claviers 13
3. Les langages de claviers 22 MK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.1.2. EK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.1.3. RK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.1.4. REK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.2. Les claviers sans flèche droite . . . . . . . . . . . . . . . . . . . . . . . . 283.2.1. GK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.2.2. GEK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.2.3.
GRK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2.4.
GREK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.3. Les claviers sans retour . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.3.1. FK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.3.2. FEK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.4. Étude de l’automatisme . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.4.1.
FRK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.4.2.
FREK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 onclusion 35A. Propriétés des claviers 37
A.1. Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37A.2. Les claviers sans flèches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44A.3. Les claviers sans flèche droite . . . . . . . . . . . . . . . . . . . . . . . . 46A.4. Les claviers sans retour . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
B. Les langages de claviers 49
B.1. Les langages sans flèches . . . . . . . . . . . . . . . . . . . . . . . . . . . 49B.1.1. RK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49B.1.2. REK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49B.2. Les langages sans flèche droite . . . . . . . . . . . . . . . . . . . . . . . . 62B.2.1. GK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62B.2.2. GEK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62B.2.3.
GRK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63B.2.4.
GREK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64B.3. Les claviers sans retour . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66B.3.1. FK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66B.3.2. FEK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67B.4. Étude de l’automatisme . . . . . . . . . . . . . . . . . . . . . . . . . . . 70B.4.1.
FREK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703 ntroduction
On s’intéresse ici à la modélisation mathématique d’un clavier défectueux, où les diffé-rentes touches ne produisent pas forcément l’effet escompté. Par exemple, la touche g peut écrire le mot « rapide » et la touche h efface les trois caractères à gauche du curseur.Dans cette situation, lorsque l’utilisateur veut écrire le mot « rap », il lui suffit d’appuyersur g puis sur h .Mais peut-on tout écrire ? Peut-on écrire un mot donné ? Tout dépend de notre clavier !Nous cherchons donc un algorithme de calcul de la suite de touche à taper pour obtenir unmot donné. Cela paraît relativement simple à première vue lorsque les seules opérationseffectuées par les touches sont l’écriture de lettres. Nous avons ainsi ajouté le retourarrière et les flèches directionnelles, qui compliquent significativement le problème.Nous nous sommes intéressés à la notion de langage de clavier, à savoir l’ensemble desmots qui peuvent être écrits à partir d’un ensemble fini de touches défectueuses. Lesdifférentes classes de clavier (selon que l’on autorise ou non le retour arrière ou les flèchesdirectionnelles) forment une hiérarchie de langages et les ajouts d’opérations augmententstrictement l’expressivité des claviers.Par exemple, nous montrons dans ce document que les claviers sans flèche directionnellene peuvent exprimer que des langages rationnels. Les claviers où la flèche direction-nelle droite est interdite (mais la flèche gauche est autorisée) sont quant à eux tousalgébriques.Il semble ainsi que l’expressivité des claviers soit orthogonale à celle de nombreux modèlesconnus. En effet, les claviers sont limités par leur absence de mémoire et leur incapacitéà lire, mais cette faiblesse peut être compensée par l’ajout d’opérations élémentairescomme l’effacement ou les déplacements, difficiles à simuler dans des modèles classiquescomme les automates.Le modèle existant le plus proche à notre connaissance est celui des automates oublieux( forgetting automata ), ainsi que définis par Jančar, Mráz et Plátek [3]. Ceux-ci auto-risent des opérations similaires à celles que nous considérons pour les claviers, mais s’endistinguent car les claviers ne peuvent pas lire et ne possèdent pas d’états.Nous commencerons par définir la sémantique des claviers via la notion d’opérationsélémentaires et de configurations. Nous introduirons également deux types de clavier :manuels et automatiques. Nous donnerons ensuite quelques propriétés fondamentales desclaviers, dans le cas général ou pour des classes plus restreintes. Enfin, nous parleronsde la hiérarchie des langages de clavier et montrerons qu’elle est stricte.4 . Définitions et notations Dans cette section, nous fixons les notations utilisées dans le document. On fixe unalphabet fini A . Définition 1.1.1 (Mot)
Un mot w = a . . . a n est une suite finie sur A . On note w i ou w [ i ] la i e lettre de w . n est la longueur de w , que l’on notera | w | . Définition 1.1.2
On note A k l’ensemble des mots de longueur k , A ≤ q ceux de longueurs inférieures ouégales à k et A ∗ l’ensemble de tous les mots. A ≤ k = [ ≤ i ≤ k A i et A ∗ = [ k ∈ N A k . On fixe A un alphabet fini. Pour tout k ∈ N , on note A k l’ensemble des mots de longueur k , A ≤ k = [ ≤ i ≤ k A i et A ∗ = [ k ∈ N A k . Étant donné un mot w = a · · · a n , on notera w i ou w [ i ] la i e lettre de w , à savoir a i . Lalongueur de w est notée | w | et le nombre d’occurrences de la lettre a dans w est notée | w | a . On désigne par ˜ w le miroir de w . Étant donnés deux indices 1 ≤ i ≤ j ≤ n , onnote w [ i, j ] le mot w i . . . w j . Si i > j alors w [ i, j ] désigne le mot vide.On note Pref( w ) l’ensemble des préfixes de w , Suff( w ) l’ensemble de ses suffixes etFact( w ) l’ensemble de ses facteurs. Un sous-mot de w est un mot de la forme w i · · · w i k avec i , . . . , i k une suite strictement croissante d’éléments de { , . . . , | w |} , et on noteSumo( w ) l’ensemble des sous-mots de w .On représentera un automate fini sur A par un tuple ( Q, ∆ , Init , Fin) avec Q un ensemblefini d’états, ∆ : Q × A → Q une fonction de transition, Init et Fin des ensembles d’étatsinitiaux et finaux. On étend ∆ à Q × A ∗ en posant, pour tout q ∈ Q , w ∈ A ∗ et a ∈ A , ∆( q, ε ) = { q } et ∆( q, wa ) = ∆(∆( q, w ) , a ). Dans la suite on pourra autoriser les ε -transitions pour simplifier les preuves.On représentera un automate à pile sur A par un tuple ( Q, Γ , ⊥ , ∆ , Init , Fin) avec5 Q un ensemble fini d’états ;— Γ un alphabet de pile fini ;— ⊥ ∈ Γ un symbole de fond de pile ;— ∆ : Q × A × (Γ ∪ {−} ) → Q une fonction de transition ;— Init et Fin des ensembles d’états initiaux et finaux.L’acceptation se fait par état final et pile vide et les transitions de ∆ sont sous la forme s a −−−−→ op , op s avec— op = ↓ γ si on empile un symbole γ ∈ Γ, et op = − si on n’empile rien.— op = ↑ γ si on dépile un symbole γ ∈ Γ, et op = − si on ne dépile rien. Notre objectif est de modéliser l’écriture d’un mot à partir d’une liste d’actions écri-vant des symboles. Les caractères de A sont les lettres que nous pourrons écrire. Nousconsidérons également les symboles spéciaux suivants :— le retour arrière ← ;— La flèche gauche ◭ ;— La flèche droite ◮ .Nous notons alors S l’ensemble de tous les symboles possibles ; S , A ∪ {← , ◭ , ◮ } . Définition 1.2.1 (Configuration)
Nous appelons configuration un élément ( u, v ) de A ∗ × A ∗ . Nous notons C = A ∗ × A ∗ l’ensemble des configurations. Remarque 1.2.2
Intuitivement, être dans la configuration ( u, v ) correspond à avoir uv écrit sur la zonede texte et avoir le curseur placé entre u et v . Nous noterons les configurations h u | v i (où | représente le curseur). Définition 1.2.3 (Opération élémentaire)
Nous appelons opération élémentaire sur S un élément de S .6 éfinition 1.2.4 (Action) L’action h u | v i · s d’une opération élémentaire s sur une configuration h u | v i est définie dela manière suivante. h u | v i · a = h ua | v i si a ∈ A. h ε | v i · ← = h ε | v i et h u ′ a | v i · ← = h u ′ | v ih ε | v i · ◭ = h ε | v i et h u ′ a | v i · ◭ = h u ′ | av ih u | ε i · ◮ = h u | ε i et h u | av ′ i · ◮ = h ua | v ′ i Soit s ∈ S . Nous noterons h u | v i s −→ h u ′ | v ′ i pour h u | v i · s = h u ′ | v ′ i . Remarque 1.2.5
Une opération élémentaire correspond à une action de base. Ainsi, une touche de A écritune lettre de A , ◭ et ◮ permettent de se déplacer, et ← permet de supprimer une lettre. Remarque 1.2.6
Les touches ← et ◭ ne font rien dans une configuration de la forme h ε | v i (quand lecurseur est sur le bord gauche du mot). De même, la touche ◮ ne fait rien dans uneconfiguration de la forme h u | ε i (quand le curseur est sur le bord droit du mot). Exemple 1.2.7
La suite d’opérations élémentaires ← , a , ◮ , ◮ , b , permet de passer de la configuration h c | d i à la configuration h adb | ε i . h c | d i ← −→ h ε | d i a −→ h a | d i ◮ −→ h ad | ε i ◮ −→ h ad | ε i b −→ h adb | ε i . Cette même suite d’opérations élémentaires permet de passer de h c | de i à h adeb | ε i , aveccette fois-ci deux lettres entre a et b . Remarque 1.2.8
Dans la suite, nous confondrons allègrement « action » et « opération élémentaire ».
Définition 1.2.9 (Sémantique efficiente)
Une sémantique alternative des opérations élémentaire, que nous appellerons sémantiqueefficiente , consiste à interdire l’application d’un retour arrière ou d’une flèche gauche surle bord gauche d’un mot, ou d’une flèche droite sur le bord droit.Formellement, on définit cette fois les opérations élémentaires comme des relations de7éécriture sur les configurations. Pour tous u, v ∈ A ∗ , a ∈ A on a : h u | v i a −→ e h ua | v ih u ′ a | v i ← −→ e h u ′ | v ih u ′ a | v i ◭ −→ e h u ′ | av ih u | av ′ i ◮ −→ e h ua | v ′ i On définit alors ⊙ par h u | v i ⊙ s = h u ′ | v ′ i si et seulement si h u | v i s −→ e h u ′ | v ′ i . Définition 1.2.10 (Touche)
Une touche est un élément de S ∗ ; c’est un mot sur les opérations élémentaires (et doncnous pouvons également voir les touches comme des suites d’actions élémentaires).Nous notons T ( S ) l’ensemble des touches sur S . Lorsque S est donné par le contexte,nous noterons simplement T l’ensemble des touches. Définition 1.2.11 (Action d’une touche)
L’action d’une touche de T ( S ) sur une configuration est définie inductivement par ( h u | v i · ε = h u | v ih u | v i · st = ( h u | v i · s ) · t Nous étendons également l’écriture h u | v i t −→ h u ′ | v ′ i pour h u | v i · t = h u ′ | v ′ i aux touches. Exemple 1.2.12
L’action de la touche ← mi permet de passer de la configuration h u | ne i à la configuration h mi | ne i . Remarque 1.2.13
Appliquer une touche revient à appliquer l’action de chaque touche élémentaire la com-posant.
Remarque 1.2.14
Nous définissons de même l’action d’une touche pour la sémantique efficiente par h u | v i ⊙ ε = h u | v i et h u | v i ⊙ st = h u | v i si et seulement s’il existe h u | v i telle que h u | v i ⊙ s = h u | v i ∧ h u | v i ⊙ t = h u | v i . Et bien sûr, nous avons là aussi la notation h u | v i t −→ e h u | v i . Remarque 1.2.15
Dans la suite, nous considérerons parfois des suites de touches τ = t . . . t n ∈ T ∗ . L’action8e τ , en sémantique classique ou en sémantique efficiente, doit alors être vue commel’action de la touche correspond à la concaténation des t i . Cela correspond à appliquerchaque touche l’une après l’autre. Définition 1.2.16 (Taille d’une touche et nombre d’occurrences)
Soit t une touche. La taille de t , notée | t | est sa longueur en tant que mot.De plus, pour s ∈ S , on note | t | s le nombre d’occurrences du symbole s dans t .De même, la taille d’une configuration h u | v i est définie par |h u | v i| = | u | + | v | . Définition 1.2.17 (Clavier automatique)
Soit S un ensemble de symboles. Un clavier automatique sur S est un sous-ensemble finide T ( S ). Définition 1.2.18 (Exécution d’un clavier automatique)
Soit K un clavier automatique et c = h u | v i une configuration dite initiale. Une exé-cution de K sur c est une suite finie ρ = (( t , c ) , . . . , ( t n +1 , c n +1 )) ∈ ( K × C ) n +1 avec n ∈ N telle que ∀ i ∈ J n + 1 K , c i − t i −→ c i . Si ce n’est pas précisé, une exécution est sur la configuration initiale vide h ε | ε i . Définition 1.2.19 (Reconnaissance par un clavier automatique)
Soit K un clavier automatique et w ∈ A ∗ . On dit que w est reconnu par K s’il existeune exécution de A de dernière configuration h u | v i telle que uv = w . Exemple 1.2.20
Soit K = { aa } et soit n ∈ N ∗ . K reconnaît le mot a n avec l’exécution h ε | ε i aa −→ D a (cid:12)(cid:12)(cid:12) ε E aa −→ D a (cid:12)(cid:12)(cid:12) ε E . . . aa −→ D a n (cid:12)(cid:12)(cid:12) ε E . Remarque 1.2.21
Attention, on demande qu’une exécution soit non vide ; il faut donc appuyer sur aumoins une touche du clavier. En particulier, ε n’est pas toujours reconnu par un clavierautomatique. Définition 1.2.22 (Langage d’un clavier automatique)
Soit K un clavier automatique. On appelle langage de K , noté L ( K ), l’ensemble desmots w qui sont reconnus par K . Exemple 1.2.23
On a L ( K ) = ( aa ) + . 9 .2.4. Claviers manuels À première vue, les claviers automatiques semblent un peu limités. Il semble par exempleimpossible d’obtenir un clavier de langage ( aa ) ∗ a . En effet, nous aimerions écrire deux a (une touche aa ) et une touche a qui serait utilisée à la fin... Mais nous n’avons pas denotion de fin de saisie. Définition 1.2.24 (Clavier manuel)
Un clavier manuel sur S est un couple d’ensembles finis de touches ( T, F ) ⊂ T ( S ) ∗ ×T ( S ) ∗ . F est appelé ensemble des touches finales du clavier et T ensemble des touchestransientes du clavier. Définition 1.2.25 (Exécution acceptante d’un clavier manuel)
Soit K = ( T, F ) un clavier manuel et c = h u | v i une configuration dite initiale. Uneexécution acceptante de K sur c est une suite finie ρ = (( t , c ) , . . . , ( t n +1 , c n +1 )) ∈ ( K × C ) n +1 pour n ∈ N telle que— pour tout i ∈ J n + 1 K , c i − t i −→ c i ;— pour tout i ∈ J n K , t i ∈ T ;— t n +1 ∈ F .Si ce n’est pas précisé, une exécution est sur la configuration initiale vide h ε | ε i .On parlera d’exécution dans le cas général lorsque t n +1 ∈ T ∪ F . Remarque 1.2.26
Avec les claviers manuels, nous avons rajouté la notion de fin de saisie à travers les touchesacceptantes qui sont les touches qui mènent à une fin de saisie après avoir effectué leuraction.
Définition 1.2.27
Nous définissons la reconnaissance et les langages pour les claviers manuels de la mêmemanière que plus tôt, pour les claviers automatiques.
Exemple 1.2.28
Nous reconnaissons facilement le langage ( aa ) ∗ a avec le clavier manuel K = ( { aa } , { a } ). Théorème 1.2.29 (Simulation)
Soit K a un clavier automatique. Alors il existe un clavier manuel qui reconnaît le mêmelangage que K a . Preuve
Le clavier K m = ( K a , K a ) reconnaît le même langage que K a . (cid:3) Ce théorème nous permet de définir les claviers généraux en se basant uniquement surles claviers manuels.
Remarque 1.2.30
Une touche acceptante peut être vue comme une touche se terminant par le symbole10 Entrée » noté (cid:4) . Ceci nous permet de noter les claviers en utilisant un seul ensemble.Par exemple, { aa , a (cid:4) } correspond au clavier K vu en exemple 1.2.28.L’entrée peut alors être vue comme un symbole qui n’apparaît qu’à la fin des toucheset qui permet de finir la saisie. On appelle alors les claviers automatiques des claviers« sans entrée », dans le sens où il n’y a pas besoin du symbole (cid:4) pour être accepté. Définition 1.2.31 (Clavier)
Nous appelons clavier un clavier manuel. Nous notons
Clav l’ensemble des claviers.
Définition 1.2.32 (Taille d’un clavier)
Soit K = ( T, F ) un clavier. Nous définissons la taille de K notée | K | par | K | = X t ∈ T ( | t | + 1) + X t ∈ F ( | t | + 1)et nous définissons sa norme infinie par k K k ∞ = max k ∈ T ∪ F | k | . Nous avons plusieurs symboles spéciaux qui nous permettent d’avoir des claviers avec(potentiellement) plus d’expressivité. Il paraît raisonnable de s’intéresser aux langagesque l’on peut reconnaître avec des claviers où certains de ces symboles ne sont pasdisponibles.
Définition 1.2.33 (Clavier minimal)
On appelle clavier minimal un clavier ne contenant aucun symbole spécial. Il s’agit doncd’un clavier automatique sans ◮ , ◭ et ← . Nous notons MK l’ensemble des claviersminimaux. Remarque 1.2.34
Nous construisons nos autres classes en partant des claviers minimaux auxquels on ra-joute certaines possibilités de symboles spéciaux. Les noms des classes sont obtenus enrajoutant R (pour ← ), E (pour (cid:4) , qu’on peut considérer, rappelons-le, comme un sym-bole), G (pour ◭ ) et F (pour ◭ et ◮ ) à K . Ainsi, en fonction des symboles spéciauxautorisés, on a ces différentes classes. MK : {} GK : { ◭ } FK : { ◭ , ◮ } EK : { (cid:4) } GEK : { ◭ , (cid:4) } FEK : { ◭ , ◮ , (cid:4) } RK : {←} GRK : { ◭ , ←} FRK : { ◭ , ◮ , ←} REK : {← , (cid:4) } GREK : { ◭ , ← , (cid:4) } FREK : { ◭ , ◮ , ← , (cid:4) } emarque 1.2.35 L’ajout de ◮ sans ◭ n’apporte pas d’expressivité car, sans ◭ , le curseur reste toujoursà droite du mot écrit. Remarque 1.2.36
Nous dirons souvent qu’un langage de clavier est dans une certaine classe pour indiquerqu’il est reconnu par un clavier de cette classe. Ainsi, nous dirons que L est dans FK s’ilexiste K ∈ FK tel que L = L ( K ).Nous définissons enfin deux problèmes de décision fondamentaux sur les claviers. Définition 1.2.37
Soit K une classe de claviers, on définit les deux problèmes de décision suivants.Problème du mot : Donnée : K ∈ K et w ∈ A ∗ Question : w ∈ L ( K ) ?Problème d’universalité : Donnée : K ∈ K Question : L ( K ) = A ∗ ?12 . Propriétés des claviers Avant de rentrer dans le vif du sujet et de nous attaquer à l’étude des langages de claviers,nous établissons des propriétés sur les différents types de claviers. Elles faciliteront alorsnos études ultérieures.
Commençons par exprimer le fait qu’une touche d’un clavier ne peut effectuer que destransformations locales, et ne peut affecter que les lettres à une distance du curseurinférieure à la longueur de cette touche.
Lemme 2.1.1 (Localité)
Soient h u | v i une configuration et t = σ . . . σ n une touche. En notant h u n | v n i = h u | v i · t ,on a que u [1 , | u | − n ] est un préfixe de u n et que v [ n + 1 , | v | ] est un suffixe de v n .Voir preuve en A.1.1Ainsi, t ne permet pas de modifier les lettres d’une configuration à une distance plusgrande que | t | du curseur.Lorsqu’une touche est appliquée avec un curseur suffisamment loin des extrémités dumot, alors son action ne souffrira pas d’« effets de bord » tels que l’application d’unretour à l’extrémité gauche. Lemme 2.1.2 (Efficience loin des bords)
Soient t = σ . . . σ n une touche et h u | v i une configuration. Si n ≤ min( | u | , | v | ), alors ennotant h u n | v n i = h u | v i · t , on a que h u | v i t −→ e h u n | v n i c’est-à-dire que l’exécution efficientene bloque pas. Voir preuve en A.1.2De plus, une touche ne peut pas ajouter ou retirer un nombre de lettres supérieur à salongueur. 13 emme 2.1.3 (Encadrement des tailles) Soient t = σ · · · σ n une touche et h u | v i une configuration. On pose h u n | v n i = h u | v i · t .Alors | uv | − | t | ← + X x ∈ A | t | x ≤ | u n v n | ≤ | uv | + X x ∈ A | t | x . On en déduit notamment que (cid:12)(cid:12)(cid:12) | u n v n | − | uv | (cid:12)(cid:12)(cid:12) ≤ n . Voir preuve en A.1.3On peut même être plus précis et combiner les lemmes précédents pour obtenir que, sile curseur est loin des extrémités du mot, la différence de longueur due à l’applicationd’une touche est son nombre de lettres moins son nombre de retours. Lemme 2.1.4 (Égalité des tailles loin des bords)
Soient t = σ · · · σ n une touche et h u | v i une configuration telle que | u | ≥ n et | v | ≥ n .En posant h u n | v n i = h u | v i · t , alors | u n v n | = | uv | − | t | ← + X x ∈ A | t | x . Voir preuve en A.1.4Ces résultats ont pour conséquence la proposition suivante.
Proposition 2.1.5
Soit K un clavier automatique de langage L . Notons ( l n ) n ∈ N les longueurs des motsreconnus par L triés par ordre croissant. Alors ( l n +1 − l n ) n ∈ N est bornée par k K k ∞ .Voir preuve en A.1.5 Remarque 2.1.6
Ceci nous permet de montrer qu’on ne peut pas reconnaître n a n (cid:12)(cid:12)(cid:12) n ∈ N o ou encore { a p | p premier } avec un clavier automatique.En fait, cette proposition peut s’étendre à tout clavier. Proposition 2.1.7
Soit K = ( T, F ) un clavier de langage L . Notons ( l n ) n ∈ N les longueurs des mots reconnuspar L triés par ordre croissant. Alors ( l n +1 − l n ) n ∈ N est bornée par 5 k K k ∞ .Voir preuve en A.1.6Définissons maintenant quelques notions utiles. Premièrement, une touche peut tout àfait écrire une lettre puis l’effacer en appliquant un retour. La présence d’une lettre a dans une touche ne signifie donc pas qu’elle apparaîtra toujours lorsque la touche seraappliquée. C’est pourquoi on définit les notions suivantes.14 éfinition 2.1.8 On dit qu’une touche t ∈ T écrit un a s’il existe une lettre b = a , ( b k K k ∞ , b k K k ∞ ) · t contient un a .Nos configurations sont des couples h u | v i mais on s’intéresse souvent à la concaténation uv des deux mots. La notion suivante facilite le passage d’un point de vue à l’autre. Définition 2.1.9
Soient u = u n . . . u , v = v . . . v k et i un entier non nul tel que − n ≤ i ≤ k . On pose h u | v i i = ( u − i si i < v i sinonNotamment, |h u | v i| = n + k .À présent on s’intéresse à l’effet d’une touche. Nous allons observer, étant données unelettre a et une touche t , l’ensemble des positions par rapport au curseur auxquelles t écrit des a . Ensuite nous prouverons que cet ensemble est toujours le même à conditiond’être suffisamment loin des extrémités du mot. Définition 2.1.10
Soient u, v ∈ A ∗ , on définit I a ( u, v ) = { i | h u | v i i = a } G a ( u, v ) = I a ( u, v ) \ N D a ( u, v ) = I a ( u, v ) ∩ N On a donc I a ( u, v ) = G a ( u, v ) ∪ D a ( u, v ). I a correspond aux positions des a , G a auxpositions à gauche du curseur, et D a à celles à droite du curseur. Définition 2.1.11 (Distance maximale entre deux a ) On définit d a ( u ) comme le nombre maximal de lettres entre deux a dans u . Formellement,d a ( u ) = max {| w | | awa ∈ Fact( u ) } . avec la convention max( ∅ ) = −∞ . On écrit abusivement d a ( h u | v i ) pour d a ( uv ).À présent nous montrons que lorsque le curseur est loin des extrémités du mot, l’actiond’une touche place les mêmes lettres aux mêmes distances du curseur. Lemme 2.1.12
Soient t = σ . . . σ n une touche, et u, v, u ′ , v ′ ∈ A ∗ de longueurs supérieures ou égales à n et ne contenant pas de a . En posant h u n | v n i = h u | v i · t et h u ′ n | v ′ n i = h u ′ | v ′ i · t , on a I a ( u n , v n ) = I a ( u ′ n , v ′ n ) . Voir preuve en A.1.715n en tire immédiatement les deux résultats suivants.
Corollaire 2.1.13
Soient t ∈ T une touche et u, v, u ′ , v ′ ∈ A ∗ des mots ne contenant pas de a et de longueurssupérieures ou égales à n . Alorsd a (cid:16) h u | v i · t (cid:17) = d a (cid:16) h u ′ | v ′ i · t (cid:17) . Corollaire 2.1.14 (Écriture hors contexte) Si t ∈ T écrit un a alors pour tous u, v ∈ A ∗ avec | u | , | v | ≥ k K k ∞ , h u | v i · t contient un a . Lemme 2.1.15
Soient t = σ . . . σ n une touche et u, v ∈ A ∗ de longueurs supérieures ou égales à n . Si |h u | v i| a < |h u | v i · t | a , alors t écrit un a . Voir preuve en A.1.8 Définition 2.1.16 (Équivalence contextuelle de touches)
Soit t , t ∈ S ∗ deux touches quelconques. On dit que t et t sont équivalentes (contex-tuellement), et on note t ∼ t , si pour toute configuration h u | v i , on a h u | v i · t = h u | v i · t . On dit que t et t sont équivalentes loin des bords, et on note t ∼ l t , s’il existe n ∈ N tel que pour toute configuration h u | v i telle que | u | ≥ n et | v | ≥ n on a h u | v i · t = h u | v i · t . Exemple 2.1.17
On a a ← b ∼ b . Mais on n’a pas ◭◮ ∼ ε , car ces touches ne donnent pas la mêmeconfiguration à partir de h ε | a i . En revanche, on a ◭◮ ∼ l ε . Lemme 2.1.18 (Monotonie)
Soient u, v, u ′ , v ′ ∈ A ∗ et t ∈ S ∗ une touche. Notons h x | y i = h u | v i · t et h x ′ | y ′ i = h u ′ | v ′ i · t .Si | u | ≤ | u ′ | et | v | ≤ | v ′ | , alors | x | ≤ | x ′ | et | y | ≤ | y ′ | . Voir preuve en A.1.9 Corollaire 2.1.19
Soient t ∈ T et u, v, u ′ , v ′ ∈ A ∗ tels que | u | ≤ | u ′ | et | v | ≤ | v ′ | . Si t efface une lettre de h u | v i , alors t efface une lettre de h u ′ | v ′ i . Preuve
Cela découle de l’observation suivante : ← efface une lettre de h u | v i si et seulement si | u | > (cid:3) .2. Les claviers sans flèches Dans cette sous-section, nous considérons des claviers
REK , à savoir des claviers où S = A ∪ {← , (cid:4) } . En utilisant un tel clavier, la partie droite d’une configuration esttoujours vide (ce que montre le lemme qui suit). Ainsi, les configurations obtenues serontde la forme h u | ε i et il nous arrivera d’utiliser la notation u pour une telle configuration. Lemme 2.2.1 (Caractérisation des configurations
REK ) Soient K un clavier de REK , u ∈ A ∗ et t . . . t n ∈ K ∗ Alors h u | ε i · t . . . t n est de la forme h v | ε i avec v ∈ A ∗ . Voir preuve en A.2.1 Lemme 2.2.2 (Forme normale d’une touche
REK ) Soit t ∈ S ∗ une suite d’opérations élémentaires de REK . Alors il existe un unique k ∈ N et un unique w ∈ A ∗ tels que t ∼ ← k w . De plus, k et w peuvent être trouvées en tempspolynomial en la taille de t . Idée de la preuve
L’idée est de supprimer les séquences a ← (avec a ∈ A )de la touche tant qu’il y en a (car a ← est équivalent à la séquence vide). Voir preuve en A.2.2Nous donnons ci-dessous un algorithme qui calcule la forme normale REK d’une touchede S . Algorithme 2.2.3
Nous pouvons mettre une touche sous forme normale
REK en temps linéaire.
Algorithme 1 :
Mise sous forme normale
REK
Fonction
FormeNormaleREK( t ) si t est vide alorsretourner [] ; fin t ′ ← []; pour i allant de 2 à | t | fairesi t ′ [0] ∈ A et t [ i ] = ← alors t ′ ← queue( t ′ ) sinon t’ = t[i] : : t’ finfinretourner inverse(t’) Fin orollaire 2.2.4 (Forme normale de REK ) Soit K un clavier de REK . Alors, il existe un clavier K dont les touches sont de la forme ← k w avec w ∈ A ∗ et tel que L ( K ) = L ( K ). De plus K est constructible en tempspolynomial. Preuve
Soit K un clavier de REK . Le lemme 2.2.2 (Forme normale d’une touche
REK ) nousdonne, pour tout touche t de K , l’existence d’une touche f ( t ) équivalente à t et dela forme voulue.Le clavier K = { f ( t ) | t ∈ K } reconnaît donc le même langage que K et a la formevoulue. Et puisque f ( t ) est constructible en temps polynomial en | t | , K est constructibleen temps polynomial en | K | . (cid:3) Remarque 2.2.5
Pour la suite, nous supposerons que les claviers
REK considérés sont de cette forme. No-tons de plus que la construction du clavier équivalent peut se faire en temps polynomial,ce qui aura son importance lors de résultats de complexité.
On considère ici des claviers de
GREK , à savoir des claviers n’utilisant pas ◮ . On se placedonc avec S = A ∪ {← , ◭ , (cid:4) } .L’une des grandes idées de GREK est que l’on ne peut aller à droite et donc revenir surun mot à droite du pointeur, ce que formalise le théorème suivant.
Théorème 2.3.1 (fondamental de
GREK ) Soient t = σ · · · σ n une suite d’opérations élémentaires et h u | v i une configuration. Nousposons h x n | y n i = h ε | ε i · t . Alors h u | v i · t est de la forme h u n x n | v n v i avec y n un sous-motde v n et u n un préfixe de u . Voir preuve en A.3.1Parlons désormais d’un lemme fondamental permettant de mieux distinguer la puissancede GREK : l’insensibilité à la position. On prend une touche de
GREK qui écrit unelettre a (elle peut faire de nombreuses autres actions mais n’efface pas ce a ) depuis uneconfiguration. Alors cette touche écrit ce a sans l’effacer depuis toute configuration.Pour énoncer ce lemme de manière formelle, on utilise un caractère distingué ˆ a A quel’on peut ensuite remplacer par a ∈ A via le morphisme ˆ a a . Lemme 2.3.2 (Insensibilité à la position)
Soient ˆ a une lettre distinguée, et t une touche de GREK contenant un unique ˆ a . Soit h u | v i une configuration ne contenant pas de ˆ a . Si h u | v i · t contient un ˆ a , alors pour touteconfiguration h u ′ | v ′ i , h u ′ | v ′ i · t contient ˆ a . 18 dée de la preuve L’idée est de considérer la distance du curseur à la lettre ˆ a qui vient d’être écrite. Dèslors que l’on passe à gauche de ˆ a , il devient impossible de l’effacer. Pour effacer ˆ a , il estdonc suffisant et nécessaire, de faire un retour alors qu’on est à droite du ˆ a , et ce avantd’éventuellement repasser à sa gauche.On remarque ensuite que cela ne dépend pas du contexte, i.e. de la position du curseurpar rapport aux bords ce qui se voit plutôt bien : on ne peut pas aller à droite, doncpas d’effets de bord à droite et pour faire des effets de bords à gauche, il faut déjà êtrepassé à gauche du ˆ a (donc l’avoir effacé ou l’avoir inscrit pour de bon).Voir preuve en A.3.2 Remarque 2.3.3
L’hypothèse d’unicité de l’occurrence de ˆ a dans t peut être retirée en utilisant un mor-phisme ˆ a a . Dans cette section, nous allons étudier les langages sans retour
FEK . Nous nous plaçonsdonc avec S = A ∪ { ◭ , ◮ , (cid:4) } .L’absence du retour arrière permet d’obtenir des propriétés très intéressantes. Lemme 2.4.1
Soit K un clavier de FEK et c t −→ · · · t n −→ c n une exécution de K . On a | c | ≤ · · · ≤ | c n | . Preuve
Par induction immédiate sur n ∈ N . (cid:3) Nous pouvons même être plus précis en nous intéressant à chaque lettre. Puisqu’il n’ya pas de retour, si une touche contient une lettre, alors l’action de cette touche permeteffectivement d’écrire la touche.
Lemme 2.4.2 (Non effacement)
Soient t une touche, h u | v i une configuration et a ∈ A . En posant h u t | v t i = h u | v i · t , on a | u t v t | a = | uv | a + | t | a . Preuve
On montre le résultat par induction sur t . Si t est vide, le résultat est vrai. Sinon, t = t ′ σ ,et l’hypothèse d’induction nous donne que | u t ′ v t ′ | a = | uv | a + | t ′ | a . On distingue plusieurscas.— Si σ = a ∈ A , u t = u t ′ a et v t = v t ′ .— Si σ ∈ { ◭ , ◮ } , u t v t = u t ′ v t ′ . 19ans les deux cas, on a | u t v t | a = | u t ′ v t ′ | a + | σ | a = | uv | a + | t ′ | a + | σ | a = | uv | a + | t | a ce qui permet de conclure notre induction. (cid:3) Ce résultat nous permet alors de caractériser un peu les langages de claviers sans retouren nous intéressant aux occurrences des lettres.
Lemme 2.4.3 (Itération de lettre)
Soient L ∈ FK , w ∈ L et a une lettre apparaissant dans w . Alors il existe une suite( w n ) n ∈ N de mots de L telle que ∀ n ∈ N , | w n | a > n . Idée de la preuve
Des hypothèses on déduit que le clavier contient une touche qui écrit un a . Il suffit alorsd’itérer cette touche pour écrire autant de a que souhaité, car on est assuré de ne rieneffacer ! Voir preuve en A.4.1Cette proposition n’est pas vraie telle quelle dans FEK (la touche écrivant un a pourraitêtre finale). Cependant, on peut l’adapter de la manière suivante. Lemme 2.4.4 (Itération de lettre
FEK ) Soit K = ( T, F ) un clavier de
FEK . S’il existe w ∈ L tel que | w | a > k K k ∞ , alors pourtout n ∈ N , il existe w n ∈ L tel que | w n | a ≥ n . Idée de la preuve
S’il y a un mot avec plus de k K k ∞ a , alors tous les a de ce mot n’ont pas pu être écritspar la touche acceptante d’une exécution menant à accepter ce mot. Il y a donc unetouche transiente qui contient un a et qu’on peut itérer avant d’appuyer sur une toucheacceptante. Voir preuve en A.4.2 Corollaire 2.4.5
Soit L un langage de FEK . Il existe N ∈ N tel que s’il existe w ∈ L vérifiant | w | a ≥ N alors pour tout k ≥ N , il existe w k ∈ L tel que | w k | a ≥ k . Preuve
Soit K un clavier de FEK reconnaissant L . Le lemme précédent montre que N = k K k ∞ convient. (cid:3) Lemme 2.4.6 (Distanciation minimale)
Soit L un langage de FEK et a ∈ A . S’il existe M ∈ N tel que pour tout w ∈ L , | w | a ≤ M , alors il existe D ∈ N tel que pour tout w ∈ L , d a ( w ) ≤ D .20 reuve On considère K qui reconnaît L et on prend D = k K k ∞ . Soit t une touche de K quicontient un a . Si t n’est pas acceptante, alors le mot obtenu en appuyant M + 1 fois sur t contient au moins M + 1 occurrences de a (par le lemme 2.4.2 (Non effacement)), cequi est absurde.Donc toute touche contenant un a est acceptante. Si w écrit par K contient des a , ilsont donc tous été écrits par une seule touche t (la dernière), et le lemme 2.1.1 (Localité)nous permet de conclure ; d a ( w ) ≤ | t | ≤ k K k ∞ . (cid:3) Théorème 2.4.7 (du sous-mot)
Soient K un clavier de FEK , τ une suite de touches de K et h u | v i une configuration. Enposant h u τ | v τ i = h u | v i · τ , on a que uv est un sous-mot de u τ v τ . Preuve
L’action d’une suite de touches étant l’action de la concaténation des touches de cettesuite, il suffit de montrer le résultat pour les touches. Soit donc t une touche, on montre lerésultat par induction sur t . Si t est vide, le résultat est vrai. Sinon, t = t ′ σ et l’hypothèsed’induction nous donne que uv est un sous-mot de u t ′ v t ′ où h u t ′ | v t ′ i = h u | v i · t ′ . Ondistingue plusieurs cas.— Si σ = a ∈ A , alors u t = u t ′ a et v t = v t ′ .— Si σ ∈ { ◭ , ◮ } , alors u t v t = u t ′ v t ′ .Dans les deux cas, uv est bien un sous-mot de u t v t ce qui permet de conclure. (cid:3) . Les langages de claviers MK Commençons par étudier les claviers minimaux.
Remarque 3.1.1
Soit K ∈ MK . Les touches de K sont des mots de A ∗ et on a L ( K ) = K + . Exemple 3.1.2
Le langage du clavier { ab , bc } est ( ab + bc ) + . Lemme 3.1.3
Le problème du mot sur les claviers de MK est décidable en temps polynomial. Preuve Si K est un clavier de MK , alors K = { w , . . . , w n } ⊆ A ∗ et L ( K ) = ( w + · · · + w n ) + .Ainsi, on construit en temps polynomial l’expression rationnelle de L ( K ), et le problèmedu mot sur les expressions rationnelles est polynomial. (cid:3) Lemme 3.1.4
L’universalité est décidable en temps polynomial sur les claviers de MK . Preuve
Soit K ⊆ A ∗ un clavier. Le langage de K est K + , donc K est universel si et seulementsi K + = A ∗ . Montrons à présent que K + = A ∗ si et seulement si A ∪ { ε } ⊆ K .— Supposons que A ∪ { ε } ⊆ K . Alors, clairement A ∗ = ( A ∪ ε ) + ⊆ K + .— Réciproquement, supposons que A ∪ { ε } * K . Alors soit ε / ∈ K , auquel cas ε / ∈ K + , soit il existe a ∈ A tel que a / ∈ K , auquel cas a / ∈ K + . Dans les deux cas A ∗ = K + .On peut donc tester l’universalité en regardant si A ∪ { ε } ⊆ K , ce qui est possible entemps polynomial. (cid:3) EK Ici, on travaille avec S = A ∪ { (cid:4) } . 22 emarque 3.1.5 Soit K = ( T, F ) un clavier de EK . Alors on a L ( K ) = T ∗ F . On peut donc construirel’expression rationnelle correspondante en temps polynomial en | K | . Lemme 3.1.6
Le problème du mot sur les claviers de EK est décidable en temps polynomial. Preuve
Soit K = ( T, F ) ∈ EK . Par la caractérisation donnée en remarque 3.1.5, le langage de K est reconnu par une expression rationnelle constructible en temps polynomial. Ainsi,on construit l’expression rationnelle correspondant à L ( K ) et on peut vérifier en tempspolynomial l’appartenance d’un mot à ce langage. (cid:3) Lemme 3.1.7
Le problème de l’universalité sur les claviers de EK est décidable en espace polynomial. Preuve
Soit K = ( { w , . . . , w n } , { v , . . . , v k } ) un clavier de EK . Par la remarque 3.1.5, L ( K ) estreconnu par une expression rationnelle constructible en temps polynomial. Le problèmede l’universalité d’une expression rationnelle étant décidable en espace polynomial, ceproblème l’est aussi. (cid:3) Remarque 3.1.8 MK est strictement inclus dans EK . Par exemple, on sait faire { a } avec le clavier { a (cid:4) } ,ce que l’on ne sait pas faire avec un clavier minimal. RK Exemple 3.1.9 (Les langages finis dans RK ) Soit L un langage fini. Posons M = max w ∈ L | w | . On considère des touches qui effacent M caractères puis écrivent un mot de L , c’est-à-dire K = n ← M w (cid:12)(cid:12)(cid:12) w ∈ L o . Alors K reconnaît le langage L . Corollaire 3.1.10 MK ( RK . Proposition 3.1.11
Le langage L = ( a ) ∗ ( b + b ) reconnu par { aa , b (cid:4) , bb (cid:4) } n’est pas dans RK .Voir preuve en B.1.1 Corollaire 3.1.12 EK RK et RK ( REK . 23 roposition 3.1.13 ( RK non inclus dans FEK ) Le langage L C engendré par le clavier de RK {← a , ←← b } n’est pas dans FEK .Voir preuve en B.3.2
Corollaire 3.1.14 RK EK . REK
Théorème 3.1.15 (
REK est inclus dans
Alg ) Soit K ∈ REK . Alors L ( K ) est algébrique et on peut construire en temps polynomialun automate à pile non déterministe A ( K ) reconnaissant L ( K ). Idée de la preuve
On part de deux observations.1. Par le lemme 2.2.1 (Caractérisation des configurations
REK ), le mot à droite ducurseur est toujours vide.2. Par le lemme 2.2.2 (Forme normale d’une touche
REK ), toute touche d’un clavierde
REK est équivalente à une touche de la forme ← ∗ A ∗ .Ces deux faits nous indiquent que l’action d’une touche d’un clavier de REK revienttoujours à retirer un nombre borné de lettres à la fin du mot puis à en ajouter unnombre borné. Ce comportement étant semblable à celui d’une pile, on encode facilementles actions des touches d’un clavier dans celles d’un automate à pile. On construit unautomate non-déterministe qui devine et simule une suite de touches en gardant le motobtenu dans sa pile, puis lit le contenu de sa pile. À noter que cet automate reconnaîten fait le miroir du langage du clavier correspondant, on a donc besoin d’un dernierargument, la stabilité des langages algébriques par miroir, pour conclure.Voir preuve en B.1.2
Théorème 3.1.16 (
REK est inclus dans
Rat ) Soit K ∈ REK . Alors L ( K ) est rationnel et on peut construire en temps polynomial unautomate A ( K ) non déterministe reconnaissant L ( K ). Idée de la preuve
Nous donnons ici une idée de preuve pour RK . La preuve pour REK ne pose pas dedifficultés supplémentaires. Soit K un clavier de RK . L’idée est que lorsqu’on exécuteune suite de touches d’un clavier de RK , à tout moment on peut diviser le mot obtenu w en deux parties :— un préfixe u de lettres qui ne seront jamais effacées ;— un suffixe v de lettres qui seront effacées à une étape ultérieure de l’exécution.24renons un exemple : pour écrire le mot abb avec le clavier constitué des touches ← abcc, ← b, ← cbc , il nous suffit d’écrire le préfixe ab grâce à t et écrire le b res-tant grâce à t . Le souci est que si on exécute t puis t , t effacera trop de lettres et onobtiendra ab au lieu de abb . Il nous faut donc une suite de touches qui n’efface pas le ab ,mais remplace les deux c par trois lettres quelconques, pour pouvoir appliquer t . Ceciest possible en exécutant t , qui remplace cc par cbc . La suite de touches t t t permetdonc d’écrire abb .Passons à un exemple plus complexe, et cherchons à écrire abb avec le clavier dont lestouches sont t = ← abc , t = ← b . Encore une fois, il nous suffit d’écrire le ab avec t et le b final avec t . Cependant, il nous faut une suite de touches capable de supprimerles cinq c écrits en appliquant t , et de les remplacer par trois lettres quelconques.Remarquons la chose suivante : t retire deux lettres et en ajoute sept (donc ajoute cinqlettres au total), tandis que t retire trois lettres et en ajoute une (donc retire deuxlettres au total). Cinq et deux étant premiers entre eux, par le théorème de Bézout (àpeu de choses près), il existe des entiers positifs m et m tels que 5 m − m = −
2, etdonc en appliquant m fois t puis m fois t , on retire en tout deux lettres après le ab .On peut ensuite appliquer t pour obtenir le mot abb .Les exemples précédents illustrent l’idée de la construction : on construit un automatequi, lorsqu’il lit un mot w , devine une décomposition w = u · · · u k et pour chaque u i une touche t i de la forme ← k i u i v i . L’automate vérifie ensuite que pour tout i , il existeune suite de touches permettant de remplacer le suffixe v i par k i +1 lettres quelconques,afin de pouvoir appliquer t i +1 sans effacer trop ou trop peu de lettres. L’automate n’apas à deviner cette suite de touches, on aura préalablement déterminé par des critèresde divisibilité les couples ( k, k ′ ) avec 0 ≤ k, k ′ ≤ k K k ∞ tels qu’il existe une suite detouches permettant de passer de k à k ′ lettres.Nous omettons dans ce schéma de preuve plusieurs difficultés, par exemple le cas où ilnous faut passer de k à k ′ lettres mais toutes les touches ajoutant des lettres effacentplus de k lettres. Ces cas sont traités dans la preuve complète en annexe.Enfin, nous présentons en figure 3.1 (Automate du clavier {← abc , ← bb } ) l’automateobtenu à partir du clavier {← abc , ← bb } en utilisant la construction présentée dans lapreuve de ce lemme. Son langage est a ∗ ( abc + bb ). a −→ b −→ c −→ ε −→ (cid:4) : état final (cid:4) : état vert25(2 , a, bc, a )(2 , ab, c, ab )(2 , abc, ε, abc ) (4 , bb, ε, bb ) (4 , b, b, b )(2 , a, bc, ε )(2 , ab, c, b )(2 , abc, ε, bc ) (4 , bb, ε, b ) (4 , b, b, ε )(2 , abc, ε, c ) (2 , ab, c, ε ) (4 , bb, ε, ε )(2 , abc, ε, ε ) Figure 3.1. – Automate du clavier {← abc , ← bb } Voir preuve en B.1.2Ce résultat nous permet de donner la complexité de certains problèmes de décision.
Théorème 3.1.17
Le problème du mot est décidable en temps polynomial sur les claviers de
REK . Preuve
Soient K un clavier de REK et u ∈ A ∗ . Le corollaire 2.2.4 (Forme normale de REK ) et lethéorème 3.1.16 (
REK est inclus dans
Rat ), nous permet de construire un clavier K ′ enforme normale, équivalent à K et de taille polynomiale en celle de K , puis un automate A ( K ′ ) de taille polynomiale en celle de K ′ (et donc en celle de K ), le tout en tempspolynomial. A ( K ′ ) reconnaît le même langage que K ; pour tester si w ∈ L ( K ), il nous suffit doncde tester si w ∈ L ( A ( K )), ce qu’on peut faire en espace polynomial. (cid:3) Théorème 3.1.18
L’universalité est décidable en espace polynomial sur les claviers de
REK .26 reuve
Soit K un clavier de REK . En appliquant le corollaire 2.2.4 (Forme normale de
REK ) etle théorème 3.1.16 (
REK est inclus dans
Rat ), nous pouvons construire un clavier K ′ enforme normale, équivalent à K et de taille polynomiale en celle de K , puis un automate A ( K ′ ) de taille polynomiale en celle de K ′ (et donc en celle de K ), le tout en tempspolynomial. A ( K ′ ) reconnaît le même langage que K ; pour tester l’universalité de K , il nous suffitdonc de tester l’universalité de A ( K ), ce qu’on peut faire en temps polynomial. (cid:3) Pour finir cette petite étude de
REK , on peut se demander si tous les langages rationnelssont reconnus par clavier sans flèches... Et ce n’est pas le cas.
Proposition 3.1.19 L = a ∗ c ∗ REK . Idée de la preuve
On raisonne par l’absurde. On possède une suite de touches τ qui écrit un a et valide.Mais on possède également une suite de touches τ ′ qui écrit un nombre aussi grand de c que souhaité, sans valider. On conclut en regardant ε · τ · τ ′ . Voir preuve en B.1.2 Corollaire 3.1.20
Rat REK .Finalement, on obtient la figure 3.2 (Hiérarchie des langages sans flèches) qui résume lesinclusions des classes étudiées dans cette section.
RatREKRK EKMK
Figure 3.2. – Hiérarchie des langages sans flèches27 .2. Les claviers sans flèche droite GK Exemple 3.2.1 (Palindromes pairs)
Le clavier K = { aa ◭ | a ∈ A } reconnaît le langage L pal des palindromes pairs non vide(on a en effet l’invariant que toute configuration atteinte est de la forme h u | e u i pour un u ∈ A ∗ .Ce langage est donc dans GK . Corollaire 3.2.2 MK ( GK et GK * REK car tous les éléments de
REK sont rationnels.
Exemple 3.2.3 (Mot de Dyck)
Le clavier K = { () ◭ , ◭ } reconnaît le langage L des mots bien parenthésés qui est doncdans GK . Voir preuve en B.2.1 Proposition 3.2.4 Si L est fini et dans GK alors L ⊂ { ε } . Voir preuve en B.3.1 Corollaire 3.2.5 EK GK et RK GK car les langages finis sont exprimables dans EK et dans RK .On en déduit également GK ( GEK et GK ( GRK car les langages finis sont dans EK etdans RK . GEK
Théorème 3.2.6
On considère le langage L pal@ = { w @ e w | w ∈ A ∗ } où @ est une lettre fraîche. Le problèmesuivant est indécidable.Palindrome : Donnée : Un langage L de GEK
Question : L ∩ L pal@ = ∅ ? Idée de la preuve
On réduit le problème de correspondance de Post. Soit I = { ( u i , v i ) | i ∈ J , n K } uneinstance de Post. On considère le clavier K = n u i e v i ◭ | v i | (cid:12)(cid:12)(cid:12) i ∈ J , n K o ∪ { @ (cid:4) } . On montre que L ( K ) ∩ L pal@ = ∅ si et seulement si I est dans PCP.28oir preuve en B.2.2 Proposition 3.2.7
Le langage L C engendré par le clavier de RK {← a , ←← b } n’est pas dans GEK .Voir preuve en B.3.2
Corollaire 3.2.8
On en déduit les résultats suivants. RK GEK GEK ( GREK GRK GEK . GRK
Proposition 3.2.9
Le langage L , ( a ) ∗ ( b + b ) n’est pas dans GRK . Voir preuve en B.2.3
Corollaire 3.2.10
On en déduit les résultats suivants. EK GRK GRK ( GREK GEK GRK . GREK
Proposition 3.2.11
Le langage L = { ab n +1 a n | n ∈ N } n’est pas dans GREK . Voir preuve en B.2.4
Théorème 3.2.12
Soit L un langage de GREK . Alors L est algébrique et on peut construire en tempspolynomial un automate à pile non déterministe reconnaissant L . Idée de la preuve
La preuve complète est en annexe.L’idée est d’utiliser le fait que rien de ce qui est écrit à droite du curseur ne peut êtreaffecté par une touche sans flèche droite.On construit un automate à pile devinant une suite de touches et maintenant l’invariant« Après avoir exécuté une suite de touches t · · · t n , en posant u le contenu de la pile et v le mot lu par l’automate, on a h ε | ε i · t · · · t n = h u | e v i ».29es opérations élémentaires de clavier sont faciles à traduire en transitions de manière àrespecter cet invariant. Écrire une lettre revient à l’empiler, effectuer un retour arrièrerevient à supprimer la tête de pile, et exécuter une flèche gauche revient à dépiler la têtede pile et lire la lettre correspondante.Après avoir deviné la suite de touches, l’automate dépile tous les éléments de sa pile enles lisant. On a alors lu le miroir du mot obtenu en exécutant cette suite de touches. Ilsuffit alors de construire un automate à pile reconnaissant le miroir du précédent.Voir preuve en B.2.4 Théorème 3.2.13
Le problème du mot est décidable en temps polynomial sur les claviers de
GREK . Preuve
Soit K = ( T, F ) un clavier de
GREK , soit u ∈ A ∗ . Par le Théorème 3.2.12, il suffit deconstruire l’automate A ( K ), et de vérifier que u appartient à son langage. L’automate A ( K ) étant constructible en temps polynomial, et l’appartenance d’un mot au langaged’un automate à pile étant de complexité polynomiale, ce problème est également réso-luble en temps polynomial. (cid:3) Finalement, on obtient la figure 3.3 (Hiérarchie des langages GREK) qui résume les in-clusions des classes étudiées dans cette section.
AlgGREKREK GEK GRKEK RK GKMK
Figure 3.3. – Hiérarchie des langages GREK30 .3. Les claviers sans retour FK Théorème 3.3.1 Si L est fini et dans FK alors L ⊂ { ε } . Voir preuve en B.3.1 Corollaire 3.3.2 EK FK et RK FK car les langages finis sont exprimables dans EK et dans RK .On en déduit également FK ( FEK et FK ( FRK car les langages finis sont dans EK etdans RK . Lemme 3.3.3
Le langage L = { ab n +1 a n | n ∈ N } est dans FK mais pas dans GREK . Preuve
Considérons le clavier de FK à une touche { a ◭ ◮ b } . En l’appliquant sur h ε | ε i on obtient h ab | ε i , et en l’appliquant sur une configuration de la forme h ub | v i on obtient h ubb | av i .Le mot obtenu en l’appliquant n fois sur h ε | ε i est donc ab n +1 a n , ce clavier produit doncbien le langage { ab n +1 a n | n ∈ N } .La proposition 3.2.11 nous donne que L GREK . (cid:3) Corollaire 3.3.4
On en déduit FK GREK et GK ( FK . FEK
Proposition 3.3.5 (RK non inclus dans FEK)
Le langage L C engendré par le clavier de RK {← a , ←← b } n’est pas dans FEK .Voir preuve en B.3.2
Corollaire 3.3.6
On en déduit RK FEK et FEK ( FREK . Théorème 3.3.7
Tout langage de clavier sans effacement est un langage contextuel. Voir preuve en B.3.231 héorème 3.3.8 (Stabilité par miroir)
FEK et FK sont stables par miroir. Voir preuve en B.3.2 FRK
Une des grandes forces d’un clavier
FRK est de permettre, grâce à la flèche et au retourarrière, de simuler des petites conditions en utilisant des « effets de bord ».
Proposition 3.4.1
La touche ◭ a ◮◭ ← ◮ permet d’écrire un a à partir d’une configuration vide et de ne pasaffecter une configuration avec au moins une lettre à gauche. Preuve
Regardons le comportement de la touche. h ε | ε i ◭ −→ h ε | ε i a −→ h a | ε i ◮ −→ h a | ε i ◭ −→ h ε | a i ← −→ h ε | a i ◮ −→ h a | ε i . À partir d’une configuration h ub | v ih ub | v i ◭ −→ h u | bv i a −→ h ua | bv i ◮ −→ h uab | v i ◭ −→ h ua | bv i ← −→ h u | bv i ◮ −→ h ub | v i . (cid:3) Remarque 3.4.2
Sur une configuration de la forme h ε | bv i , cette suite de touche mène à h b | v i et n’implé-mente pas exactement ce qui est souhaité.La touche a ◮◭ ← ◮ corrige ce défaut, mais sur une configuration de la forme h ub | ε i , elleretourne h u | ε i . En fonction des invariants que nous voulons conserver, l’une ou l’autrede ces touches sera très utile.La proposition suivante illustre ces mécanismes. Proposition 3.4.3
Le langage L L = ( a ) ∗ ( b + b ), qui est dans EK mais pas dans GRK par la proposi-tion 3.2.9, est reconnu par le clavier K L = { t , t } de FRK , avec t = b ◮◮◭◭ ← et t = b ◮◮◭◭ ← aa ◭◭ . Preuve
Pour montrer l’inclusion de L ( K L ) dans ( a ) ∗ ( b + b ), on considère les ensembles deconfigurations représentés sur le schéma suivant. Les transitions bleues désignent l’appli-cation de t , les rouges celle de t . La notation h ε | L i désigne l’ensemble de configuration {h ε | w i | w ∈ L } . On vérifie facilement que depuis une configuration de chacun de ces32angages, en appliquant la touche t i on obtient une configuration du langage atteint parla transition t i sur le schéma. Les mots correspondant aux configurations de tous ceslangages étant dans ( a ) ∗ ( b + b ), on obtient l’inclusion. h ε | ε ih ε | b i h ε | ( aa ) + bb ih ε | ( aa ) + b ih ε | bb i Pour l’inclusion inverse, il nous suffit d’observer que pour tout k ∈ N , h ε | ε i t k −→ D ε (cid:12)(cid:12)(cid:12) b k +2 a E , h ε | ε i t t k −−→ D ε (cid:12)(cid:12)(cid:12) b k aa E et h ε | ε i t −→ h ε | a i t −→ h ε | aa i . (cid:3) FREK
Théorème 3.4.4
Prenons comme alphabet A = { a, b, c } Soit L = L ∪ L avec L = { wc e w | w ∈ { a, b } ∗ } et L = { wcc e w | w ∈ { a, b } ∗ } . Alors L ∈
FREK \ FRK . Voir preuve en B.4.1
Corollaire 3.4.5
FREK = FRK , à savoir tout clavier manuel n’est pas simulable par un clavier automa-tique.Ce qui conclut cette petite étude des claviers.33 lgGREKRatREK GEK GRKEK RK GKMK FKFEK FRKFREK Cont
Figure 3.4. – Hiérarchie des langages34 onclusion
Les claviers paraissent à première vue extrêmement erratiques dans leur expressivité :ils reconnaissent aisément les mots de Dyck ou les palindromes mais certains langagesrationnels semblent leur résister. Ils renversent notre vision usuelle des machines car nepeuvent ni lire ni avoir d’état, mais peuvent effacer et se déplacer à l’aveugle dans lesmots. Une simple paire de touches de quelques caractères peut mener à un langage àpremière vue abominable et les opérations usuelles sur les langages n’offrent guère depropriétés de clôture.En nous intéressant aux différentes opérations élémentaires sur les claviers, nous avonspu voir que chacune apportait une grande expressivité et que la hiérarchie des langagesde clavier était stricte et contrôlée par les classes usuelles de langages (rationnels, algé-briques, contextuels). Cette étude permet également de mieux comprendre les opérationsqu’admettent ces différentes classes : si les automates finis suffisent en l’absence de flèches,il faut une pile pour gérer les déplacements gauche et une grammaire contextuelle pourles déplacements quelconques.Les claviers n’ayant pas fini de nous livrer leurs secrets, de nombreuses questions restenten suspens :— A-t-on EK ⊂ FRK ? (dernière question de la hiérarchie)—
FREK est-il inclus dans les algébriques ? Nous pensons que non, après regardé leclavier { a ◮◮ , b ◭◭ } qui semble avoir un comportement très erratique.— FREK est-il inclus dans une classe de langages connus ? Nous pensons que leslangages de clavier sont reconnaissables par des machines de
Turing en espacelinéaire. Il suffirait pour cela de majorer le nombre de lettres à effacer pour obtenirun mot.—
FREK permet-il d’exprimer tous les langages rationnels ? Nous pensons que nonet cherchons à montrer que a ∗ b ∗ c ∗ ou a ∗ + b ∗ + c ∗ ne sont pas de clavier.— Caractériser la décidabilité et la complexité du problème du mot dans les diffé-rentes classes.— Conclure sur les propriétés de clôture des différentes classes de clavier. Nous pen-sons que ces langages ne sont pas stables par union, intersection, complémentaire,concaténation. Le premier espoir de stabilité est selon nous le miroir mais l’ab-sence de touche de suppression à droite empêche de trivialiser le problème.— Étudier d’autres extensions, sur lesquelles nous ne nous sommes pas penchés pourle moment : claviers de Büchi (avec une sémantique à définir proprement), claviersavec états, etc. 35 ibliographie [1] Paul Erdos et Ronald L
Graham . « On a linear diophantine problem of Frobe-nius ». In :
Acta Arith
Gallier . « The Frobenius Coin Problem Upper Bounds on The FrobeniusNumber ». In : (2014).[3] Petr
Jančar , Frantiek
Mráz et Martin
Plátek . « Forgetting automata and theChomsky hierarchy ». In : in Proc. SOFSEM’92 . Citeseer. 1993.[4] Carton
Olivier . Langages formels, calculabilité et complexité / Olivier Carton ;préface de Dominique Perrin . fre. Paris : Vuibert, 2008.36 . Propriétés des claviers
A.1. Généralités
A.1.1. Preuve du lemme 2.1.1 (Localité)
Lemme 2.1.1 (Localité)
Soient h u | v i une configuration et t = σ . . . σ n une touche. En notant h u n | v n i = h u | v i · t ,on a que u [1 , | u | − n ] est un préfixe de u n et que v [ n + 1 , | v | ] est un suffixe de v n . Preuve
Soit t = σ . . . σ n . On note h u | v i = h u | v i et pour tout entier 0 ≤ i ≤ n , on note h u i | v i i = h u | v i · σ · · · σ i (en particulier, pour 0 < i ≤ n , h u i | v i i = h u i − | v i − i · σ i ).Notons de plus pour tout entier i , w p ( u, i ) = u [1 , | u | − i ] et w s ( v, i ) = v [ i + 1 , | v | ].Nous allons montrer par récurrence sur i que pour tout 0 ≤ i ≤ n , w p ( u, i ) est un préfixede u i et w s ( v, i ) est un suffixe de v i . Le résultat est vrai pour i = 0 ( u = u et v = v ).Supposons le résultat vrai pour un entier i ∈ J , n − K . Alors w p ( u, i ) est un préfixe de u i et w s ( v, i ) un suffixe de v i . Notons que w p ( u, i + 1) est un préfixe de w p ( u, i ) et que w s ( v, i + 1) est un suffixe de w p ( v, i ).Considérons l’action de σ i +1 sur h u i | v i i .— Si σ i +1 = a ∈ A , alors u i +1 = u i a et v i +1 = v i , et on a bien le résultat.— Si σ i +1 = ← , on a v i +1 = v i . Pour montrer que w p ( u, i + 1) est un préfixe de u i +1 ,on distingue deux cas.— Si u i est vide , alors w p ( u, i + 1) est vide (car w p ( u, i ) est un préfixe de u i ).— Sinon, u i est de la forme w p ( u, i ) u ′ c et donc u i +1 = w p ( u, i ) u ′ .Dans les deux cas, w p ( u, i + 1) est bien un préfixe de u i +1 .— Si σ i +1 = ◭ , on distingue deux cas.— Si u i est vide, alors u i +1 = u i et v i +1 = v i .— Sinon, u i est de la forme w p ( u, i ) u ′ c donc u i +1 = w p ( u, i ) u ′ et v i +1 = cv i .Dans les deux cas, on a le résultat.— Si σ n = ◮ , on distingue deux cas.— Si v i est vide, alors u i +1 = u i et v i +1 = v i .— Sinon, v i est de la forme cv ′ w s ( v, i ) donc u i +1 = u i c et v ′ = v ′ w s ( v, i ).Dans les deux cas, on a le résultat.Le résultat s’obtient alors en i = n . (cid:3) .1.2. Preuve du lemme 2.1.2 (Efficience loin des bords) Lemme 2.1.2 (Efficience loin des bords)
Soient t = σ . . . σ n une touche et h u | v i une configuration. Si n ≤ min( | u | , | v | ), alors ennotant h u n | v n i = h u | v i · t , on a que h u | v i t −→ e h u n | v n i c’est-à-dire que l’exécution efficientene bloque pas. Preuve
Procédons par récurrence sur n . Si n = 0, alors la propriété est triviale.Supposons le résultat vrai pour un entier n . Soient t = σ . . . σ n +1 une suite d’opérationsélémentaires h u | v i une configuration telle que n + 1 ≤ min( | u | , | v | ). On note t ′ la suited’opérations élémentaires σ . . . σ n . Par hypothèse de récurrence, il existe h u n | v n i telleque h u | v i t ′ −→ e h u n | v n i .Le lemme de localité nous donne de plus que u n et v n contiennent au moins un caractère.Ainsi u n est de la forme u ′ a et v n est de la forme bv ′ avec a, b ∈ A . On a h u n | v n i c −→ e h u n c | v n i si c ∈ A. h u n | v n i ← −→ e h u ′ | v n i . h u n | v n i ◭ −→ e h u ′ | av n i . h u n | v n i ◮ −→ e h u n b | v ′ i . Ainsi, peu importe la valeur de σ n +1 , il existe une configuration h u n +1 | v n +1 i telle que h u n | v n i σ n +1 −−−→ e h u n +1 | v n +1 i et donc telle que h u | v i t −→ e h u n +1 | v n +1 i .Et donc on a bien le résultat. (cid:3) A.1.3. Preuve du lemme 2.1.3 (Encadrement des tailles)
Lemme 2.1.3 (Encadrement des tailles)
Soient t = σ · · · σ n une touche et h u | v i une configuration. On pose h u n | v n i = h u | v i · t .Alors | uv | − | t | ← + X x ∈ A | t | x ≤ | u n v n | ≤ | uv | + X x ∈ A | t | x . On en déduit notamment que (cid:12)(cid:12)(cid:12) | u n v n | − | uv | (cid:12)(cid:12)(cid:12) ≤ n . Preuve
Procédons par induction sur n . Si n = 0, la propriété est vraie.Supposons la propriété vraie pour un entier n . Soit t = σ . . . σ n +1 une suite d’opérationsélémentaires. On note t ′ la suite σ . . . σ n , h u n | v n i = h u | v i · t ′ et h u n +1 | v n +1 i = h u | v i · t .38n pose M n = | uv | − | t ′ | ← + X x ∈ A | t ′ | x N n = | uv | + X x ∈ A | t ′ | x M n +1 = | uv | − | t | ← + X x ∈ A | t | x N n +1 = | uv | + X x ∈ A | t | x Par hypothèse de récurrence, M n ≤ | u n v n | ≤ N n . On distingue alors ces différents cas.— Si σ n +1 = a ∈ A alors M n +1 = M n + 1, N n +1 = N n + 1 et | u n +1 v n +1 | = | u n v n | + 1.— Si σ n +1 ∈ { ◮ , ◭ } alors M n +1 = M n , N n +1 = N n et | u n +1 v n +1 | = | u n v n | .— Si σ n +1 = ← alors M n +1 = M n − N n +1 = N n et u n +1 v n +1 est égal à | u n v n | si u n est vide et à | u n v n | − M n +1 ≤ | u n +1 v n +1 | ≤ N n +1 . (cid:3) A.1.4. Preuve du lemme 2.1.4 (Égalité des tailles loin des bords)
Lemme 2.1.4 (Égalité des tailles loin des bords)
Soient t = σ · · · σ n une touche et h u | v i une configuration telle que | u | ≥ n et | v | ≥ n .En posant h u n | v n i = h u | v i · t , alors | u n v n | = | uv | − | t | ← + X x ∈ A | t | x . Preuve
Procédons par induction sur n . Si n = 0 alors la propriété est triviale.Supposons la propriété vraie pour un entier n . Soient t = σ . . . σ n +1 une suite d’opéra-tions élémentaires et h u | v i une configuration telle que | u | ≥ n + 1 et | v | ≥ n + 1. Onnote t ′ la suite σ . . . σ n , h u n | v n i = h u | v i · t ′ et h u n +1 | v n +1 i = h u | v i · t .Le lemme de localité nous donne que u n et v n contiennent au moins un caractère. Ainsi u n est de la forme u ′ a et v n est de la forme bv ′ , avec a, b ∈ A . On a u n +1 = u n c v n +1 = v n si σ n +1 = c ∈ Au n +1 = u ′ v n +1 = v n si σ n +1 = ← u n +1 = u ′ v n +1 = av n si σ n +1 = ◭ u n +1 = u n b v n +1 = v ′ si σ n +1 = ◮ L’hypothèse d’induction appliquée à t ′ et à h u n | v n i , à savoir | u n v n | = | uv | − | t ′ | ← + X x ∈ A | t ′ | x nous permet de conclure et d’obtenir le résultat : | u n +1 v n +1 | = | uv | − | t | ← + X x ∈ A | t | x . Ceci conclut notre récurrence et nous donne le résultat. (cid:3) .1.5. Preuve de la proposition 2.1.5 Proposition 2.1.5
Soit K un clavier automatique de langage L . Notons ( l n ) n ∈ N les longueurs des motsreconnus par L triés par ordre croissant. Alors ( l n +1 − l n ) n ∈ N est bornée par k K k ∞ . Preuve
Si pour tout mot w ∈ L , | w | ≤ k K k ∞ , la propriété est trivialement vraie.Sinon, on considère w ∈ L tel que | w | > k K k ∞ . Le lemme 2.1.3 (Encadrement des tailles)nous assure qu’une exécution menant à w est au moins de taille 2. En effet, si on avait w en une seule touche t , on aurait | w | ≤ | ε | + X a ∈ A | t | a ≤ k K k ∞ . Ainsi, il existe t . . . t n +1 ( n ∈ N ) telle que h ε | ε i · t · · · t n +1 = h u | v i et w = uv . Pour tout i ∈ J , n + 1 K , on pose ( h u i | v i i = h ε | ε i · t · · · t i w i = u i v i . Les w i sont dans L (car K est automatique) et le lemme 2.1.3 (Encadrement des tailles)nous assure que pour tout i ∈ J , n K , (cid:12)(cid:12)(cid:12) | w i +1 | − | w i | (cid:12)(cid:12)(cid:12) ≤ k K k ∞ . De plus, 0 ≤ | w | ≤ k K k ∞ et | w n | = | w | > k K k ∞ , donc il existe k ∈ J , n − K tel que w k = w et | w | − k K k ∞ ≤ | w k | ≤ | w | . Ainsi, pour tout w ∈ L de taille strictement supérieure à k K k ∞ , il existe w ′ ∈ L tel que w ′ = w et | w | − k K k ∞ ≤ | w ′ | ≤ | w | , ce qui démontre la proposition. (cid:3) A.1.6. Preuve de la proposition 2.1.7
Proposition 2.1.7
Soit K = ( T, F ) un clavier de langage L . Notons ( l n ) n ∈ N les longueurs des mots reconnuspar L triés par ordre croissant. Alors ( l n +1 − l n ) n ∈ N est bornée par 5 k K k ∞ . Preuve
Si pour tout w ∈ L , | w | ≤ k K k ∞ , alors le résultat est vrai.Sinon, on considère w tel que | w | > k K k ∞ . Le lemme lemme 2.1.3 (Encadrement des tailles)assure qu’on ne peut pas obtenir w en appuyant sur une seule touche. Ainsi, en voyant T comme un clavier automatique tel que k T k ∞ ≤ k K k ∞ , on a qu’il existe w ′ ∈ L ( L ′ ), f ∈ F et deux configuration h u | v i et h u ′ | v ′ i tels que w = uv, w ′ = u ′ v ′ et h u ′ | v ′ i · f = h u | v i . | w ′ | > k K k ∞ . La proposition 2.1.5nous donne alors qu’il existe w ′′ ∈ L ( T ) tel que | w ′ | − k K k ∞ ≤ | w ′′ | < | w ′ | − k K k ∞ . En particulier, il existe τ ∈ T ∗ tel que h ε | ε i · τ = h u ′′ | v ′′ i avec u ′′ v ′′ = w ′′ . Posons alors h x | y i = h u ′′ | v ′′ i · τ · f . On a xy ∈ L et le lemme 2.1.3 (Encadrement des tailles) nousassure | w ′ | − k K k ∞ ≤ | xy | < | w ′ | − k K k ∞ et donc | w | − k K k ∞ ≤ | xy | < | w | . Ainsi, pour tout w ∈ L de taille strictement supérieure à 5 k K k ∞ , il existe w ′ ∈ L telque | w | − k K k ∞ ≤ | w ′ | < | w | , ce qui démontre la proposition. (cid:3) A.1.7. Preuve du lemme 2.1.12
Lemme 2.1.12
Soient t = σ . . . σ n une touche, et u, v, u ′ , v ′ ∈ A ∗ de longueurs supérieures ou égales à n et ne contenant pas de a . En posant h u n | v n i = h u | v i · t et h u ′ n | v ′ n i = h u ′ | v ′ i · t , on a I a ( u n , v n ) = I a ( u ′ n , v ′ n ) . Preuve
Soient t = σ . . . σ n une suite d’opérations élémentaires, et u, v, u ′ , v ′ ∈ A ∗ de longueurssupérieures ou égales à n et ne contenant pas de a . Pour tout i ∈ J , n K , on pose h u i | v i i = h u | v i · t · · · t i h u ′ i | v ′ i i = h u ′ | v ′ i · t · · · t i G ( i ) = G a ( u i , v i ) G ′ ( i ) = G a ( u ′ i , v ′ i ) D ( i ) = D a ( u i , v i ) D ′ ( i ) = D a ( u ′ i , v ′ i ) I ( i ) = I a ( u i , v i ) I ′ ( i ) = I a ( u ′ i , v ′ i )Si X est un sous-ensemble de Z , on note X + k = { x + k | x ∈ X } pour k ∈ Z .Nous allons montrer par récurrence sur i que pour tout i ∈ [0 , n ], I ( i ) = I ′ ( i ). Le résultatest vrai pour i = 0 : u = u , v = v , u ′ = u ′ , v ′ = v ′ et aucun d’eux ne contient de a .Soit i ∈ J , n − K . On suppose le résultat vrai pour i , c’est-à-dire I ( i ) = I ′ ( i ), et donc G ( i ) = G ′ ( i ) et D ( i ) = D ′ ( i ).Puisque les tailles de u, v, u ′ et v ′ sont supérieures à n , le lemme 2.1.1 (Localité) nousassure que u i , v i , u ′ i et v ′ i sont non vides. Notons b u la dernière lettre de u i et b v la premièrelettre de v i . Nous distinguons alors plusieurs cas.— Si σ i +1 = b ∈ A \ { a } , alors ( G ( i + 1) = G ( i ) − = G ′ ( i ) − = G ′ ( i + 1) D ( i + 1) = D ( i ) = D ′ ( i ) = D ′ ( i + 1)41 Si σ n +1 = a , alors ( G ( i + 1) = G ( i ) − ∪ {− } = G ′ ( i ) − ∪ {− } = G ′ ( i + 1) D ( i + 1) = D ( i ) = D ′ ( i ) = D ′ ( i + 1)— Si σ n +1 = ◭ et b u = a , alors ( G ( i + 1) = G ( i ) +1 \ { } = G ′ ( i ) +1 \ { } = G ′ ( i + 1) D ( i + 1) = D ( i ) +1 ∪ { } = D ′ ( i ) +1 ∪ { } = D ′ ( i + 1)— Si σ n +1 = ◭ et b u = a , alors ( G ( i + 1) = G ( i ) +1 = G ′ ( i ) +1 = G ′ ( i + 1) D ( i + 1) = D ( i ) +1 = D ′ ( i ) +1 = D ′ ( i + 1)— Si σ n +1 = ◮ et b u = a , alors ( G ( i + 1) = G ( i ) − ∪ {− } = G ′ ( i ) − ∪ {− } = G ′ ( i + 1) D ( i + 1) = D ( i ) − \ { } = D ′ ( i ) − \ { } = D ′ ( i + 1)— Si σ n +1 = ◮ et b u = a , alors ( G ( i + 1) = G ( i ) − = G ′ ( i ) − = G ′ ( i + 1) D ( i + 1) = D ( i ) − = D ′ ( i ) − = D ′ ( i + 1)— Si σ n +1 = ← et b u = a , alors ( G ( i + 1) = G ( i ) +1 \ { } = G ′ ( i ) +1 \ { } = G ′ ( i + 1) D ( i + 1) = D ( i ) = D ′ ( i ) = D ′ ( i + 1)— Si σ n +1 = ← et b u = a , alors ( G ( i + 1) = G ( i ) +1 = G ′ ( i ) +1 = G ′ ( i + 1) D ( i + 1) = D ( i ) = D ′ ( i ) = D ′ ( i + 1)Dans tous les cas, on a bien I ( i ) = I ′ ( i ) ce qui permet de conclure notre récurrence.Le lemme s’obtient alors en i = n . (cid:3) A.1.8. Preuve du lemme 2.1.15
Lemme 2.1.15
Soient t = σ . . . σ n une touche et u, v ∈ A ∗ de longueurs supérieures ou égales à n . Si |h u | v i| a < |h u | v i · t | a , alors t écrit un a .Le but ici est de prouver le plus formellement possible cette proposition qui est trèsintuitive. 42 reuve Soit h u ′ | v ′ i = h u | v i · t . On pose t = σ ...σ n .Soit t ′ = σ ′ ...σ ′ n la touche où les occurrences de a sont remplacées par une lettre distin-guée ˆ a A , et λ le morphisme de mots [ˆ a a ].On va construire récursivement les ensembles G a ( n ) et D a ( n ) des a ajoutées à gauche età droite par t .Pour i = 0, on pose G a (0) = D a (0) = ∅ .Si i > σ i = b = a , on pose G a ( i ) = G a ( i − − et D a ( i ) = D a ( i − σ i = a , on pose G a ( i ) = G a ( i − − ∪ {− } et D a ( i ) = D a ( i − σ i = ◭ et − G a ( i − G a ( i ) = G a ( i − +1 et D a ( i ) = D a ( i − +1 — Si σ i = ◭ et − ∈ G a ( i − G a ( i ) = G a ( i − +1 \ { } et D a ( i ) = D a ( i − +1 ∪ { } — Si σ i = ◮ et 1 D a ( i − G a ( i ) = G a ( i − − et D a ( i ) = D a ( i − − — Si σ i = ◮ et 1 ∈ D a ( i − G a ( i ) = G a ( i − − ∪ {− } et D a ( i ) = D a ( i − − \ { } — Si σ i = ← et − G a ( i − G a ( i ) = G a ( i − +1 et D a ( i ) = D a ( i − σ i = ← et − ∈ G a ( i − G a ( i ) = G a ( i − +1 \ { } et D a ( i ) = D a ( i − +1 Et on note de même G ˆ a ( i ) et D ˆ a ( i ) pour t ′ .Il est rapide de vérifier par une récurrence sur i qu’on a les propriétés suivantes :— pour tout i ∈ J n K , G a ( i ) = G ˆ a ( i ) et D a ( i ) = D ˆ a ( i )— pour tout i ∈ J n K , G ˆ a ( i ) = G ˆ a ( h u | v i · ( σ ′ ...σ ′ i )) et D ˆ a ( i ) = D ˆ a ( h u | v i · ( σ ′ ...σ ′ i ))— pour tout i ∈ J n K , | G a ( i ) ∪ D a ( i ) | + | uv | a ≥ |h u | v i · ( σ ...σ i ) | a On en déduit que | G ˆ a ( i ) ∪ D ˆ a ( i ) | ≥ |h u | v i · t | a − | uv | a > (cid:3) Or I ˆ a ( h u | v i · t ′ ) = G ˆ a ( i ) ∪ D ˆ a ( i ) car l’exécution est efficiente, donc I ˆ a ( h u | v i · t ′ ) = ∅ .On peut donc appliquer le lemme 2.1.12 sur la configuration D b k K k ∞ (cid:12)(cid:12)(cid:12) b k K k ∞ E . On a I ˆ a ( D b k K k ∞ (cid:12)(cid:12)(cid:12) b k K k ∞ E · t ′ ) = ∅ , d’où t ′ écrit un ˆ a , et donc t écrit un a. A.1.9. Preuve du lemme 2.1.18 (Monotonie)
Lemme 2.1.18 (Monotonie)
Soient u, v, u ′ , v ′ ∈ A ∗ et t ∈ S ∗ une touche. Notons h x | y i = h u | v i · t et h x ′ | y ′ i = h u ′ | v ′ i · t .Si | u | ≤ | u ′ | et | v | ≤ | v ′ | , alors | x | ≤ | x ′ | et | y | ≤ | y ′ | .43 reuve On procède par induction sur la touche t . Si t = ε , le résultat est vrai.Sinon, t = t ′ σ , alors en notant h α | β i = h u | v i · t ′ et h α ′ | β ′ i = h u ′ | v ′ i · t ′ , on a, parl’hypothèse d’induction, | α | ≤ | α ′ | et | β | ≤ | β ′ | . Nous analysons les différents cas possibles.— Si σ = a ∈ A alors x = αa , x ′ = α ′ a , y = β et y ′ = β ′ donc les inégalités sontbien préservées.— Si σ = ← , on a y = β et y ′ = β ′ . Pour le côté gauche, on distingue trois cas.— Si α ′ = ε , alors α = ε et donc x ′ = x = ε .— Si α = ε et α ′ = ε , alors | x | = 0 ≤ | x ′ | .— Si α = ε et α ′ = ε , alors | x | = | α | − | x ′ | = | α ′ | − σ = ◭ , on distingue trois cas.— Si α ′ = ε , alors α = ε et donc x ′ = x = ε , y = β et y ′ = β ′ .— Si α = ε et α ′ = ε , alors on a | x | = 0 ≤ | x ′ | du côté droit et | y | = | β | et | y ′ | = | β ′ | + 1 du côté gauche.— Si α = ε et α ′ = ε , alors on a | x | = | α | − | x ′ | = | α ′ | − | y | = | β | + 1 et | y ′ | = | β ′ | + 1 du côté gauche.Les inégalités sont bien préservées.— Si σ = ◮ , on distingue trois cas.— Si β ′ = ε , alors β = ε et donc y ′ = y = ε , x = α et y ′ = α ′ .— Si β = ε et β ′ = ε , alors on a | y | = 0 ≤ | y ′ | du côté droit et | x | = | α | et | x ′ | = | α ′ | + 1 du côté gauche.— Si β = ε et β ′ = ε , alors on a | y | = | β | − | y ′ | = | β ′ | − | x | = | α | + 1 et | x ′ | = | α ′ | + 1 du côté gauche.Et les inégalités sont bien préservées.Ceci permet de conclure notre induction et donc notre preuve. (cid:3) A.2. Les claviers sans flèches
A.2.1. Preuve dulemme 2.2.1 (Caractérisation des configurations
REK ) Lemme 2.2.1 (Caractérisation des configurations
REK ) Soient K un clavier de REK , u ∈ A ∗ et t . . . t n ∈ K ∗ Alors h u | ε i · t . . . t n est de la forme h v | ε i avec v ∈ A ∗ . Preuve
On montre le résultat pour les actions élémentaires, et on l’obtient sur les touches parune induction immédiate sur la longueur de la touche. L’action d’une suite de touches τ étant équivalent à celle de la concaténation des touches de τ , on aura le résultat.44es actions élémentaires qui sont faisables ici sont le retour arrière et l’écriture d’unelettre a et on a h u | ε i · a = h ua | ε ih u | ε i · ← = h u | ε i si u = ε h v | ε i si u = vb ce qui montre le résultat pour les actions élémentaires. (cid:3) A.2.2. Preuve du lemme 2.2.2 (Forme normale d’une touche
REK ) Lemme 2.2.2 (Forme normale d’une touche
REK ) Soit t ∈ S ∗ une suite d’opérations élémentaires de REK . Alors il existe un unique k ∈ N et un unique w ∈ A ∗ tels que t ∼ ← k w . De plus, k et w peuvent être trouvées en tempspolynomial en la taille de t . Preuve
Supposons que t est de la forme t a ← t avec t , t ∈ S ∗ et a ∈ A . Soit u une configuration.Notons v = u · t . On a u · t = (cid:16) ( v · a ) · ← (cid:17) · t = ( va · ← ) · t = v · t = ( u · t ) · t = u · t t . Ainsi, si t contient une lettre suivie d’un retour, il existe une touche équivalente, stricte-ment plus courte, sans cette séquence d’opérations. Il existe donc une touche t ′ de mêmeaction que t sans aucune séquence d’opérations de la forme a ← , c’est-à-dire de la forme ← k w .Nous pouvons bien trouver la touche correspondante en temps polynomial. En effet, nousparcourons la touche t jusqu’à trouver une lettre suivie d’un retour. S’il n’y en a pas, onretourne la touche, sinon on supprime cette séquence et on réitère l’opération.À chaque étape, la taille de la touche considérée diminue d’au moins 1, et donc il y a auplus | t | étapes avec, à l’étape k , le parcours d’une touche de taille inférieure ou égale à | t | − k . On majore donc notre nombre d’opérations par | t | X k =0 | t | − k = O ( | t | ) . (cid:3) .3. Les claviers sans flèche droite A.3.1. Preuve du théorème 2.3.1 (fondamental de
GREK ) Théorème 2.3.1 (fondamental de
GREK ) Soient t = σ · · · σ n une suite d’opérations élémentaires et h u | v i une configuration. Nousposons h x n | y n i = h ε | ε i · t . Alors h u | v i · t est de la forme h u n x n | v n v i avec y n un sous-motde v n et u n un préfixe de u . Preuve
Procédons par induction sur n . Si n = 0 alors la propriété est trivialement vraie.Si n >
0, posons h x n − | y n − i = h ε | ε i · σ · · · σ n − . Soit h u | v i une configuration. On pose c n = h u | v i · σ · · · σ n . Par hypothèse d’induction, il existe u n − et v n − tels que c n − = h u n − x n − | v n − v i avec y n − un sous-mot de v n − et u n − un préfixe de u .On distingue alors plusieurs cas.— Si σ n = a ∈ A , alors x n = x n − a et y n = y n − . On pose u n = u n − et v n = v n − .— Si σ n = ← et x n − = ε , alors x n = ε et y n = y n − . On pose v n = v n − et u n = ( u ′ n − si u n − = u ′ n − a ( a ∈ A ) ε sinon . — Si σ n = ← et x n − = x ′ n − a avec a ∈ A , alors x n = x ′ n − et y n = y n − . On pose u n = u n − et v n = v n − .— Si σ n = ◭ et x n − = ε , alors x n = ε et y n = y n +1 . On distingue deux cas.— Si u n − = ε , on pose u n = ε et v n = v n − .— Si u n − = u ′ n − a avec a ∈ A , on pose u n = u ′ n − et v n = av n − .— Si σ n = ◭ et x n − = x ′ n − a avec a ∈ A , alors x n = x ′ n − et y n = ay n − . On pose u n = u n − et v n = av n − .Dans tous les cas, on a bien c n = h u n x n | v n v i avec y n sous-mot de v n et u n préfixe de u .L’induction est démontrée. (cid:3) A.3.2. Preuve du lemme 2.3.2 (Insensibilité à la position)
Lemme 2.3.2 (Insensibilité à la position)
Soient ˆ a une lettre distinguée, et t une touche de GREK contenant un unique ˆ a . Soit h u | v i une configuration ne contenant pas de ˆ a . Si h u | v i · t contient un ˆ a , alors pour touteconfiguration h u ′ | v ′ i , h u ′ | v ′ i · t contient ˆ a . 46 reuve Considérons t ′ , le suffixe de t commençant par ˆ a et créons P un tableau indicé de 1 à | t ′ | .Le but est d’indiquer dans la case i de P la position du curseur par rapport à ˆ a aprèsl’exécution des i premières opérations élémentaires de t ′ (notre origine est juste à droitedu ˆ a ). Nous posons alors P [1] = 0 et pour 0 ≤ i < | t | P [ i + 1] = ( P [ i ] + 1 si t ′ i = a ∈ AP [ i ] − t ′ i ∈ { ◭ , ←} Une récurrence immédiate sur i montre que tant que P [ i ] ne devient pas négatif, P [ i ]correspond bien à la position du curseur par rapport au ˆ a . Posons alors k l’entier minimaltel que P [ k + 1] < − a est effacé si et seulement si P [ k ] = 0 et t ′ k +1 = ← . ⇐ = : si P [ k ] = 0 et t ′ k +1 = ← , alors on est juste à droite du ˆ a et on efface la lettreà gauche du curseur ; on efface bien le ˆ a .= ⇒ : supposons que le ˆ a est effacé. Si k = −
1, alors tous les éléments de P sontpositifs, ce qui est impossible (on obtient un − a ).Donc k ≥ k , P [ k ] ≥ P [ k + 1] <
0, d’où t k +1 ∈ { ◭ , ←} .Mais si t k +1 = ◭ , alors le curseur passe à gauche du a sans l’avoir effacé ; lethéorème 2.3.1 (fondamental de GREK ) permet d’exclure cette possibilité.Il ne reste qu’une possibilité, t k +1 = ← . On obtient P [ k ] = 0 grâce à la définitionde P (l’écart entre P [ k ] et P [ k + 1] est de 1, P [ k + 1] < P [ k ] ≥ P ne dépend que de la touche t et pas de la configuration h u | v i considérée.Ainsi, si ˆ a appartient à h u | v i , alors pour tout u ′ , v ′ , ˆ a appartient à h u ′ | v ′ i . (cid:3) A.4. Les claviers sans retour
A.4.1. Preuve du lemme 2.4.3 (Itération de lettre)
Lemme 2.4.3 (Itération de lettre)
Soient L ∈ FK , w ∈ L et a une lettre apparaissant dans w . Alors il existe une suite( w n ) n ∈ N de mots de L telle que ∀ n ∈ N , | w n | a > n . Preuve
Soit K un clavier de FK qui reconnaît L . Il existe une suite de touches τ = t . . . t k telleque h ε | ε i · τ = h u | v i avec uv = w .Puisque a est une lettre de w , alors il existe i ∈ J , k K telle que | t i | a ≥
1. On pose alors u = v = ε , et pour tout n ∈ N , h u n +1 | v n +1 i = h u n | v n i · t i et w n = u n v n .47ne récurrence sur n montre que | w n | a ≥ n . Le résultat est vrai pour n = 0 et s’ilest vrai pour n ∈ N , alors le lemme 2.4.2 (Non effacement) et l’hypothèse de récurrencepermettent de conclure : | w n +1 | a = | w n | a + | t i | a ≥ | w n | a + 1 ≥ n + 1 . Et on a le résultat. (cid:3)
A.4.2. Preuve du lemme A.4.1 (Itération de lettre
FEK ) Lemme A.4.1 (Itération de lettre
FEK ) Soit K = ( T, F ) un clavier de
FEK . S’il existe w ∈ L tel que | w | a > k K k ∞ , alors pourtout n ∈ N , il existe w n ∈ L tel que | w n | a ≥ n . Preuve
Soit w tel que | w | a > k K k ∞ . Le lemme 2.1.3 (Encadrement des tailles) nous donnequ’une exécution acceptant w est au moins de longueur 2 (car | w | > k K k ∞ ).Soit τ = t . . . t n +1 une suite de touches menant à accepter w . On note w ′ le mot obtenu enappuyant sur τ ′ = t . . . t n . Puisque | w | a > k K k ∞ , alors, par le lemme 2.4.2 (Non effacement), | w ′ | a = | w | a − | t n +1 | a ≥ | w | a − | t n +1 | ≥ | w | a − k K k ∞ > . On en déduit qu’il existe t transiente tel que t a >
0. Pour tout k ∈ N , on pose alors w k = u k v k où h u k | v k i = h ε | ε i · t · · · t | {z } k fois · t n +1 . Une récurrence immédiate, à l’aide du lemme 2.4.2 (Non effacement), montre que | w k | a ≥ k . (cid:3) . Les langages de claviers B.1. Les langages sans flèches
B.1.1. RK Preuve de la proposition 3.1.11
Proposition 3.1.11
Le langage L = ( a ) ∗ ( b + b ) reconnu par { aa , b (cid:4) , bb (cid:4) } n’est pas dans RK . Preuve
Raisonnons par l’absurde et supposons qu’il existe un clavier K de RK qui reconnaît L . Le corollaire 2.2.4 (Forme normale de REK ) nous permet de supposer qu’il est sousforme normale.Puisque b ∈ L , alors il existe une suite de touches τ telle que ε · τ = b . La suite τ est alors, par mise sous forme normale, équivalent à ← k b avec k ∈ N . Nous raisonnonsalors suivant la valeur de k .— Si k = 0, alors τ ∼ b ; on a alors ε · τ · τ = b · τ = b ∈ L .— Si k = 1, alors τ ∼ ← b ; on a alors ε · τ · τ = b · τ = b ∈ L .— Si k > k pair ; on a a k b ∈ L , et donc a k b · τ = a k +1 b ∈ L .— Si k > k impair ; on a a k b ∈ L , et donc a k b · τ = a k +2 b ∈ L .Dans tous les cas, on aboutit à une contradiction, ce qui permet de conclure la preuve. (cid:3) B.1.2.
REK
Preuve de la proposition 3.1.19
Proposition 3.1.19 L = a ∗ c ∗ REK . Preuve
Raisonnons par l’absurde et supposons qu’il existe un clavier K de REK reconnaissant L . Nous posons M = k K k ∞ . 49uisque a ∈ L , il existe une suite de touches transientes t . . . t i et une touche finale t f telles que ε · t . . . t i t f = a . La suite t . . . t i t f est alors, par mise sous forme normale,équivalente à τ = ← k a (cid:4) .De même, puisque c k + M +1 ∈ L , il existe il existe une suite de touches transientes t ′ . . . t ′ i et une touche finale t ′ f telles que ε · t ′ . . . t ′ i t ′ f = c k + m +1 . Puisque | t f | ≤ M ,le lemme 2.1.1 (Localité) nous permet de dire que u = ε · ε · t ′ . . . t ′ i admet c k +1 commepréfixe.Mais on a alors w , ε · ( t ′ . . . t ′ j ) · τ ∈ L , c’est-à-dire que u [1 , | u | − k ] a ∈ L .Puisque u admet c k +1 comme préfixe, u [1 , | u | − k ] admet k comme préfixe et donc w estde la forme cva (avec v ∈ A ∗ ) ce qui est impossible. (cid:3) Preuve du théorème 3.1.15 (
REK est inclus dans
Alg ) Théorème 3.1.15 (
REK est inclus dans
Alg ) Soit K ∈ REK . Alors L ( K ) est algébrique et on peut construire en temps polynomialun automate à pile non déterministe A ( K ) reconnaissant L ( K ). Preuve
Soit K , ( T, F ) un clavier de
REK , soit A ( K ) l’automate à pile non-déterministe telque :— Son ensemble d’états est Pref( T ∪ F ) ∪ { Fin } .— Son alphabet d’entrée est A , son alphabet de pile est A ∪ {⊥} , ⊥ étant le symbolede fond de pile.— ε est le seul état initial— Fin est le seul état final. L’automate accepte uniquement dans l’état Fin avec unepile vide.— L’ensemble des transitions est ∆ = ∆ A ∪ ∆ ← ∪ ∆ boucle ∪ ∆ Fin avec∆ A = (cid:26) t ε −−→ − , ↑ a ta | ta ∈ Pref( T ∪ F ) , a ∈ A (cid:27) ∆ ← = (cid:26) t ε −−→ ↓ a, − t ← | t ← ∈ Pref( T ∪ F ) , a ∈ A (cid:27) ∪ (cid:26) t ε −−−→ ↓⊥ , ↑⊥ t ← | t ← ∈ Pref( T ∪ F ) (cid:27) ∆ boucle = (cid:26) t ε −−→ − , − ε | t ∈ T (cid:27) ∆ Fin = (cid:26) t ε −−→ − , − Fin | t ∈ F (cid:27) ∪ (cid:26) Fin a −−→ ↓ a, − Fin | a ∈ A (cid:27) ∪ (cid:26) Fin ε −−−→ ↓⊥ , − Fin (cid:27)
50n observe qu’un mot w est accepté par A ( K ) si et seulement si il existe une exécutionde l’automate menant à l’état Fin avec w ⊥ comme contenu de pile, si et seulement si ilexiste t ∈ F et w ′ ∈ A ∗ tels qu’il existe une exécution de A ( K ) menant à ε avec w ′ ⊥ comme contenu de pile, et w ′ · t = w .De plus une induction sur n nous montre que pour toute exécution de A ( K ) de longueur n menant à un état p ∈ Pref( T ), il existe un mot w et une suite de touches t · · · t k ∈ T ∗ tels que ε · t · · · t k p = e w et le contenu de pile soit w ⊥ à la fin de l’exécution.Une autre induction sur n nous montre que pour toute suite de σ · · · σ n d’opérationsformant un élément de T ∗ p avec p ∈ Pref( T ), il existe une exécution de l’automatemenant à l’état p avec comme contenu de pile ^ ε · σ · · · σ n ⊥ .Ces deux inductions nous montrent en particulier que les mots w tels qu’il existe uneexécution de A ( K ) menant à ε avec w ⊥ dans la pile sont exactement les miroirs desmots w obtenus en appliquant une suite de touches de T à ε .En conclusion, A ( K ) reconnaît exactement le miroir de L ( K ). Pour tout automate àpile on peut construire en temps polynomial un automate à pile reconnaissant le langagemiroir du sien, on obtient donc le résultat. (cid:3) Preuve du théorème 3.1.16 (
REK est inclus dans
Rat ) Théorème 3.1.16 (
REK est inclus dans
Rat ) Soit K ∈ REK . Alors L ( K ) est rationnel et on peut construire en temps polynomial unautomate A ( K ) non déterministe reconnaissant L ( K ).On va commencer par montrer ce résultat pour les langages de RK . Pour construire unautomate fini non-déterministe qui reconnaît un langage de RK , on décompose une exé-cution sur un clavier en blocs qui permettent de lire les lettres de manière monotone. Lelemme B.1.7 (Décomposition monotone d’une exécution de RK ) établit cette décomposi-tion. Les lemmes techniques suivants apportent des conditions nécessaires et suffisantespour construire les transitions de l’automate en temps polynomial, défini en définitionB.1.15. Les définitions qui suivent nous seront utiles. Définition B.1.1 (Profondeur)
Soient K un clavier de RK et τ = t . . . t n ∈ K ∗ . Pour tout i ∈ J , n K , il existe un uniquecouple ( k i , w i ) tel que t i ∼ ← k i w i . On définit la profondeur de τ parProf( τ ) = max k i + i − X j =1 ( k j − | w j | ) (cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12) i ∈ J , n K . si n ≥
1, et Prof( τ ) = 0 si τ = ε .Prof( τ ) correspond à la taille maximale d’un suffixe du mot initial effacé lors de l’exécu-tion de la séquence de touches τ , comme le montre le lemme suivant.51 emme B.1.2 Soit K un clavier de RK , τ = t . . . t n ∈ K ∗ et A . On pose u = n k K k ∞ . AlorsProf( τ ) = | u | − | u · τ | . Preuve
On pose m = | u | , S i = ( i = 0 k i + P i − j =1 ( k j − | w j | ) si i ∈ J n K M i = ( i = 0max j ∈ J n K S j sinonMontrons par récurrence sur n que u · ( t ...t n ) = m − M n v avec v ∈ A ∗ tel que | v | = M n − S n + | w n | .Si n = 0, u · ε = u = m − ε convient car S = M = 0.Si n >
0, on pose τ ′ = t ...t n − . Par hypothèse de récurrence, on a u · τ ′ = u m − M n − v ′ où v ′ ∈ A ∗ tel que | v ′ | = M n − − S n − + | w n − | .— Cas 1 : k n ≤ M n − − S n − + | w n − | , alors u · τ = m − M n − v ′ [1 , | v ′ | − k n ] w n = m − M n − v où v = v ′ [1 , | v ′ | − k n ] w n ∈ A ∗ tel que | v | = | v ′ | − k n + | w n | = M n − − S n − + | w n − | − k n + | w n | = M n − − S n + | w n | De plus, par hypothèse, M n − ≥ S n − + k n − | w n − | = S n , donc M n = M n − . D’oùla décomposition souhaitée.— Cas 2 : k n > M n − − S n − + | w n − | , alors, u · τ = m − M n − − ( k n −| v | ) w n De plus, comme M n − < S n − + k n − | w n − | = S n , on a M n = S n = S n − + k n − | w n − | = −| v ′ | + M n − + k n D’où la décomposition souhaitée u · τ = u m − M n w n avec | w n | = M n − S n + | w n | .Cela termine la récurrence. On a donc | u | − | u · τ | = m − ( m − M n ) = M n =Prof( τ ). (cid:3) éfinition B.1.3 (Action sur les entiers) Soient K un clavier de RK et t = ← k w ∈ K . On étend l’opération · aux entiers naturelsen posant pour tout n ∈ N , n · t = max(0 , n − k ) + | w | . On étend cette définition à K ∗ en posant n · ε = n et n · ( τ t ) = ( n · τ ) · t . Remarque B.1.4
L’intérêt de cette définition réside dans le fait que pour tous u ∈ A ∗ et τ ∈ K ∗ , on a | u · τ | = | u | · τ . Remarque B.1.5
Les notations τ −→ , τ −→ e et ⊙ sont introduites de manière analogue sur les entiers naturels.À la suite de ce résultat, dans tous les lemmes suivants on supposera que les claviersconsidérés sont inclus dans ← ∗ A ∗ . Lemme B.1.6
Soit K ⊆ ← ∗ A ∗ un clavier. Soient w , v ∈ A ∗ avec | w | ≤ k K k ∞ . Soit 0 ≤ s ≤ k K k ∞ .Il existe u ∈ A s et τ ∈ K ∗ tel que w τ −→ e vu si et seulement s’il existe k ∈ N et v , . . . , v k ∈ A + , w , . . . , w k ∈ A ∗ , 0 ≤ s , . . . , s k ≤ k K k ∞ et τ , τ , . . . , τ k ∈ K ∗ tels que :1. v = v · · · v k
2. Pour tout 1 ≤ i ≤ k , ← s i v i w i ∈ K
3. En posant s k +1 = s , pour tout 0 ≤ i ≤ k , | w i | τ i −→ e s i +1 . Preuve ⇐ : on pose τ = τ ( ← s v w ) τ ( ← s v w ) · · · τ k . On peut facilement vérifier que w τ −→ e vu avec | u | = s k +1 = s . ⇒ : nous allons procéder par induction sur v .Si v = ε , alors les deux premières conditions sont trivialement validées. Pour la troisième,on pose s = | u | , et on obtient immédiatement que, comme w τ −→ e u , | w | τ −→ e s .Si v = ε , alors soient t , . . . , t n ∈ K tels que t · · · t n = τ , posons j = min { i | Prof( t i +1 · · · t n ) ≤ | w · t · · · t i | − | v |} , c’est-à-dire que j est l’indice de ladernière touche qui affecte une des | v | premières lettres du mot w . Notamment, on a w · t · · · t j = αz avec | α | = | v | et | z | ≥ Prof( t j +1 ...t n ). Par le lemme B.1.2, on a que laréécriture αz t j +1 ...t n −−−−→ vu n’affecte pas α , donc α = v .De plus, par minimalité de j , on a aussi w · t · · · t j − = v ′ u ′ avec v = v ′ y (par le mêmeargument de conservation du préfixe) pour un y ∈ A + tel que u ′ t j −→ e yz . En posant ← m x = t j , nécessairement | u ′ | = m et yz = x .Par hypothèse d’induction sur w t ...t j − −−−−→ e v ′ u ′ , on a qu’il existe k ′ ∈ N et v , . . . , v k ′ ∈ A + , w , . . . , w k ′ ∈ A ∗ , 0 ≤ s , . . . , s k ′ ≤ k K k ∞ et τ , τ , . . . , τ k ′ ∈ K ∗ tels que :53. v ′ = v · · · v k ′
2. Pour tout 1 ≤ i ≤ k ′ , ← s i v i w i ∈ K
3. En posant s k ′ +1 = | u ′ | = m , pour tout 0 ≤ i ≤ k , | w i | τ i −→ e s i +1 , et Prof( τ i ) = | w i | .On pose τ k = t j +1 · · · t n , k = k ′ + 1, v k = y , s k = | u ′ | = m et w k = z . Les trois conditionsdu lemme se vérifient facilement. (cid:3) Lemme B.1.7 (Décomposition monotone d’une exécution de RK ) Soit K ⊆ ← ∗ A ∗ un clavier et soit v ∈ A ∗ . Il existe τ ∈ K ∗ tel que ε τ −→ v si etseulement s’il existe k ∈ N et v , . . . , v k ∈ A + , w , . . . , w k ∈ A ∗ , 0 ≤ s , . . . , s k ≤ k K k ∞ et τ , τ , . . . , τ k ∈ K ∗ tels que :1. v = v · · · v k
2. Pour tout 1 ≤ i ≤ k , ← s i v i w i ∈ K
3. En posant s k +1 = 0, pour tout 1 ≤ i ≤ k , | w i | τ i −→ e s i +1 .4. 0 τ −→ s ′ avec s ′ ≤ s Preuve ⇐ : est immédiate en posant τ = τ ← s v w τ · · · ← s k v k w k τ k . ⇒ : posons τ = t · · · t n . Soit i l’indice minimal tel que Prof( t i +1 · · · t n ) < | ε · t · · · t i | .On pose pr = Prof( t i +1 · · · t n ), et v , v ′ tels que v = v v ′ et | v | = | v | − pr .On obtient que ε t ··· t i −−−→ v w avec w t i +1 ··· t n −−−−→ e v ′ . Par minimalité de i , on a que t i est dela forme ← s v w avec s ≥ | ε · t · · · t i − | . On pose s ′ = | ε · t · · · t i − | et τ = t · · · t i − ,ce qui nous permet de vérifier la quatrième condition, et on applique le Lemme B.1.6 à w t i +1 ··· t n −−−−→ e v ′ pour obtenir les autres conditions. (cid:3) Lemme B.1.8
Soit K ⊆ ← ∗ A ∗ un clavier, soit s v ≤ k K k ∞ . Il existe τ ∈ K ∗ tel que 0 τ −→ s v si etseulement si il existe t ′ , . . . , t ′ m ∈ K avec m ≤ k K k ∞ , s , . . . , s m , s ′ , . . . , s ′ m ≤ k K k ∞ et τ , . . . , τ m ∈ K ∗ tels que :— Pour tout 1 ≤ i ≤ m , s i · t ′ i = s ′ i — En posant s ′ = 0 et s m +1 = s v , pour tout 0 ≤ i ≤ m , s ′ i τ i −→ e s i +1 . Preuve ⇐ : il suffit de prendre τ = τ t ′ τ ...t m τ m . ⇒ : posons τ = t · · · t n de taille minimale tel que 0 τ −→ s v . Par l’absurde, supposons qu’ilexiste M indices i < . . . < i M avec M > k K k ∞ tels que pour tout j , t i j soit de la forme ← k j x j avec k j > · t · · · t i j − . Alors, comme tous les x j sont de taille inférieure à k K k ∞ ,il existe a < b tels que | x a | = | x b | . On en conclut qu’en posant τ ′ = t · · · t i a t i b +1 · · · t n ,on obtient 0 τ ′ −→ s v , contredisant la minimalité de τ .Donc, en posant t i = ← k i x i pour tout i , il existe i < . . . < i m tels que m ≤ k K k ∞ , pourtout j , k i j > · t · · · t i j − , et pour tout i ∈ { , . . . , n } \ { i , . . . , i m } , k i ≤ · t · · · t i − .54n obtient donc bien les conditions du lemme en posant τ j = t i j +1 · · · t i j +1 − , s j =0 · ( t · · · t i j − ), s ′ j = 0 · ( t · · · t i j ) et t ′ j = t i j , pour tout j . Lemme B.1.9
Soit K ⊆ ← ∗ A ∗ un clavier, soit p le PGCD de N = n | x | − k (cid:12)(cid:12)(cid:12) ← k x ∈ K o . Soient 0 ≤ s u , s v ≤ k K k ∞ , supposons qu’il existe ← k x , ← k x ∈ K tels que | x |− k < < | x |− k , | x | ≤ s v et k ≤ s u , et supposons que p divise s v − s u .Alors il existe une suite d’opérations τ = t · · · t n ∈ K ∗ telle que s u τ −→ e s v . Preuve
L’idée de la preuve est de construire un mot (grand, mais de taille bornée par unepuissance de k K k ∞ ) accepté par K et de longueur s , tel qu’on a s u −→ e s −→ e s v . Onutilise notamment des lemmes d’existence de décomposition en combinaison linéaireentière basés sur le PGCD pour obtenir s .On pose M = k K k ∞ . En particulier, on a M ≥ max n || x | − k | (cid:12)(cid:12)(cid:12) ← k x ∈ K o .Considérons d’abord s ′ u = s u · ( ← k x ) M . On a s u ( ← k x ) M −−−−−−→ e s ′ u car k ≤ s u et 0 < | x |− k .De plus, s ′ u = s u + M ( | x | − k ) ≥ M , et s v − s ′ u = s v − s u − M ( | x | − k ). Comme p divise s v − s u et | x | − k , p divise s v − s ′ u .On considère également la constante s ′ v = s v + M ( k − | x | ). s u − s v et M ( k − | x | )étant multiples de p , s u − s ′ v l’est aussi.Maintenant essayons de construire s ′ u −→ e s −→ e s ′ v .Soient N + = N ∩ ( N \ { } ) et N − = N \ N , on a | x | − k ∈ N − et | x | − k ∈ N + , doncces ensembles sont non vides.Soient p + le PGCD de N + , p − celui de N − , leur PGCD est p . De plus p + et p − sontpositifs et donc il existe 0 ≤ a + , a − ≤ max { p + , p − } tels que a + p + − a − p − = p par lethéorème de Bézout. En particulier on a a + , a − ≤ M .Les ensembles n np + | n ∈ N + o et n np − | n ∈ N − o sont tous deux des ensembles d’entiersnaturels de PGCD 1. Par le théorème de Schur, il existe B + ∈ N (resp. B − ) tel que pourtout m ≥ B + (resp. B − ), il existe ( i n ) n ∈ N + (resp. ( i n ) n ∈ N − ) une famille d’entiers naturelstelle que P n ∈ N + np + i n = m (resp. P n ∈ N − np − i n = m ).Nous allons à présent utiliser un résultat d’Erdös and Graham selon lequel, pour tousentiers naturels a < · · · < a k avec k > P GCD ( { a , . . . , a n } ) = 1, pourtout entier n ≥ a k − ⌊ a k k ⌋ − a k , il existe i , . . . , i k ∈ N tels que P kj =1 a j i j = n [1]. Onsurapproxime la borne 2 a k − ⌊ a k k ⌋ − a k par a k . La borne d’Erdös et Graham est l’unede plusieurs bornes nous permettant d’obtenir la majoration par a k . Nous renvoyons lelecteur vers un document de Gallier contenant une liste de ces résultats [2]. On peutdonc supposer que B + , B − ≤ M . 55oit B ≥ max { p + B + , p − B − } + M ( k − | x | ) ≤ M tel que p + divise B , p + étantdivisible par p , B l’est aussi. Soit r ∈ { , · · · , p − − } tel qu’il existe q ∈ N tel que B + s ′ u − s ′ v = qp − + r par division euclidienne. B et p − étant divisible par p , r l’est aussi,ainsi que p − − r . Il existe donc r ′ ∈ { , · · · , p − − } tel que p − − r = r ′ p = r ′ a + p + − r ′ a − p − .On a donc que B + s ′ u − s ′ v + r ′ a + p + = B + s ′ u − s ′ v + p − − r + r ′ a − p − . B étant divisiblepar p + , B + r ′ a + p + aussi, et B + r ′ a + p + ≥ B ≥ p + B + , donc il existe ( i n ) n ∈ N + une familled’entiers naturels telle que P n ∈ N + ni n = B + r ′ a + p + . Pour tout n ∈ N , soit t n ∈ K dela forme ← k x avec | x | − k = n . Posons θ = Q n ∈ N + ( t n ) i n (les ( t n ) i n étant dans un ordrearbitraire), on obtient donc s ′ u · θ = s avec s , s u + B + r ′ a + p + + M ( | x | − k )À tout pas du calcul le nombre obtenu est plus grand que M ( | x |− k ) ≥ M , donc aucunetouche ne peut appliquer de retour sur le mot vide. En conséquence, on a s u ( ← k x ) M θ −−−−−−→ e s .On procède de manière similaire pour construire s −→ e s ′ v . s − s ′ v = B + r ′ a + p + + M ( | x | − k ) + ( s u − s ′ v )= B + ( p − − r + r ′ a − p − ) + s ′ u − s ′ v = qp − + r + ( p − − r + r ′ a − p − )= ( q + 1 + r ′ a − ) p − Comme B ≥ p − B − + M ( k − | x | ) et s v ≤ M ≤ M ( | x | − k ), on a s − s ′ v = B + r ′ a + p + + M ( | x | − k ) + ( s u − s ′ v )= B + r ′ a + p + + M ( | x | − k ) + M ( | x | − k ) + ( s u − s v ) ≥ p − B − + r ′ a + p + + s u ≥ p − B − Il existe donc ( i n ) n ∈ N − une famille d’entiers naturels telle que P n ∈ N − ni n = s − s ′ v .Pour tout n ∈ N − , on pose t n tel que t n = ← k x avec | x | − k = n ≤
0. On pose ν = Q n ∈ N − ( t n ) i n (les ( t n ) i n étant dans un ordre arbitraire). On obtient que s · ν = s ′ v .De plus à tout pas la taille du mot obtenu est supérieure à s ′ v ≥ M ( k − | x | ) ≥ M ,donc aucune touche ne peut appliquer de retour arrière sur le mot vide. On obtient donc s θ −→ e s ′ v .Enfin, s ′ v · ( ← k x ) M = s ′ v − M ( k − | x | ) = s v . De plus comme k − | x | ≤ s v , on a s ′ v ( ← k x ) M −−−−−−→ e s v .En conclusion, u ( ← k x ) M θν ( ← k x ) M −−−−−−−−−−−−−→ e s v . De plus, l’entier le plus grand obtenu lors decette exécution est s = s u + B + r ′ a + p + + M ( | x | − k ) ≤ k K k ∞ + 2 M + M + M ≤ k K k ∞ . (cid:3) emme B.1.10 Soit K ⊆ ← ∗ A ∗ un clavier. Soient 0 ≤ s u , s v ≤ k K k ∞ , supposons que pour tout ← k x ∈ K tel que | x | − k < | x | > s v .Alors les propositions suivantes sont équivalentes :— Il existe τ ∈ K ∗ tel que s u τ −→ e s v .— Il existe τ = t ...t n ∈ K ∗ tel que s u τ −→ e s v et, pour tout préfixe t · · · t i de τ , s u ≤ s u · t · · · t i ≤ s v et s v − ( s u · t · · · t i ) est strictement décroissante en i . Remarque B.1.11
La condition pour tout ← k x ∈ K tel que | x | − k < | x | > s v signifie que toutes lestouches “négatives” (c’est-à-dire appartenant à N − avec les notations du lemme B.1.9)écrivent strictement plus que s v . Ainsi, on est obligé de se restreindre à des touches“positives”, et donc s u ≤ s v . C’est ce que montre ce lemme. Preuve
Le fait que la deuxième proposition implique la première est immédiat.Supposons qu’il existe τ ∈ K ∗ tel que s u τ −→ e s v .Soit τ ∈ K ∗ tel que s u τ −→ e s v , avec τ de longueur minimale pour cette propriété.Posons τ = t · · · t p avec t , . . . , t p ∈ K , et pour tout 1 ≤ i ≤ p posons t i = ← k i x i .Supposons qu’il existe 1 ≤ i ≤ p tel que | x i | − k i <
0, alors par hypothèse on a | x i | > s v .Prenons i maximal pour cette propriété, alors on a | x j | − k j ≥ j > i , donc | s u · t · · · t i | ≤ | s u · t · · · t p | = s v . Cependant, l’exécution de τ sur s u étant efficiente, ona | s u · t · · · t i − | ≥ k i , et donc | s u · t · · · t i | ≥ | x i | > s v . On a donc s v = | s u · t · · · t p | ≥| s u · t · · · t i | > s v , d’où contradiction. En conséquence, on a | x i | − k i ≥ i .De plus on a supposé τ minimal. Supposons qu’il existe i tel que t i est de la forme ← k x avec | x | = k . Alors on peut poser θ = t · · · t i − t i +1 · · · t n , et facilement vérifier que s u θ −→ e s v , contredisant la minimalité de τ . Donc à chaque étape s v − s u · t · · · t i décroîtstrictement, cette valeur étant bornée par k K k ∞ au départ.On a donc bien p ≤ k K k ∞ . Lemme B.1.12
Soit K ⊆ ← ∗ A ∗ un clavier. Soient 0 ≤ s u , s v ≤ k K k ∞ , supposons que pour tout ← k x ∈ K tel que | x | − k > k > s u .Alors les propositions suivantes sont équivalentes :— Il existe τ ∈ K ∗ tel que s u τ −→ e s v .— Il existe τ = t · · · t p ∈ K ∗ tel que s u τ −→ e s v et, pour tout préfixe t · · · t i de τ , s v ≤ s u · t · · · t i ≤ s u et s u · t · · · t i − s v est strictement décroissante en i .Le deuxième point implique notamment p ≤ k K k ∞ .57 reuve Le fait que la deuxième proposition implique la première est immédiat.Supposons qu’il existe τ ∈ K ∗ tel que s u τ −→ e s v .Soit τ ∈ K ∗ tel que s u τ −→ e s v , avec τ de longueur minimale pour cette propriété.Posons τ = t · · · t p avec t , . . . , t p ∈ K , et pour tout 1 ≤ i ≤ p posons t i = ← k i x i .Supposons qu’il existe 1 ≤ i ≤ p tel que | x i | − k i >
0, alors par hypothèse on a k i > s u . Prenons i minimal pour cette propriété, alors on a | x j | − k j ≤ j < i , donc s u ≥ | s u · t · · · t i − | . Cependant, l’exécution de τ sur s u étant efficiente, ona | s u · t · · · t i − | ≥ k i . On a donc s u ≥ | s u · t · · · t i − | ≥ k i > s u , d’où contradiction. Enconséquence, on a | x i | − k i ≤ i .De plus on a supposé τ minimal. Supposons qu’il existe i tel que t i est de la forme ← k x avec | x | = k . Alors on peut poser θ = t · · · t i − t i +1 · · · t n , et facilement vérifier que s u θ −→ e s v , contredisant la minimalité de τ . Donc à chaque étape s u · t · · · t i − s v décroîtstrictement, cette valeur étant toujours positive (car décroissante et égale à 0 pour i = p )et bornée par k K k ∞ au départ.On a donc bien p ≤ k K k ∞ . (cid:3) Lemme B.1.13
Le problème suivant est décidable en temps polynomial :
Entrée : K ⊆ ← ∗ A ∗ un clavier, 0 ≤ s u , s v ≤ k K k ∞ . Sortie :
Existe-t-il τ = t · · · t n ∈ K ∗ tel que s u τ −→ e s v ? Preuve
Soient K ⊆ ← ∗ A ∗ un clavier, soit p le PGCD de N = n || x | − k | | ← k x ∈ K o .Soient0 ≤ s u , s v ≤ k K k ∞ .On procède par cas : Cas 1 :
Pour tout ← k x ∈ K tel que | x | − k < | x | > s v . Alors on peut définirun algorithme de programmation dynamique basé sur le Lemme B.1.10 utilisant untableau associant à chaque 0 ≤ s ′ u ≤ s v un booléen, valant vrai si et seulement si s v estaccessible par une suite de touches depuis s ′ u . On s’arrête quand on atteint s u , qui estnécessairement plus petit que s v d’après le lemme B.1.10. Cas 2 :
Pour tout ← k x ∈ K tel que 0 < | x | − k , k > s u . Similaire au Cas 1, cette foison utilise le Lemme B.1.12 pour un algorithme sur 0 ≤ s ′ v ≤ s u . Cas 3 :
Il existe ← k x , ← k x ∈ K tels que | x | − k <
0, 0 < | x | − k , | x | ≤ s v et k ≤ s u , et p divise s v − s u . Alors, par le Lemme B.1.9, il existe τ tel que s u τ −→ e s v . Cas 4 : p ne divise pas s v − s u . Alors on peut montrer par une récurrence immédiatesur τ que pour tout τ ∈ K ∗ , s u · τ = s v . 58 emme B.1.14 Le problème suivant est décidable en temps polynomial :
Entrée : K ⊆ ← ∗ A ∗ un clavier, 0 ≤ s v ≤ k K k ∞ . Sortie :
Existe-t-il τ = t · · · t n ∈ K ∗ tel que ε τ −→ s v ? Preuve
D’après le Lemme B.1.8, il nous suffit de trouver un chemin de 0 à s v dans le graphedont les sommets sont les éléments de { , . . . , k K k ∞ } et les arètes sont les éléments de n ( m, n ) | ∃← k x ∈ K, k = m, | x | = n o ∪ n ( m, n ) | ∃ τ ∈ K ∗ , m τ −→ e n o .Ce graphe étant calculable en temps polynomial d’après le Lemme B.1.8, il suffit de leconstruire puis de faire un test d’accessibilité en temps polynomial. (cid:3) Définition B.1.15
Soit K ⊆ ← ∗ A ∗ un clavier, on définit A ( K ) l’automate fini non-déterministe dont lesétats sont les éléments de { Init } ∪ { ( m, v, w, v ′ ) ∈ N × ( A ∗ ) | ← m vw ∈ K, v ′ ∈ Suff( v ) } .L’unique état initial est Init, les états finaux sont les éléments de n ( m, v, w, ε ) | ← m vw ∈ K, ∃ τ ∈ K ∗ , | w | τ −→ e o , plus Init si et seulement si ε ∈ L ( K ).L’ensemble des transitions est ∆ = ∆ Init ∪ ∆ lit ∪ ∆ touche avec∆ Init = n Init ε −→ ( m, v, w, v ) (cid:12)(cid:12)(cid:12) ∃ τ, ← m vw ∈ K, τ −→ m o ∆ lit = n ( m, v, w, av ′ ) a −→ ( m, v, w, v ′ ) (cid:12)(cid:12)(cid:12) ← m vw ∈ K, a ∈ A, av ′ ∈ Suff( v ) o Pour tous états s = ( m , v , w , ε ) et s = ( m , v , w , v ) tel qu’il existe une suite detouches τ tel que | w | τ −→ e m on a une transition s ε −→ s . ∆ touche est l’union de cestransitions. Lemme B.1.16
Soit K ⊆ ← ∗ A ∗ un clavier, A ( K ) et K reconnaissent le même langage. Preuve
Par définition de A ( K ), K reconnaît le mot vide si et seulement si A ( K ) le reconnaît.Soit v ∈ A + . Une induction sur v montre que v est accepté par A ( K ) si et seulementsi il existe v , . . . , v k ∈ A ∗ , s , . . . , s k ≤ k K k ∞ , w , . . . , w k ∈ A ∗ et τ , . . . , τ k ∈ K ∗ telsque :— v = v · · · v k — Pour tout i , ← s i v i w i ∈ K — En posant s k +1 = 0, pour tout i , | w i | τ i −→ e s i +1 — 0 τ −→ s Donc d’après le Lemme B.1.7, v ∈ L ( K ) si et seulement si v ∈ L ( A ( K )). (cid:3) héorème B.1.17 Tout langage reconnu par un clavier de RK est rationnel. Preuve
Soit K ⊆ ← ∗ A ∗ un clavier, par le Lemme B.1.16, son langage est exactement celui de A ( K ), L ( K ) est donc rationnel. (cid:3) Lemme B.1.18
Soit K ⊆ ← ∗ A ∗ un clavier, on peut construire A ( K ) en temps polynomial en la taillede K . Preuve
Le calcul de l’ensemble des transitions de A ( K ) revient à déterminer, d’une part pourchaque ← m u ∈ K s’il existe τ ∈ K ∗ tel que 0 τ −→ m , et d’autre part pour chaque ← k x, ← ℓ y ∈ K , pour chaque suffixe w de x , si il existe τ ∈ K ∗ tel que | w | τ −→ e ℓ . Cesopérations peuvent être faites en temps polynomial d’après les Lemmes B.1.14 et B.1.13,donc l’automate peut être construit en temps polynomial. (cid:3) Nous allons à présent étendre les résultats de la partie précédente à
REK . Lemme B.1.19
Soit K = ( T, F ) un clavier de
REK . On peut construire en temps polynomial un automate A ( K ) reconnaissant L ( K ). Preuve
Soit K , ( T, F ) un clavier de
REK . On pose L , L ( K ) et L T = L ( T ) où T est vucomme un clavier de RK .Par les théorèmes B.1.16 et B.1.18, L T est rationnel et on peut construire en tempspolynomial un automate le reconnaissant.On remarque alors que L = ∪ f ∈ F L f où L f , { w · f | w ∈ L T } .Soit f une touche finale de la forme ← k u (cid:4) . Alors L f = ( L T /A k ) u + δ u où L T /A k = n w (cid:12)(cid:12)(cid:12) ∃ v ∈ A k , wv ∈ L T o δ u , u si L T ∩ A k = ∅ et δ u = ∅ sinon . Comme la vacuité de L T ∩ A k est décidable en temps polynomial, que l’union, la conca-ténation et le quotient par A k d’automates sont calculables en temps polynomial, onpeut construire un automate pour L en temps polynomial. (cid:3) Nous présentons ci-dessous une preuve alternative, sous la forme d’une constructionexplicite d’un automate reconnaissant L ( K ).60 reuve (Plus constructiviste) Nous avons L ( K ) = ∪ f ∈ F { w · f | w ∈ L ( T ) } , avec T vu comme un clavier de RK . On a donc qu’un mot u appartient à L ( K ) si etseulement si l’une des deux conditions suivantes est vraie.1. Il existe k ∈ N tel que ← k u ∈ F et il existe x ∈ L ( T ) tel que | x | ≤ k .2. il existe k ∈ N , v, w, x ∈ A ∗ tels que u = vw , ← k w ∈ F , vx ∈ L ( K ) et | x | = k .Par les théorèmes B.1.16 et B.1.18, on peut construire en temps polynomial un automate A ( T ) = ( Q T , ∆ T , Init T , Fin T ) reconnaissant L ( T ). Pour tout k ≤ k K k ∞ , soit Q − k = n q ∈ Q T (cid:12)(cid:12)(cid:12) ∃ y ∈ A k , Fin T ∩ ∆ T ( q, y ) = ∅ o l’ensemble des états pouvant atteindre un état final en lisant k lettres. Tous les Q − k peuvent être calculés en temps polynomial. On pose également ℓ = min {| w | | w ∈ L ( T ) } ,qui peut être calculé en temps polynomial.Considérons à présent l’automate A ( K ) = ( Q T ∪ Q F , ∆ T ∪ ∆ F , Init F , { ε } ), avec— Q F = A ∗ ∩ Suff( F ) est l’ensemble des suffixes de mots écrits par des touches de F .— ∆ F = n q ε −→ w (cid:12)(cid:12)(cid:12) ∃ k ∈ N , ← k w ∈ F ∧ q ∈ Q − k o ∪ n av a −→ v (cid:12)(cid:12)(cid:12) av ∈ Q F o .— Init F = Init T ∪ n w ∈ A ∗ | ∃ k ≥ ℓ, ← k w ∈ F o .Remarquons d’abord que pour tout état w ∈ Q F , le seul mot permettant d’atteindre unétat acceptant depuis w est w . Remarquons également que toute exécution acceptantecommençant dans Init T peut se décomposer en une exécution dans Q T utilisant destransitions de ∆ T jusqu’à un état de Q − k , une ε -transition jusqu’à un état w ∈ Q F , puisun chemin lisant w .Un mot u a une exécution acceptante dans cet automate si et seulement s’il satisfait unedes deux conditions suivantes :1. Il existe w ∈ A ∗ et k ≥ ℓ tels que u est accepté depuis w , c’est-à-dire que u = w .Autrement dit, par définition de ℓ , il existe k ∈ N tel que ← k u ∈ F et il existe x ∈ L ( T ) tel que | x | ≤ k .2. Il existe k ∈ N , w ∈ A ∗ , v ∈ A k et s ∈ Q T tels que u = vw , ← k w ∈ F et s ∈ ∆ T (Init T , v ) ∩ Q − k , i.e., il existe x ∈ A k tel que vx ∈ L ( T ).On peut voir à présent que la condition 1 (resp. 2) ci-dessus est équivalente à la condition1 (resp. 2) du début de la preuve. En conclusion, un mot est accepté par A ( K ) si etseulement s’il est dans L ( K ).Comme cet automate peut être construit en temps polynomial, le théorème est prouvé. (cid:3) .2. Les langages sans flèche droite B.2.1. GK Preuve de l’exemple 3.2.3 (Mot de Dyck)
Exemple 3.2.3 (Mot de Dyck)
Le clavier K = { () ◭ , ◭ } reconnaît le langage L des mots bien parenthésés qui est doncdans GK . Preuve
Les mots engendrés sont clairement dans L , donc L ( K ) ⊂ L .On montre la réciproque par récurrence sur la longueur de u ∈ L . Montrons ainsi qu’ilexiste une suite de touche τ telle que h ε | ε i · τ = h ε | u i .— Pour u = ε , on prend τ = ◭ .— Soit u bien parenthésé de taille 2( n + 1). Il existe v et w de tailles respectives 2 k et 2( n − k ) tel que u = ( v ) w . Par hypothèse de récurrence, il existe τ v et τ w telque h ε | ε i · τ v = h ε | v i et h ε | ε i · τ w = h ε | w i . En posant τ = τ w () ◭ τ v ◭ , on obtientbien h ε | ε i · τ = h ε | u i . (cid:3) B.2.2.
GEK
Preuve du théorème 3.2.6
On considère le langage L pal@ = { w @ e w | w ∈ A ∗ } où @ est une lettre fraîche. Le problèmesuivant est indécidable.Palindrome : Donnée : Un langage L de GEK
Question : L ∩ L pal@ = ∅ ? Preuve
On réduit le problème de correspondance de Post. Soit ( u i , v i ) i i n J ,n K une instance dePost. On considère le clavier K = n u i e v i ◭ | v i | (cid:12)(cid:12)(cid:12) i ∈ J , n K o ∪ { @ (cid:4) } . Montrons que L ( K ) ∩ L pal@ = ∅ si et seulement si ( u i , v i ) i ∈ J ,n K ∈ PCP. En appelant t j la touche u j f v j ◭ | v j | , on montre aisément par récurrence sur k ∈ N que pour toute suited’indices i , . . . , i k ∈ J , n K , h ε | ε i · ( t i . . . t i k ) = h u i · · · u i k | f v i k · · · f v i i . On note t @ la touche @ (cid:4) .Montrons maintenant l’équivalence. 62 ⇒ : Soient i , . . . , i k ∈ J , n K tels que u i . . . u i k = v i . . . v i k . En appliquant la suitede touches t i . . . t i k , on obtient la configuration h u i ...u i k | f v i k , . . . f v i i . En appliquant ensuite la touche finale t @ , on obtient la configuration h u i . . . u i k @ | f v i k . . . f v i i . Donc, en posant u = u i . . . u i k , on obtient u @ e u ∈ L ( K ). Donc L ( K ) ∩ L pal@ = ∅ . ⇐ = : Soit w ∈ L ( K ) ∩ L pal @ . Comme w ∈ L ( K ), w est obtenu à partir d’une suitede touches t i . . . t i k t @ (car seule t @ est finale). La configuration obtenue à partirde cette suite est h u i . . . u i k @ | f v i k . . . f v i i . Donc w = u @ e v où u = u i . . . u i k et v = v i . . . v i k .De plus, comme w ∈ L pal@ , w est aussi de la forme w @ f w pour un w ∈ A ∗ .Comme @ n’est pas une lettre de A , cela impose u = w = v . Donc ( u i , v i ) i ∈ J ,n K ∈ PCP. (cid:3)
B.2.3.
GRK
Preuve de la proposition 3.2.9
Proposition 3.2.9
Le langage L , ( a ) ∗ ( b + b ) n’est pas dans GRK . Preuve
Par l’absurde, supposons qu’il existe un clavier K de GRK reconnaissant L .Puisque b ∈ L , il existe une suite de touches τ telle que b est reconnu par τ . Commeon peut écrire b sans l’effacer à partir de ε via la suite de touches τ , on peut écrire b sans l’effacer depuis n’importe quelle configuration, par le lemme d’insensibilité.Montrons désormais que si h u | v i est une configuration atteignable depuis ε alors v = ε .En effet, en posant h u ′ | v ′ i , h u | v i · τ ∈ L , alors u ′ v ′ est de la forme wv par le théorèmefondamental de GREK . De plus, par insensibilité, w contient b comme sous-mot. Comme wv ∈ L , cela impose v = ε .Le pointeur reste donc toujours à droite du mot, ce qui signifie que notre clavier estéquivalent à un clavier de RK . On sait pourtant, par la proposition 3.1.11 que L / ∈ RK ,ce qui prouve que L / ∈ GRK . (cid:3) .2.4. GREK
Preuve de la proposition 3.2.11
Proposition 3.2.11
Le langage L = { ab n +1 a n | n ∈ N } n’est pas dans GREK . Preuve
Supposons par l’absurde qu’il existe K = ( T, F ) dans
GREK reconnaissant L . Pour toutesuite de touches τ ∈ T ∗ , pouvons que h ε | ε i · τ est de la forme D u (cid:12)(cid:12)(cid:12) a k E .Depuis une configuration h u | v i avec v contenant un b , on peut exécuter une suite detouches écrivant abba (et ne l’effaçant pas par insensibilité) et acceptant, car abba ∈ L .Par le théorème 2.3.1 (fondamental de GREK ), on obtient un mot de la forme wv avec abba un sous-mot de w , donc abbab est un sous-mot de wv , ce qui est impossible car wv ∈ L .Il existe une suite de touches τ ∈ T ∗ et une touche f ∈ F telles que h ε | ε i · τ f = D u (cid:12)(cid:12)(cid:12) a k E avec ua k = ab k K k ∞ +1 a k K k ∞ car | t f | k K k ∞ . On a donc h ε | ε i · τ = D abw (cid:12)(cid:12)(cid:12) a k ′ E , avec D w (cid:12)(cid:12)(cid:12) a k ′ E · f = b k K k ∞ a k K k ∞ . De plus f étant finale, h ε | ε i · f = h x | y i avec xy de la forme ab n +1 a n . Par le théorème 2.3.1 (fondamental de GREK ), ab n +1 a n est donc un sous-motde b k K k ∞ a k K k ∞ , ce qui est faux. On en conclut que L n’est pas dans GREK (cid:3)
Preuve du théorème 3.2.12
Théorème 3.2.12
Soit L un langage de GREK . Alors L est algébrique et on peut construire en tempspolynomial un automate à pile non déterministe reconnaissant L . Définition B.2.1
Soit K = ( T, F ) un clavier de
GREK . On définit l’automate à pile A ( K ) comme suit :— Son ensemble d’états est Pref( T ∪ F ) ∪ { Fin } .— Son alphabet d’entrée est A , son alphabet de pile est A ∪ {⊥} , ⊥ étant le symbolede fond de pile.— ε est le seul état initial.— Fin est le seul état final. L’automate accepte uniquement dans l’état Fin avec unepile vide. 64 L’ensemble des transitions est ∆ = ∆ A ∪ ∆ ◭ ∪ ∆ ← ∪ ∆ boucle ∪ ∆ Fin avec∆ A = (cid:26) t ε −−→ − , ↑ a ta | ta ∈ Pref( T ∪ F ) , a ∈ A (cid:27) ∆ ◭ = (cid:26) t ε −−→ ↓ a, − t ◭ | t ◭ ∈ Pref( T ∪ F ) , a ∈ A (cid:27) ∪ (cid:26) t ε −−−→ ↓⊥ , ↑⊥ t ◭ | t ◭ ∈ Pref( T ∪ F ) (cid:27) ∆ ← = (cid:26) t ε −−→ ↓ a, − t ← | t ← ∈ Pref( T ∪ F ) , a ∈ A (cid:27) ∪ (cid:26) t ε −−−→ ↓⊥ , ↑⊥ t ← | t ← ∈ Pref( T ∪ F ) (cid:27) ∆ boucle = (cid:26) t ε −−→ − , − ε | t ∈ T (cid:27) ∆ Fin = (cid:26) t ε −−→ − , − Fin | t ∈ F (cid:27) ∪ (cid:26) Fin a −−→ ↓ a, − Fin | a ∈ A (cid:27) ∪ (cid:26) Fin ε −−−→ ↓⊥ , − Fin (cid:27)
Lemme B.2.2
Pour tout clavier K = ( T, F ) de
GREK , L ( K ) = ^ L ( A ( K )). Preuve
Soient u, v ∈ A ∗ , montrons que pour toute suite d’opérations élémentaires σ · · · σ k ∈ Pref( T ∪ F ), si on applique depuis l’état ε avec ⊥ u comme contenu de pile la suite detransitions le long du chemin ( σ )( σ σ ) · · · ( σ · · · σ k ), on lit un mot v ′ et on obtient uncontenu de pile ⊥ u ′ tels que h u | v i · σ · · · σ k = D u (cid:12)(cid:12)(cid:12) e v ′ v E .On procède par induction sur k . Si k = 0, alors la propriété est trivialement vraie Si k >
0, alors par hypothèse d’induction en appliquant les transitions jusqu’à σ · · · σ k − on lit un mot v ′′ et on obtient un contenu de pile u ′′ tels que h u | v i· σ · · · σ k − = D u ′′ (cid:12)(cid:12)(cid:12)f v ′′ v E .On distingue quatre cas :— Si σ k = a ∈ A , alors h u | v i · σ · · · σ k = h u ′′ a | v i . De plus en appliquant la transitionde σ · · · σ k − à σ · · · σ k on obtient un contenu de pile u ′′ a et on ne lit pas de lettre.— Si σ k = ◭ ou ← et u ′′ = ε , alors h u | v i · σ · · · σ k = h u ′′ | v i . De plus en appliquantla transition de σ · · · σ k − à σ · · · σ k on obtient un contenu de pile u ′′ et on nelit pas de lettre.— Si σ k = ◭ et u ′′ = wa , w ∈ A ∗ , a ∈ A alors h u | v i · σ · · · σ k = h w | av i . De plus enappliquant la transition de σ · · · σ k − à σ · · · σ k on obtient un contenu de pile w et on lit la lettre a .— Si σ k = ← et u ′′ = wa , w ∈ A ∗ , a ∈ A , alors h u | v i · σ · · · σ k = h w | v i . De plus enappliquant la transition de σ · · · σ k − à σ · · · σ k on obtient un contenu de pile w et on ne lit pas de lettre. 65’induction est prouvée.De plus toutes les transitions d’un t ∈ T vers ε sont des ε -transitions sans effet sur lapile.De part la structure de l’automate, les seules suites d’états menant de ε à Fin sont dela forme t · · · t n t ′ avec t , · · · t n ∈ T et t ′ ∈ F , et où pour tout t ∈ T , t désigne la suitede tous les préfixes de t ordonnés par ordre croissant.On obtient que pour tous u, v ∈ A ∗ , il existe une exécution de l’automate lisant e v depuis ε avec une pile ⊥ vers un état t ′ ∈ F avec une pile ⊥ u si et seulement si h u | v i = h ε | ε i· t · · · t n t ′ avec t , . . . , t n ∈ T . De plus il y a une seule transition depuis t ′ , n’affectantpas la pile ni le mot lu, vers f in , et dans l’état Fin la pile est vidée en lisant son contenuau fur et à mesure (donc lisant e u si le contenu de la pile est ⊥ u ).Donc un mot w est accepté si et seulement si il est de la forme e v e u avec u, v tels qu’ilexiste t ′ ∈ F et une exécution de ε avec une pile ⊥ vers t ′ avec une pile ⊥ u lisant e v ,c.à.d. si et seulement s’il existe u, v ∈ A ∗ et t , . . . t n ∈ T, t ′ ∈ F tels que e w = uv et( u, v ) = ( ε, ε ) · t · · · t n t ′ , donc si et seulement si e w ∈ L ( K ).On a bien L ( A ( K )) = ^ L ( K )/ (cid:3) B.3. Les claviers sans retour
B.3.1. FK Preuve du théorème 3.3.1 pour FK (de la proposition 3.2.4 pour GK ) Théorème 3.3.1 Si L est fini et dans FK alors L ⊂ { ε } . Preuve
Nous raisonnons par contraposée. S’il existe w non vide dans L , alors w contient unelettre a . Le lemme 2.4.3 (Itération de lettre) nous donne l’existence de ( w n ) n ∈ N telle que ∀ n ∈ N , | w n | a > n .Donc L est infini. (cid:3) .3.2. FEK
Preuve du proposition 3.3.5 (RK non inclus dans FEK) pour
FEK (de laproposition 3.2.7 pour
GEK ) Proposition 3.3.5 (RK non inclus dans FEK)
Le langage L C engendré par le clavier de RK {← a , ←← b } n’est pas dans FEK . Preuve
Notons t a = ← a t b = ←← b K . Appliquer la touche t a n fois nousdonne le mot ( a n $, et appliquer la touche t b n fois nous donne le mot ( b n $$.De manière évidente, si w ∈ L C , alors w termine par un $, puisque t a et t b terminentpar un $, et que le curseur reste toujours à droite dans RK .Montrons d’abord que si ubwav ∈ L C avec u, w, v ∈ A ∗ et uw ne contient pas de a , alors w contient un $.Puisque t a et t b sont sous forme normale, effacent au plus deux lettres et écrivent aumoins trois lettres, par une récurrence facile on peut montrer que pour toute exécutionde K u t −→ u ... t n −→ u n , pour tout 0 ≤ i < n , u i +1 est de la forme u i w , w contenant un a si et seulement si t i = t a un b si et seulement si t i = t b . De plus aucun a ou b n’estjamais effacé.Si ubwav ∈ L avec u, w, v ∈ A ∗ et pas de a dans uw , une exécution donnant ce motà partir de ε est de la forme τ b t a τ ′ , où t a introduit le a en question. Par la remarqueprécédente, nécessairement τ b = t kb pour k >
0. On a donc ε · τ b = xb x ∈ A ∗ ,d’où ε · ( τ b t a ) = xb a a n’étant jamais effacé, le $ qui le précède non plus, et ona donc nécéssairement que w contient un $. On obtient la propriété suivante :Pour tout ubwav ∈ L , w contient un $. (B.1)Par l’absurde, supposons qu’il existe K = ( T, F ) un clavier de
FEK reconnaissant celangage. Comme le langage contient les mots ( a n $ et ( b n $$ pour n arbitrairementgrand, K ne pouvant pas effacer, il existe des touches t ′ a , t ′ b ∈ T telles que t ′ a écrit des a ,éventuellement des b ni $, et t ′ b écrit des b , éventuellement des a ni $.En exécutant t ′ b n fois depuis h ε | ε i , on obtient un mot contenant au moins n b maisaucun $. Donc si on est dans une configuration h u | v i avec | v | > k K k ∞ , appuyer sur unetouche entrée nous fera accepter un mot sans $ à la fin, ce qui est impossible car tousles mots du langage en ont un.On applique t ′ b k K k ∞ fois à partir de h ε | ε i , on obtient une configuration h u | v i sans$ avec | u | ≥ k K k ∞ (car | v | ≤ k K k ∞ ≤ k K k ∞ ). On applique ensuite t ′ a k K k ∞ + 1fois pour obtenir h x | y i toujours sans $. Si on avait | y | > k K k ∞ , alors en exécutant unetouche acceptante, on ne pourrait obtenir de mot terminant par $. Ainsi | y | ≤ k K k ∞ .67n pose x , x tels que x = x ax , x ne contenant pas de a . Rappelons que l’on aexécuté la touche t ′ a k K k ∞ + 1 fois depuis h u | v i , avec | u | ≥ k K k ∞ et uv ne contenantpas de a .On en déduit que x est de taille au plus (2 k K k ∞ + 1) k K k ∞ et donc que | x | = | xy | −| y | − | x | − ≥ k K k ∞ + 2 k K k ∞ + 1 − k K k ∞ − (2 k K k ∞ + 1) k K k ∞ − k K k ∞ .Le mot x ax y contient 2 k K k ∞ + 1 a , donc comme | y | ≤ k K k ∞ et x ne contient pasde a , x est donc de taille au moins k K k ∞ .On exécute ensuite une touche acceptante f ∈ F , pour obtenir une configuration ac-ceptée de la forme h x ax ′ | y ′ i avec x contenant au moins un b mais ni a ni $. Donc x ax ′ y ′ ∈ L C contredit la propriété B.1. (cid:3) Preuve du théorème 3.3.7
Théorème 3.3.7
Tout langage de clavier sans effacement est un langage contextuel.
Preuve
Rappelons que les langages contextuels sont équivalents aux langages de grammairescroissantes (avec mot vide autorisé) [4], c’est-à-dire des grammaire où pour toute pro-duction α → β on a α ≤ β . La preuve consiste à construire une grammaire croissante G qui reconnaît L L un langage de clavier sans effacement et A .Soit L un langage de clavier sans effacement. Il existe K = ( T, F ) un clavier sanseffacement sur l’alphabet A qui reconnaît L . On définit sur l’alphabet A ∪ { } où A , G = ( {|} , A, { S → | } ∪ P ∪ P ε ∪ P F , S )une grammaire croissante. Les dièses représentent le début et la fin du mot. Dans cetteconstruction, ils ne sont pas enlevés à la toute fin.On prend P ε = { S → } s’il existe une touche acceptante t F ∈ F qui ne contient pasde symbole de A , et P ε = ∅ sinon. Il reste à déterminer P et P F .L’idée est de définir, pour chaque touche t , une règle qui déplace le curseur | et ajoutedes symboles de A , en définissant l’action de chaque lettre de t . Pour construire l’actiondu mot entier, on unifie les actions de ses lettres.On se munit de variables de mot α, β, ... ∈ V (infini dénombrable). Soit U l’union desensembles de couples suivants : U a = { ( α | β, αa | β ) } pour tout a ∈ AU ◭ = { ( | β, | β ) } ∪ { αa | β, α | aβ ) | a ∈ A } U ◮ = { ( α | , α | } ∪ { α | aβ, αa | β ) | a ∈ A } (B.2)68our deux couples q = ( u , v ) et q = ( u , v ) ∈ U (alpha-renommés différemment), ondéfinit l’unification de q ⊔ q par echec si l’unification de v et u est echec , et sinon par( u σ, v σ ), où σ est la substitution telle que v σ = u σ .On pose U ε = ∅ pour toute touche t = s ...s n , U t = ( ... ( U s ⋆ U s ) ⋆ ... ) ⋆ U s n , où lacomposition ⋆ est définie par U s ⋆ U s ′ = { q ⊔ q ′ = echec | q ∈ U s , q ′ ∈ U s ′ } (B.3)À un ensemble X de couples, on peut maintenant associer l’ensemble des productions P ( X ) = { uσ ε → vσ ε | ( u, v ) ∈ X } , où σ ε est la substitution qui à toute variable de motassocie ε . On définit alors P = S t ∈ T P ( U t ).Les couples des U s pour s ∈ A ∪ { ◭ , ◮ } sont croissants. De plus, il est facile de voirque l’unification conserve cette croissance, puisque les substitutions la conserve (carchaque variable est présente dans la composante de gauche ssi elle est présente dans lacomposante de droite du couple). Ainsi, les productions de P sont bien toutes croissantes.Pour P F , créé à partir des touches acceptantes, il faut s’assurer de ne pas avoir deproduction où effacer le curseur | vient faire décroître la production. L’idée est doncde concaténer la production avec des productions strictement croissantes, d’où P F = S t F ∈ F P ( U ′ t F ) où U ′ t F = [ t ∈ T ∃ a ∈ A, a ∈ t U t ⋆ ( U t F ⋆ { ( α | β, αβ ) } ) (B.4) (cid:3) Notons que la taille de P est bornée par ( | T | + | F | ) | A | || K || ∞ + 1.On voit bien que L ( G ) = L Preuve du théorème 3.3.8 (Stabilité par miroir)
Théorème 3.3.8 (Stabilité par miroir)
FEK et FK sont stables par miroir. Preuve
On pose · le morphisme de mots généré par : ◮ = ◭ ◭ = ◮ a = a ◭ si a ∈ A Si h u | v i est une configuration, on note ] h u | v i = h e v | e u i .
1. En fait, ⋆ est associative. σ ...σ n que c σ ...σ n −−−−→ c n ssi e c σ ...σ n −−−−→ f c n .Si n = 0, la propriété est trivialement vraie.Si n >
0, par hypothèse de récurrence, on a c σ ...σ n − −−−−−→ c n − ssi e c σ ...σ n − −−−−−→ g c n − . Soit h u | v i = c n − et c ′ = g c n − · σ n .Cas 1 : σ n = a . D’une part c n = h ua | v i . D’autre part c ′ = h e v | e u i · ( a ◭ ) = h e va | e u i · ◭ = h e v | a e u i = f c n Cas 2 : σ n = ◭ et u = ε . D’une part c n = h ε | v i . D’autre part c ′ = h e v | ε i · ◮ = f c n .Cas 3 : σ n = ◭ et u = u ′ a pour a ∈ A . D’une part c n = h u ′ | av i . D’autre part c ′ = De v (cid:12)(cid:12)(cid:12) a e u ′ E · ◮ = f c n .Les cas avec σ n = ◭ sont symétriques.La récurrence est terminée, et se généralise immédiatement aux suites de touches.Soit L in langage de FEK et K = ( T, F ) un clavier le reconnaissant. Soit K = ( T , F )où le morphisme est appliqué respectivement sur chacune des touches. Pour tout mot w , l’exécution h ε | ε i t ...t n −−−→ w peut se renverser en une exécution h ε | ε i t ...t n −−−→ e w de K etvice-versa. Donc w ∈ L ssi e w ∈ L (cid:16) K (cid:17) , d’où L (cid:16) K (cid:17) = e L . De plus, K est un clavier de FEK , et est automatique ssi K l’est aussi. (cid:3) B.4. Étude de l’automatisme
B.4.1.
FREK
Preuve du théorème 3.4.4
Théorème 3.4.4
Prenons comme alphabet A = { a, b, c } Soit L = L ∪ L avec L = { wc e w | w ∈ { a, b } ∗ } et L = { wcc e w | w ∈ { a, b } ∗ } . Alors L ∈
FREK \ FRK .On a
L ∈
FREK grâce au clavier { aa ◭ , bb ◭ , c (cid:4) , cc (cid:4) } .Nous allons montrer que L / ∈ FRK .On commence par prouver que le curseur reste proche du centre du mot.
Lemme B.4.1
Soient u, v, u ′ , v ′ ∈ A ∗ et t ∈ T une touche quelconque. On suppose que h u | v i· t = h u ′ | v ′ i ,que uv, u ′ v ′ ∈ L et que uv = u ′ v ′ . Alors || u | − | v || ≤ | t | + 3 et || u ′ | − | v ′ || ≤ | t | + 3.70 reuve Supposons || u | − | v || > | t | + 3. Alors soit | u | − | v | > | t | + 3 soit | v | − | u | > | t | + 3. Onsuppose | u | − | v | > | t | + 3car l’autre cas est similaire. On a donc | u | = | u | | u | > | u | | v | + 2 | t | + 32D’où | u | ≥ | uv | + | t | + 2 puisqu’il est entier.Comme uv ∈ L , uv est de la forme wc e w ou wcc e w pour un certain w ∈ { a, b } ∗ , donc u estde la forme wcx ou wccx avec xv = e w et | x | ≥ | t | +1. On obtient du lemme 2.1.1 (Localité)qu’il existe un préfixe commun w p à u et u ′ tel que | w p | ≥ | u | − | t | ≥ | uv | + 2. Donc w p est de la forme wcy (et uv = wc e w ) ou wccy (et uv = wcc e w ) avec y ∈ { a, b } + . Comme u ′ v ′ est dans L , dans les deux cas uv = u ′ v ′ , ce qui contredit nos hypothèses.En conclusion, on a bien || u | − | v || ≤ | t | + 3.Une induction immédiate sur n nous donne que pour toute suite d’opérations élémen-taires σ · · · σ n , en posant h u ′′ | v ′′ i = h u | v i · σ · · · σ n , − n ≤ | u | − | u ′′ | ≤ n et − n ≤| v | − | v ′′ | ≤ n . De ce fait, || u ′ | − | v ′ || ≤ || u | − | v || + || u | − | u ′ || + || v | − | v ′ || ≤ | t | + 3. (cid:3) Lemme B.4.2 Si K ∈ FRK reconnaît L , alors K contient une touche écrivant a . Preuve
Il existe t · · · t n ∈ T ∗ tel que h ε | ε i · t · · · t n = h u | v i avec uv = a k K k ∞ +1 cca k K k ∞ +1 . Soit i minimal tel que le nombre de a dans h u i | v i i = h ε | ε i · t · · · t i soit maximal, on pose h u i − | v i − i = h ε | ε i · t · · · t i − . En particulier h u i | v i i contient au moins 6 k K k ∞ + 2 a , et h u i − | v i − i contient strictement moins de a que h u i | v i i par minimalité de i .Par le lemme B.4.1, || u i − | − | v i − || ≤ | t i | +3. Or par le lemme 2.1.3 (Encadrement des tailles),on a | u i − v i − | ≥ | u i v i | − | t i | ≥ k K k ∞ + 2. Par l’absurde, si on avait | u i − | < k K k ∞ (etdonc nécessairement | u i − | ≤ | v i − | ), on aurait | u i − v i − | ≤ | u i − | + ( | u i − | + 2 | t i | + 3) ≤ k K k ∞ −
1) + (2 k K k ∞ + 3) < k K k ∞ + 2 (cid:3) Contradiction. Ce raisonnement fonctionne de même avec v i − . Ainsi u i − et v i − sontde longueurs supérieures ou égales à k K k ∞ .Ainsi on peut appliquer le lemme 2.1.15, d’où t i écrit un a . Lemme B.4.3
Le langage L n’est pas reconnu par un clavier de FRK .71 reuve