Monoïde syntaxique - Syntactic monoid

En mathématiques et en informatique , le monoïde syntaxique d'un langage formel est le plus petit monoïde qui reconnaît le langage .

Quotient syntaxique

Le monoïde libre sur un ensemble donné est le monoïde dont les éléments sont toutes les chaînes de zéro ou plusieurs éléments de cet ensemble, avec la concaténation de chaînes comme opération monoïde et la chaîne vide comme élément d'identité . Étant donné un sous - ensemble d'un monoïde libre , on peut définir des ensembles constitués d' inverses formels à gauche ou à droite d'éléments dans . Ceux-ci sont appelés quotients , et on peut définir des quotients à droite ou à gauche, selon le côté que l'on concatène. Ainsi, le quotient droit de par un élément de est l'ensemble

De même, le quotient de gauche est

Équivalence syntaxique

Le quotient syntaxique induit une relation d'équivalence sur , appelée relation syntaxique , ou équivalence syntaxique (induite par ).

La bonne équivalence syntaxique est la relation d'équivalence

.

De même, l' équivalence syntaxique de gauche est

.

Observez que l' équivalence syntaxique droite est une congruence gauche par rapport à la concaténation de chaînes et vice versa ; c'est-à-dire pour tous .

La congruence syntaxique ou Myhill congruence est définie comme

.

La définition s'étend à une congruence définie par un sous-ensemble d'un monoïde général . Un ensemble disjonctif est un sous-ensemble tel que la congruence syntaxique définie par est la relation d'égalité.

Appelons la classe d'équivalence de pour la congruence syntaxique. La congruence syntaxique est compatible avec la concaténation dans le monoïde, en ce que l'on a

pour tous . Ainsi, le quotient syntaxique est un morphisme monoïde , et induit un quotient monoïde

.

Ce monoïde est appelé le monoïde syntaxique de . On peut montrer que c'est le plus petit monoïde qui reconnaît ; c'est-à-dire, reconnaît , et pour chaque monoïde reconnaissant , est un quotient d'un sous- monoïde de . Le monoïde syntaxique de est aussi le monoïde de transition de l' automate minimal de .

Une langue de groupe est une langue pour laquelle le monoïde syntaxique est un groupe .

Théorème de Myhill-Nerode

Le théorème de Myhill-Nerode déclare : une langue est régulière si et seulement si la famille de quotients est finie, ou de manière équivalente, l'équivalence syntaxique gauche a un indice fini (ce qui signifie qu'elle se divise en un nombre fini de classes d'équivalence).

Ce théorème a été prouvé pour la première fois par Anil Nerode ( Nerode 1958 ) et la relation est donc appelée congruence de Nerode par certains auteurs.

Preuve

La preuve de la partie "seulement si" est la suivante. Supposons qu'un automate fini reconnaissant lit l'entrée qui conduit à l'état . Si est une autre chaîne lue par la machine, se terminant également dans le même état , alors clairement on a . Ainsi, le nombre d'éléments dans est au plus égal au nombre d'états de l'automate et est au plus au nombre d'états finaux.

Pour une preuve de la partie "si", supposons que le nombre d'éléments dans est fini. On peut alors construire un automate où est l'ensemble des états, est l'ensemble des états finaux, le langage est l'état initial, et la fonction de transition est donnée par . Clairement, cet automate reconnaît . Ainsi, un langage est reconnaissable si et seulement si l'ensemble est fini. Notez que cette preuve construit aussi l'automate minimal.

Exemples

  • Soit la langue sur des mots de même longueur. La congruence syntaxique a deux classes, elle-même et , les mots de longueur impaire. Le monoïde syntaxique est le groupe d'ordre 2 sur .
  • Le monoïde bicyclique est le monoïde syntaxique du langage de Dyck (le langage des ensembles équilibrés de parenthèses).
  • Le monoïde libre sur (où ) est le monoïde syntaxique de la langue , où est l'inversion du mot .
  • Tout monoïde fini est homomorphe au monoïde syntaxique d'un langage non trivial, mais tout monoïde fini n'est pas isomorphe à un monoïde syntaxique.
  • Chaque groupe fini est isomorphe au monoïde syntaxique d'un langage non trivial.
  • Le langage sur lequel le nombre d'occurrences de et sont congrus modulo est un langage de groupe à monoïde syntaxique .
  • Les monoïdes traces sont des exemples de monoïdes syntaxiques.
  • Marcel-Paul Schützenberger a caractérisé les langues sans étoiles comme celles avec des monoïdes syntaxiques apériodiques finis.

Les références