Théorème des variétés d'Eilenberg

En informatique théorique, et notamment en théorie de langages rationnels, le théorème des variétés d'Eilenberg, aussi appelé théorème des variétés d'Eilenberg et Schützenberger[1] d'après leurs découvreurs Samuel Eilenberg et Marcel-Paul Schützenberger, établit une correspondance entre variétés de langages formels rationnels et (pseudo-) variétés de monoïdes finis. Ce théorème des variétés, établi dans les années 1970 et dont l'exposé systématique occupe une large part du volume B du traité d'Eilenberg[2], constitue la base d'une théorie algébrique des langages rationnels qui s'est développée considérablement depuis. Il fournit le cadre qui permet de mettre en relation les propriétés algébriques de monoïdes et les propriétés combinatoires des langages rationnels.

Un exemple célèbre de cette correspondance, établi par Schützenberger en 1965, donc avant la formulation du théorème des variétés, est le théorème de qui caractérise les langages rationnels « sans étoile » par la propriété que leur monoïde syntaxique n'a que des « sous-groupes triviaux », en d'autres termes, les H {\displaystyle {\mathcal {H}}} -classes qui sont des groupes sont des singletons (monoïdes apériodiques finis). Un autre résultat de cette nature est dû à Imre Simon[3] : un langage rationnel est testable par morceaux si et seulement si son monoïde syntaxique est J {\displaystyle {\mathcal {J}}} -trivial, c'est-à-dire sa relation J {\displaystyle {\mathcal {J}}} est l'identité. Il faut noter tout de suite que le théorème des variétés ne généralise pas ces résultats, et en particulier n'en fournit pas de preuve, mais permet de bien les formuler dans un cadre approprié.

La notion de variété de monoïdes finis utilisée dans l'énoncé diffère de la notion classique de variété d'algèbres par sa définition et ses propriétés : une variété de monoïdes finis est définie comme étant notamment fermées par produit direct fini, alors qu'une variété d'algèbres est défini par des équations, et c'est le théorème HSP de Birkhoff qui établit l'équivalence entre définition par équations et fermeture par produit direct quelconque. Pour marquer cette différence, les variétés de monoïdes finis ont été appelées pseudo-variétés. Une autre différence est que les variétés de monoïdes finis ne sont pas toujours définissables par des équations[4]. L'étude des équations a conduit d'ailleurs à une formulation plus générale d'équations.


Samuel Eilenberg Marcel-Paul Schützenberger

Variété de langages formels

Pour éviter des paradoxes de la théorie des ensembles, on se fixe ici un ensemble infini dénombrable noté Σ {\displaystyle \Sigma } , et on entend par alphabet toute partie finie de Σ {\displaystyle \Sigma } . Une classe de langages formels est une famille F {\displaystyle {\mathcal {F}}} de langages, chacun sur un alphabet, donc sur une partie finie de Σ {\displaystyle \Sigma } . On note F ( A ) {\displaystyle {\mathcal {F}}(A^{*})} et F ( A + ) {\displaystyle {\mathcal {F}}(A^{+})} les langages de la famille sur l'alphabet A {\displaystyle A} , donc qui sont contenues dans A {\displaystyle A^{*}} et dans A + {\displaystyle A^{+}} respectivement. On convient qui si B {\displaystyle B} est un alphabet en bijection avec A {\displaystyle A} , alors F ( B ) {\displaystyle {\mathcal {F}}(B^{*})} et F ( A ) {\displaystyle {\mathcal {F}}(A^{*})} sont égales à la bijection près.

Définition

Il y a en fait deux variantes de la définition, les {\displaystyle *} -variétés et les + {\displaystyle +} -variétés.

Une {\displaystyle *} -variété de langages est une famille de langages V {\displaystyle {\mathcal {V}}} telle que

  1. pour tout alphabet A {\displaystyle A} , la famille V ( A ) {\displaystyle {\mathcal {V}}(A^{*})} est une algèbre de Boole ;
  2. pour tout morphisme de monoïdes f : A B {\displaystyle f:A^{*}\to B^{*}} , si X V ( B ) {\displaystyle X\in {\mathcal {V}}(B^{*})} alors f 1 ( X ) V ( A ) {\displaystyle f^{-1}(X)\in {\mathcal {V}}(A^{*})}  ;
  3. pour tout alphabet A {\displaystyle A} , si X V ( A ) {\displaystyle X\in {\mathcal {V}}(A^{*})} , alors u 1 X V ( A ) {\displaystyle u^{-1}X\in {\mathcal {V}}(A^{*})} et X u 1 V ( A ) {\displaystyle Xu^{-1}\in {\mathcal {V}}(A^{*})} pour tout mot u {\displaystyle u} de A {\displaystyle A^{*}} .

Une + {\displaystyle +} -variété de langages est une famille de langages V {\displaystyle {\mathcal {V}}} telle que

  1. pour tout alphabet A {\displaystyle A} , la famille V ( A + ) {\displaystyle {\mathcal {V}}(A^{+})} est une algèbre de Boole ;
  2. pour tout morphisme de demi-groupes f : A + B + {\displaystyle f:A^{+}\to B^{+}} , si X V ( B + ) {\displaystyle X\in {\mathcal {V}}(B^{+})} alors f 1 ( X ) V ( A + ) {\displaystyle f^{-1}(X)\in {\mathcal {V}}(A^{+})}  ;
  3. pour tout alphabet A {\displaystyle A} , si X V ( A + ) {\displaystyle X\in {\mathcal {V}}(A^{+})} , alors u 1 X V ( A + ) {\displaystyle u^{-1}X\in {\mathcal {V}}(A^{+})} et X u 1 V ( A + ) {\displaystyle Xu^{-1}\in {\mathcal {V}}(A^{+})} pour tout mot u {\displaystyle u} de A + {\displaystyle A^{+}} .

La première condition implique que la famille est fermée par union, complément, donc par intersection. La deuxième condition dit que la famille est fermée par image homomorphe inverse, et la troisième par quotient gauche et quotient droit par un mot.

La différence dans les deux définitions se situe dans la notion de morphisme. Un morphisme de demi-groupes est non effaçant ou croissant : l'image d'un mot est de longueur au moins égale à celle du mot de départ. Il en résulte notamment que l'ensemble f 1 ( X ) {\displaystyle f^{-1}(X)} est fini si X {\displaystyle X} est fini. Ceci n'est pas le cas pour les morphismes de monoïdes.

Exemples

  1. La famille de tous les langages rationnels. C'est la plus grande variété.
  2. La plus petite {\displaystyle *} -variété est composée du langage vide et du langage A {\displaystyle A^{*}} pour tout alphabet A {\displaystyle A} . La plus petite + {\displaystyle +} -variété est composée du langage vide et du langage A + {\displaystyle A^{+}} pour tout alphabet A {\displaystyle A} .
  3. La famille des langages finis ou cofinis (compléments de langages finis) est une + {\displaystyle +} -variété. Cette famille n'est pas une {\displaystyle *} -variété parce que l'image homomorphe inverse d'une partie finie peut être ni finie ni cofinie si le morphisme est effaçant.
  4. La famille des langages rationnels sans étoile.
  5. La famille des langages testables par morceaux. C'est la famille telle que V ( A ) {\displaystyle {\mathcal {V}}(A^{*})} est l'algèbre de Boole engendrée par les langages A a 1 A a 2 a n A {\displaystyle A^{*}a_{1}A^{*}a_{2}\cdots a_{n}A^{*}} , où les a i {\displaystyle a_{i}} sont des lettres.
  6. La famille des langages localement testables. C'est la famille telle que V ( A ) {\displaystyle {\mathcal {V}}(A^{*})} est l'algèbre de Boole engendrée par les langages u A {\displaystyle uA^{*}} , A v {\displaystyle A^{*}v} , A w A {\displaystyle A^{*}wA^{*}} pour des mots u {\displaystyle u} , v {\displaystyle v} , w {\displaystyle w} .
  7. La famille des langages localement triviaux. C'est la + {\displaystyle +} -variété telle que V ( A + ) {\displaystyle {\mathcal {V}}(A^{+})} est l'algèbre de Boole engendrée par les langages X A Y Z {\displaystyle XA^{*}Y\cup Z} , où X {\displaystyle X} , Y {\displaystyle Y} , Z {\displaystyle Z} sont des parties finies de A + {\displaystyle A^{+}} .

Variété de monoïdes finis

Définition

Une classe V {\displaystyle \mathbf {V} } de monoïdes est une variété de monoïdes si elle a les propriétés suivantes :

  1. Si S {\displaystyle S} est dans V {\displaystyle \mathbf {V} } , et si T {\displaystyle T} est un sous-monoïde de S {\displaystyle S} , alors T {\displaystyle T} est dans V {\displaystyle \mathbf {V} } .
  2. Si S {\displaystyle S} est dans V {\displaystyle \mathbf {V} } , et si T {\displaystyle T} est un quotient de S {\displaystyle S} , alors T {\displaystyle T} est dans V {\displaystyle \mathbf {V} } .
  3. Si S 1 , , S n {\displaystyle S_{1},\ldots ,S_{n}} sont dans V {\displaystyle \mathbf {V} } , alors leur produit direct S 1 × × S n {\displaystyle S_{1}\times \cdots \times S_{n}} est dans V {\displaystyle \mathbf {V} }

Il faut noter que la dernière condition vaut aussi pour n = 0 {\displaystyle n=0} , ce qui plus simplement s'exprime en disant que le monoïdes réduit à un seul élément 1 est dans V {\displaystyle \mathbf {V} } .

On définit de la même manière une variété de demi-groupes, et des variétés de monoïdes ou de demi-groupes avec des propriétés additionnelles, comme les variétés de monoïdes ordonnées.

Exemples

Les exemples suivants sont des variétés de monoïdes.

  1. La famille de tous les monoïdes finis. C'est la plus grande variété.
  2. La famille formée du monoïde 1. C'est la plus petite variété.
  3. La famille des demi-groupes nilpotents. Un demi-groupe M {\displaystyle M} est nilpotent s'il possède un zéro, c'est-à-dire un élément 0 {\displaystyle 0} tel que s 0 = 0 s = 0 {\displaystyle s0=0s=0} pour tout s {\displaystyle s} dans S {\displaystyle S} , et s'il existe un entier n {\displaystyle n} tel que tout produit de n {\displaystyle n} éléments de M {\displaystyle M} est égal à 0 {\displaystyle 0} .
  4. La famille des monoïdes qui sont des demi-treillis. Un demi-treillis est un demi-groupe commutatif dont tous les éléments sont idempotents.
  5. La famille des monoïdes commutatifs finis.
  6. La famille des monoïdes apériodiques finis.
  7. La famille des groupes finis.
  8. La famille des monoïdes J {\displaystyle {\mathcal {J}}} -triviaux finis, c'est-à-dire tels que la relation de Green J {\displaystyle {\mathcal {J}}} est l'égalité.
  9. La famille des monoïdes localement triviaux.
  10. La famille des monoïdes localement idempotents et commutatifs.

Les deux derniers exemples font intervenir des propriétés de monoïdes ou de demi-groupes que l'on qualifie de locales, au sens précis suivant : on dit qu'un demi-groupe S {\displaystyle S} vérifie localement une propriété P {\displaystyle P} si, pour tout idempotent e {\displaystyle e} de S {\displaystyle S} , le demi-groupe e S e {\displaystyle eSe} vérifie la propriété P {\displaystyle P} . Par exemple, une monoïde (ou demi-groupe) S {\displaystyle S} est localement trivial si e S e = e {\displaystyle eSe=e} .

Variété engendrée par une famille de monoïdes

Soit C {\displaystyle \mathbf {C} } une classe de monoïdes ou de demi-groupes. La variété engendrée par C {\displaystyle \mathbf {C} } est la plus petite variété de monoïdes ou de demi-groupes contenant C {\displaystyle \mathbf {C} } . C'est aussi l'intersection des variétés de monoïdes ou de demi-groupes contenant C {\displaystyle \mathbf {C} } .

Une façon concrète de voir la variété engendrée par C {\displaystyle \mathbf {C} } est : c'est l'ensemble des images homomorphes des sous-monoïdes ou de demi-groupes de produits directs d'éléments de C {\displaystyle \mathbf {C} } . On dit qu'un demi-groupe M {\displaystyle M} divise un demi-groupe N {\displaystyle N} si M {\displaystyle M} est l'image homomorphe d'un sous-demi-groupe de N {\displaystyle N} . Ainsi, un demi-groupe appartient à la variété engendrée par C {\displaystyle \mathbf {C} } si et seulement s'il divise un produit direct d'éléments de C {\displaystyle \mathbf {C} } .

Théorème des variétés

Le théorème des variétés met en correspondance les variétés de langages et les variétés de monoïdes (demi-groupes). On considère d'une part l'application

V V {\displaystyle {\mathcal {V}}\mapsto \mathbf {V} }

qui associe à une {\displaystyle *} -variété ( + {\displaystyle +} -variété) de langages V {\displaystyle {\mathcal {V}}} la variété de monoïdes (demi-groupes) V {\displaystyle \mathbf {V} } engendrée par les monoïdes (demi-groupes) syntaxiques des langages de V {\displaystyle {\mathcal {V}}} .

D'autre part, on considère l'application

V V {\displaystyle \mathbf {V} \mapsto {\mathcal {V}}}

qui associe à la variété de monoïdes (de demi-groupes) V {\displaystyle \mathbf {V} } la {\displaystyle *} -variété ( + {\displaystyle +} -variété) des langages V {\displaystyle {\mathcal {V}}} dont le monoïde (demi-groupe) syntaxique est dans V {\displaystyle \mathbf {V} } .

Énoncé

Théorème des variétés (Eilenberg & Schützenberger) —  Les correspondances

V V {\displaystyle {\mathcal {V}}\mapsto \mathbf {V} }

et

V V {\displaystyle \mathbf {V} \mapsto {\mathcal {V}}}

sont des bijections réciproques l'une de l'autre.

Cet énoncé en recouvre en fait deux : le premier met en bijection les + {\displaystyle +} -variétés et les variétés de demi-groupes, l'autre les {\displaystyle *} -variétés et les variétés de monoïdes.

Exemples

Nous groupons en un tableau les variétés de langages et de monoïdes (demi-groupes) qui se correspondent. D'autres exemples sont donnés dans (Pin 1995) et (Pin 2012) :

Variétés de langages rationnels et de monoïdes finis
Langages Monoïdes
Tous les langages Tous les monoïdes
Langage vide et son complément Monoïde singleton
Langages engendrés par L ( a , k , n ) {\displaystyle L(a,k,n)} (1) Groupes commutatifs
Langages engendrés par L ( a , k ) {\displaystyle L(a,k)} (2) Monoïdes commutatifs apériodiques
Langages engendrés par L ( a , k , n ) {\displaystyle L(a,k,n)} et L ( a , k ) {\displaystyle L(a,k)} Monoïdes commutatifs
Langages sans étoile Monoïdes apériodique
Langages engendrés par A a A {\displaystyle A^{*}aA^{*}} Monoïdes demi-treillis (idempotents commutatifs)
Langages engendrés par A a 1 A a 2 a n A {\displaystyle A^{*}a_{1}A^{*}a_{2}\cdots a_{n}A^{*}} Monoïdes J {\displaystyle {\mathcal {J}}} -triviaux
Langages finis et cofinis Demi-groupes nilpotents
Langages localement testables Demi-groupes localement idempotents et commutatifs
Langages localement triviaux Demi-groupes localement triviaux

(1) Pour tout alphabet A {\displaystyle A} , on pose : L ( a , k , n ) = { u A | u | a k mod n } {\displaystyle L(a,k,n)=\{u\in A^{*}\mid |u|_{a}\equiv k{\bmod {n}}\}} , avec a {\displaystyle a} une lettre et k < n {\displaystyle k<n} ; | u | a {\displaystyle |u|_{a}} dénote le nombre d'occurrences de la lettre a {\displaystyle a} dans le mot u {\displaystyle u} .

(2) Pour tout alphabet A {\displaystyle A} , on pose : L ( a , k ) = { u A | u | a = k } {\displaystyle L(a,k)=\{u\in A^{*}\mid |u|_{a}=k\}} , avec a {\displaystyle a} une lettre.

Le théorème des variétés ne prouve pas la correspondance dans chacun des exemples; il prouve seulement l'existence et la correction des deux correspondances de l'énoncé. chaque exemple particulier demande une preuve particulière, et elles sont souvent bien plus difficiles que l'énoncé général.

Équations

On peut associer à une variété de monoïdes des équations qui la définissent. Considérons d'abord la version développée par Eilenberg et Schützenberger.

Soit Σ {\displaystyle \Sigma } un alphabet de variables. Étant donné deux mots x {\displaystyle x} et y {\displaystyle y} sur Σ {\displaystyle \Sigma } , on dit qu'un monoïde M {\displaystyle M} satisfait l'équation x = y {\displaystyle x=y} si, pour tout morphisme f : Σ M {\displaystyle f:\Sigma ^{*}\to M} , on a f ( x ) = f ( y ) {\displaystyle f(x)=f(y)} . Ainsi, un monoïde commutatif est un monoïde qui satisfait l'équation x y = y x {\displaystyle xy=yx} . Il est facile de vérifier que la famille des monoïdes qui satisfont une équation x = y {\displaystyle x=y} forment une variété. Plus généralement, étant donné une suite x n = y n {\displaystyle x_{n}=y_{n}} d'équations pour n 1 {\displaystyle n\geq 1} , la famille des monoïdes qui satisfont ces équations est encore une variété.

Exemples

  • La variété des monoïdes commutatifs est donnée par l'équation x y = y x {\displaystyle xy=yx} .
  • La variété des demi-treillis (monoïdes idempotents commutatifs) est donnée par les équations x 2 = x {\displaystyle x^{2}=x} et x y = y x {\displaystyle xy=yx} .

Énoncé

Étant donné une suite x n = y n {\displaystyle x_{n}=y_{n}} d'équations pour n 1 {\displaystyle n\geq 1} , on dit qu'un monoïde M {\displaystyle M} vérifie ultimement ces équations s'il vérifie ces équations à partir d'un certain entier N {\displaystyle N} . La famille des monoïdes qui vérifient ultimement une suite d'équations est encore une variété. Par exemple, les monoïdes apériodiques vérifient ultimement les équations x n = x n + 1 {\displaystyle x^{n}=x^{n+1}} .

Théorème — Toute variété de monoïdes est définie ultimement par une suite d'équations.

Une formulation plus contemporaine, et plus riche en résultats, fait appel à des considérations topologiques.

Notes et références

  1. Par exemple (Lawson 2003), alors que (Pin 1995) parle simplement du théorème d'Eilenberg. Eilenberg lui-même, dans son livre, reconnaît les contributions de Schützenberger, notamment pour la formulation par équations.
  2. (Eilenberg 1976), chapitres V, VII et VIII, sans compter les applications.
  3. (Simon 1975)
  4. L'objectif de l'article (Eilenberg et Schützenberger 1976) est de décrire cette relation.

Littérature

Traités

  • (en) Gracinda M. S. Gomes, Jean-Éric Pin et Pedro V. Silva (éditeurs), Semigroups, algorithms, automata, and languages : : Coimbra, Portugal, May-July 2001, World Scientific, , 515 p. (ISBN 978-981-238-099-9, présentation en ligne)
  • (en) Mark V. Lawson, Finite Automata, Boca Raton/London/New York etc., Chapman and Hall/CRC, , 320 p. (ISBN 1-58488-255-7, présentation en ligne)Document utilisé pour la rédaction de l’article
  • (en) Jean-Éric Pin, Varieties of formal languages, Plenum Publishing Corp., coll. « Foundations of Computer Science », , x+138 (ISBN 0-306-42294-8, MR 89a:68125)
  • Jean-Éric Pin, « Finite semigroups and recognizable languages: an introduction », dans J. Fountain (éditeur), Semigroups, Formal Languages and Groups : York, 1993, Dordrecht, Kluwer Academic Publishers, coll. « NATO Advanced Study Institute Series C » (no 466), (lire en ligne), p. 1-32Document utilisé pour la rédaction de l’article
  • (en) Jean-Éric Pin, Mathematical Foundations of Automata Theory, Support de cours du Master Parisien de Recherche en Informatique (MPRI), , 310 p. (lire en ligne), p. 95-124

Sources

  • (en) Samuel Eilenberg, Automata, Languages and Machines, Vol. B, Academic Press, coll. « Pure and Applied Mathematics » (no 59), , xiii+387 (MR 0530383)
  • (en) Samuel Eilenberg et Marcel-Paul Schützenberger, « On pseudovarieties », Advances in Math., vol. 19, no 3,‎ , p. 413–418 (DOI 10.1016/0001-8708(76)90029-3, MR 0401604)
  • (en) Marcel-Paul Schützenberger, « On finite monoids having only trivial subgroups », Information and Control, vol. 8, no 2,‎ , p. 190-194
  • Imre Simon, « Piecewise testable events », dans H. Brakhage (éditeur), Proceedings 2nd GI Conference, Springer-Verlag, coll. « Lecture Notes in Computer Science » (no 33), , p. 214-222

Articles

  • Fabian Birkmann, Stefan Milius et Henning Urbat, « Eilenberg's variety theorem without Boolean operations », Information and Computation, vol. 295 « Selected papers of the 15th International Conference on Language and Automata Theory and Applications, LATA 2021 »,‎ , article no 104916 (DOI 10.1016/j.ic.2022.104916)

Articles connexes

v · m
Automates finis et langages réguliers
Articles généraux
Automates finis
Automates finis particuliers
Langages réguliers
Des automates aux langages
Des langages aux automates
Minimisation
Équivalences
v · m
Codage
Modèles de calcul
Algorithmique
Syntaxe
Sémantique
Logique mathématique
Mathématiques discrètes
  • icône décorative Portail de l’algèbre
  • icône décorative Portail de l'informatique théorique