Académique Documents
Professionnel Documents
Culture Documents
Olivier Carton
9 782311 014006
✐ ✐
✐ ✐
✐ ✐
✐ ✐
Préface 7
Introduction 9
Remerciements 11
I Langages formels 13
1 Langages rationnels 15
1.1 Premières définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2 Opérations rationnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3 Combinatoire des mots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3.1 Périodicités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3.2 Mots infinis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.3.3 Motifs inévitables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.3.4 Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.4 Un peu d’ordre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.4.1 Quasi-ordres sur les mots . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.4.2 Ordres sur les mots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.4.3 Quasi-ordres sur les arbres . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.5 Langages rationnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.5.1 Expressions rationnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.5.2 Automates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.6 Automates déterministes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
1.7 Automate minimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
1.7.1 Quotients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
1.7.2 Congruence de Nerode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
1.7.3 Calcul de l’automate minimal . . . . . . . . . . . . . . . . . . . . . . . . . 54
1.8 Propriétés de clôture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
1.8.1 Opérations booléennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
1.8.2 Morphisme et morphisme inverse . . . . . . . . . . . . . . . . . . . . . . . 58
1.9 Lemme de l’étoile et ses variantes . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
1.10 Hauteur d’étoile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
1.11 Reconnaissance par morphisme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
1.12 Langages sans étoile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
1.13 Compléments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
1.13.1 Conjecture de Černý . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
1.13.2 Rationnels d’un monoïde quelconque . . . . . . . . . . . . . . . . . . . . . 80
✐ ✐
✐ ✐
✐ ✐
2 Langages algébriques 83
2.1 Grammaires algébriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
2.1.1 Définitions et exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
2.1.2 Grammaires réduites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
2.1.3 Grammaires propres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2.1.4 Forme normale quadratique . . . . . . . . . . . . . . . . . . . . . . . . . . 90
2.2 Systèmes d’équations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2.2.1 Substitutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2.2.2 Système d’équations associé à une grammaire . . . . . . . . . . . . . . . . 92
2.2.3 Existence d’une solution pour S(G) . . . . . . . . . . . . . . . . . . . . . 93
2.2.4 Unicité des solutions propres . . . . . . . . . . . . . . . . . . . . . . . . . 94
2.2.5 Théorème de Parikh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2.2.6 Systèmes d’équations en commutatifs . . . . . . . . . . . . . . . . . . . . 95
2.2.7 Solutions rationnelles des systèmes commutatifs . . . . . . . . . . . . . . . 96
2.3 Arbres de dérivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
2.3.1 Ambiguïté . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
2.3.2 Lemme d’itération . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
2.3.3 Applications du lemme d’itération . . . . . . . . . . . . . . . . . . . . . . 103
2.3.4 Ambiguïté inhérente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
2.4 Propriétés de clôture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
2.4.1 Opérations rationnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
2.4.2 Substitution algébrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
2.4.3 Intersection avec un rationnel . . . . . . . . . . . . . . . . . . . . . . . . . 107
2.4.4 Morphisme inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
2.4.5 Théorème de Chomsky et Schützenberger . . . . . . . . . . . . . . . . . . 110
2.5 Forme normale de Greibach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
2.6 Automates à pile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
2.6.1 Définitions et exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
2.6.2 Différents modes d’acceptation . . . . . . . . . . . . . . . . . . . . . . . . 116
2.6.3 Équivalence avec les grammaires . . . . . . . . . . . . . . . . . . . . . . . 119
2.6.4 Automates à pile déterministes . . . . . . . . . . . . . . . . . . . . . . . . 123
2.7 Compléments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
2.7.1 Réécriture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
2.7.2 Contenus de pile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
2.7.3 Groupe libre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
✐ ✐
✐ ✐
✐ ✐
4 Complexité 193
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
4.1.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
4.1.2 Définition des complexités . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
4.2 Complexité en temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
4.2.1 Théorème d’accélération . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
4.2.2 Changements de modèles . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
4.2.3 Classes de complexité en temps . . . . . . . . . . . . . . . . . . . . . . . . 196
4.2.4 NP-complétude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
4.2.5 NP-complétude de Sat et 3Sat . . . . . . . . . . . . . . . . . . . . . . . . 203
4.2.6 Exemples de problèmes NP-complets . . . . . . . . . . . . . . . . . . . . . 206
4.3 Complexité en espace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
4.3.1 Changement de modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
4.3.2 Classes de complexité en espace . . . . . . . . . . . . . . . . . . . . . . . . 221
4.3.3 Complexités en temps et en espace . . . . . . . . . . . . . . . . . . . . . . 221
4.3.4 Exemples de problèmes dans PSpace . . . . . . . . . . . . . . . . . . . . 222
4.3.5 PSpace-complétude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
4.3.6 Espace logarithmique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
4.3.7 NL-complétude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
4.4 Théorèmes de hiérarchie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
4.5 Machines alternantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
4.5.1 Définitions et exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
4.5.2 Complémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
4.5.3 Automates alternants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
4.5.4 Classes de complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
4.6 Compléments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Bibliographie 251
Index 253
✐ ✐
✐ ✐
✐ ✐
✐ ✐
✐ ✐
✐ ✐
Préface
Dominique Perrin
✐ ✐
✐ ✐
✐ ✐
✐ ✐
✐ ✐
✐ ✐
Introduction
e livre est une introduction à l’informatique théorique qui couvre aussi bien les
C langages formels que la calculabilité et la complexité. Il existe d’excellents ouvrages
en anglais couvrant ces différents sujets mais très peu en français. Celui-ci tente hum-
blement de combler cette lacune.
L’objectif est d’appréhender les limites des ordinateurs et de comprendre ce qu’il est
possible ou impossible de faire avec eux. Cette question est délicate mais fondamentale
puisqu’elle touche à l’essence de la notion de calculable. Elle est considérée tout au long
de cet ouvrage à travers différents modèles de calculs : automates, automates à pile et
machines de Turing.
Les questions de calculabilité et de complexité ne sont abordées que dans la seconde
partie de l’ouvrage. La première partie est consacrée à la théorie des automates qui est un
préambule indispensable. La théorie des automates s’est développée dès la naissance de
l’informatique théorique. Elle en est maintenant le socle sur lequel s’appuie le reste. Bien
que les automates soient un modèle très simple, ils jouissent de remarquables propriétés
et leur étude est encore très active aujourd’hui. La théorie des automates a des liens
étroits avec l’arithmétique, la combinatoire, l’algèbre, la topologie, la logique, la théorie
des jeux et l’algorithmique. Les automates sont aussi au cœur de nombreuses applications
en informatique du génome, en traitement des langues naturelles et en arithmétique des
ordinateurs. La théorie de la complexité s’est épanouie plus récemment que la théorie
des automates mais c’est maintenant un domaine très dynamique. La seconde partie de
cet ouvrage couvre les thématiques centrales de ce vaste sujet. Quelques thématiques
plus spécialisées comme les approximations et les algorithmes randomisés ne sont pas
abordées.
La première partie est consacrée à la théorie des langages formels. Des éléments de
combinatoire des mots et des ordres font office d’introduction. Ces sujets sont trop ra-
rement abordés dans ce type d’ouvrages. Les automates finis et les langages rationnels
forment la trame de ce chapitre. Le théorème de Kleene, les automates déterministes
et la minimisation sont incontournables et occupent une place importante. Viennent
ensuite des prolongements dans des sujets moins classiques. La théorie algébrique des
langages et en particulier l’étude des langages sans étoile terminent le premier chapitre.
Le second chapitre est consacré aux grammaires et aux langages algébriques. Les liens
✐ ✐
✐ ✐
✐ ✐
10 Introduction
avec les systèmes d’équations y sont particulièrement développés pour obtenir le théo-
rème de Parikh. Après les propriétés principales de clôture des langages algébriques, les
automates à pile sont introduits et étudiés. Cette étude passe par l’équivalence avec les
grammaires et les automates déterministes. Des compléments sur les contenus de pile et
le groupe libre concluent cette première partie.
La seconde partie est consacrée à la calculabilité et à la complexité. Ces deux no-
tions fondamentales sont introduites à travers les machines de Turing mais les fonctions
récursives sont également abordées. L’équivalence entre ces deux définitions de la notion
de calculable est démontrée. Le problème de Post et son indécidabilité permettent en-
suite d’exhiber des questions plus naturelles, sur les grammaires par exemple, auxquelles
les réponses ne sont pas calculables. Un détour par les machines linéairement bornées
conduit au théorème d’Immerman et Szelepcsényi. La NP-complétude constitue le cœur
du second chapitre mais la complexité en espace est aussi largement développée. L’es-
pace logarithmique et l’espace polynomial sont l’un et l’autre étudiés en détail à travers
la notion de complétude. Ce chapitre se termine par une introduction aux machines
alternantes et par la preuve du théorème d’Hartmanis sur les machines à une bande en
temps O(n log n).
Ce livre s’adresse aux étudiants en master d’informatique ou de mathématiques. Tout
master d’informatique comporte un cours sur les automates finis, la compilation et les
automates à pile. La calculabilité et la complexité sont indispensables à tout étudiant
désireux d’avoir une base solide en informatique fondamentale. L’approche rigoureuse
conviendra parfaitement aux étudiants en mathématiques ayant une inclination vers
l’informatique. Cet ouvrage couvre une grande part du programme de l’option informa-
tique de l’agrégation de mathématiques. Il sera sans nul doute propice à de nombreux
développements pour les leçons d’oral. Des exercices corrigés permettent une bonne as-
similation.
Aucune connaissance préalable n’est requise. Il est seulement supposé que le lecteur
maîtrise quelques éléments de mathématiques enseignés en première année universi-
taire. Le premier objectif de cet ouvrage est d’introduire et d’expliquer les premières
notions d’informatique fondamentale. De nombreux exemples illustrent les définitions.
Les différentes notions sont mises en perspective et des connexions entre des concepts
en apparence éloignés sont établies. Le second objectif est de permettre d’aller plus loin.
Chacun des chapitres comprend des compléments. Ces compléments ont souvent été
choisis parce qu’ils permettent d’aborder des résultats élégants sans toutefois nécessiter
la mise en place d’une machinerie lourde. Le prix à payer est la technicité de quelques
passages. Les choix ont aussi été guidés par des préférences personnelles assumées. Ces
compléments sont l’occasion de montrer quelques joyaux parmi lesquels, le théorème de
Schüzenberger, le théorème de Parikh et le théorème d’Immerman et Szelepcsényi.
Outre la correction de quelques coquilles, cette seconde édition se distingue de la
première par l’ajout d’un certain nombre d’exercices et de leurs corrections.
Internet
Une page WEB contenant une liste d’errata et d’autres informations se trouve à
l’adresse suivante :
http://www.liafa.univ-paris-diderot.fr/~carton/Lfcc/.
✐ ✐
✐ ✐
✐ ✐
Chapitre 1
Langages rationnels
Définition 1.1. – Un alphabet est un ensemble fini (souvent noté A ou Σ) dont les
éléments sont appelés lettres ou symboles.
– Un mot w sur l’alphabet A est une suite finie w1 w2 · · · wn de lettres de A. L’entier
n est appelé la longueur de w qui est notée |w|.
– Le mot vide noté ε ou parfois 1 correspond à l’unique mot de longueur 0.
– Un langage sur l’alphabet A est un ensemble de mots sur A.
– L’ensemble de tous les mots sur l’alphabet A est noté A∗ et il est appelé le monoïde
libre sur A.
✐ ✐
✐ ✐
✐ ✐
Un mot est écrit en juxtaposant ses éléments sans séparateur. Par exemple, le mot w
de longueur 3 dont les éléments sont a, b et a est simplement écrit aba. Un mot de
longueur 1 est écrit comme son unique lettre. Cette confusion entre une lettre a et le
mot de longueur 1 dont l’unique élément est a est sans conséquence et même souvent
très pratique.
La concaténation des deux mots u = u1 · · · um et v = v1 · · · vn est le mot noté u · v
ou uv et égal à u1 · · · um v1 · · · vn obtenu par simple juxtaposition. C’est une opération
associative dont le mot vide ε est l’élément neutre. C’est pour cette raison que le mot
vide est parfois noté 1.
Exemple 1.2. Si u = abaa et v = bab, on a uv = abaabab et vu = bababaa. La concaté-
nation n’est pas commutative.
Comme la concaténation est une loi de composition interne associative avec un élé-
ment neutre, elle munit l’ensemble A∗ de tous les mots d’une structure de monoïde. Pour
cette raison, la concaténation est aussi appelée produit. Ce monoïde est dit libre parce
que les seules équations qu’il satisfait sont celles qui sont conséquences de la définition
de monoïde. Ce fait est énoncé de manière rigoureuse à la proposition 1.123 (p. 67).
La notion de structure libre peut être définie de manière très générale dans le cadre de
l’algèbre universelle [Alm94].
Exercice 1.3. Soit l’alphabet A = {0, 1} et soit la suite de mots (fn )n≥0 définie par
récurrence par f0 = 1, f1 = 0 et fn+2 = fn+1 fn pour n ≥ 0.
1. Montrer que si n ≥ 2, alors fn se termine par 01 si n est pair et par 10 sinon.
2. Montrer que le mot gn obtenu en supprimant les deux dernières lettres de fn ,
c’est-à-dire fn = gn 01 si n pair et fn = gn 10 sinon est un palindrome. On rappelle
qu’un palindrome est un mot qui reste identique lorsqu’il est retourné.
Solution.
1. La première propriété se montre facilement par récurrence sur n. On vérifie en
effet que f2 = 01 se termine par 01 et que f3 = 010 se termine par 10. La relation
fn+2 = fn+1 fn montre ensuite que fn+2 se termine comme fn .
2. On remarque que g2 = ε, g3 = 0 et g4 = 010 sont bien des palindromes et on
montre le résultat par récurrence sur n. On suppose le résultat acquis pour fn et
fn+1 et on montre le résultat pour fn+3 . On suppose d’abord que n est pair. Les
mots fn et fn+1 s’écrivent alors fn = gn 01 et fn+1 = gn+1 10 où gn et gn+1 sont
des palindromes. Les mots fn+2 et fn+3 sont alors égaux à fn+1 fn = gn+1 10gn 01
et gn+1 10gn 01gn+1 10 d’où on tire gn+3 = gn+1 10gn 01gn+1 qui est un palindrome.
Le cas n impair se montre de la même façon.
Un mot u est un préfixe (resp. suffixe) d’un mot w s’il existe un mot v tel que w = uv
(resp. w = vu). Un mot u est un facteur d’un mot w s’il existe deux mots v et v ′ tels
que w = vuv ′ .
Exercice 1.4. Soit w = w1 · · · wn un mot de longueur n. Par un léger abus, on utilise la
notation wi même si l’entier i n’est pas dans l’intervalle [1; n]. On note ainsi la lettre
wi′ où i′ est l’unique entier tel que 1 ≤ i′ ≤ n et i′ ≡ i mod n. On appelle occurrence
circulaire d’un mot u = u1 · · · up un entier k dans l’intervalle [1; n] tel que wk+i−1 = ui
pour chaque 1 ≤ i ≤ p.
✐ ✐
✐ ✐
✐ ✐
Montrer que pour tout alphabet A et tout entier k, il existe un mot wk tel que tous
les mots de longueur k sur A ont exactement une occurrence circulaire dans wk . Un tel
mot est appelé un mot de de Bruijn d’ordre k. Les mots 1100 et 11101000 sont des mots
de de Bruijn d’ordre 2 et 3 sur l’alphabet {0, 1}.
On pourra considérer l’automate dont l’ensemble des états est Ak−1 et dont l’en-
a
semble des transitions est {au − → ub | a, b ∈ A et u ∈ Ak−2 }. Montrer qu’il y a bijection
entre les cycles eulériens de cet automate et les mots de de Bruijn d’ordre k.
Soit A et B deux alphabets. Un morphisme de monoïdes µ de A∗ dans B ∗ est une
application de A∗ dans B ∗ qui est compatible avec la structure de monoïde. Ceci signifie
que l’image du mot vide est le mot vide (µ(ε) = ε) et que µ(uv) = µ(u)µ(v) pour tout mot
u et v de A∗ . L’image d’un mot w = w1 · · · wn est donc égale à µ(w) = µ(w1 ) · · · µ(wn ).
Le morphisme est complètement déterminé par les images des lettres. Un morphisme µ
est dit effaçant s’il existe une lettre a tel que µ(a) = ε.
Exemple 1.5. Soit A l’alphabet {a, b} et soit µ : A∗ → A∗ le morphisme de monoïdes
déterminé par µ(a) = ab et µ(b) = a. Ce morphisme est non-effaçant. L’image du mot
aba par µ est le mot abaab = ab · a · ab.
Exercice 1.6. Un mot w sur un alphabet A est dit double si toute lettre a de A a 0
occurrence ou au moins 2 occurrences dans w, c’est-à-dire |w|a 6= 1.
1. Montrer que tout mot sur un alphabet à n lettres et de longueur au moins égale à
2n contient un facteur qui est double.
2. Montrer que la borne 2n est optimale.
Solution.
1. On montre le résultat par récurrence sur n. Le résultat est évident si n = 1 car tout
mot de longueur au moins 2 sur un alphabet unaire est double. Soit w un mot sur
un alphabet à n lettres de longueur au moins égale à 2n . Il se factorise w = w1 w2
où |w1 | = 2n−1 et |w2 | ≥ 2n−1 . Si w n’est pas double, il existe une lettre a qui
n’apparaît pas dans w1 ou w2 . Si la lettre a n’apparaît pas, par exemple, dans w1 ,
l’hypothèse de récurrence s’applique à w1 qui est écrit sur l’alphabet A \ {a} à
n − 1 lettres. Le mot w1 et donc aussi w contient un facteur qui est double.
2. Soit A l’alphabet {x1 , x2 , x3 , . . .}. On définit la suite (zn )n≥0 de mots par z0 = ε et
zn = zn−1 xn zn−1 pour tout n ≥ 1. Chaque mot zn est sur l’alphabet {x1 , . . . , xn }
et il est de longueur 2n − 1. En revanche, il ne contient aucun facteur double. Ces
mots sont appelés mots de Zimin.
Définition 1.7 (Union, Produit). – L’union est l’opération qui à deux langages L
et L′ associe le langage L + L′ = L ∪ L′ .
– Le produit est l’opération qui à deux langages L et L′ associe le langage L · L′ =
LL′ = {uv | u ∈ L et v ∈ L′ }.
✐ ✐
✐ ✐
✐ ✐
1.3.1 Périodicités
u v u v u
✐ ✐
✐ ✐
✐ ✐
u u u
Un mot w est primitif s’il ne s’écrit pas w = uk avec k ≥ 2. Autrement dit, un mot
est primitif si sa longueur est l’unique période qui divise sa longueur (cf. figure 1.2).
Tout mot w s’écrit de manière unique w = uk où l’entier k vérifie k ≥ 1 et le mot u est
primitif. L’entier k est égal à 1 quand w est primitif.
Exemple 1.11. Le mot w = 010101 a P (w) = {2, 4, 6} pour ensemble de périodes. Il n’est
pas primitif car il s’écrit w = (01)3 . Le mot w′ = 01001010010 a P (w′ ) = {5, 8, 10, 11}
pour ensemble de périodes. Il est primitif car aucune de ses périodes autre que sa longueur
ne divise sa longueur.
Le plus grand commun diviseur de deux entiers p et q est noté p ∧ q. Le théorème de
Fine et Wilf est le résultat de base de la combinatoire des mots. Les preuves de beaucoup
d’autres résultats font appel à ce théorème.
Théorème 1.12 (Fine et Wilf 1965). Si p et q sont deux périodes d’un mot w de
longueur supérieure ou égale à p + q − p ∧ q, alors p ∧ q est aussi une période de w.
✐ ✐
✐ ✐
✐ ✐
p q d
p−q
p−d
✐ ✐
✐ ✐
✐ ✐
✐ ✐
✐ ✐
CV_LangagesFormels:EP 20/05/14 11:24 Page 1
Olivier Carton
9 782311 014006