Langages rationnels

Notations et définitions :

  • on note en général \(\Sigma\) l'alphabet considéré, un ensemble fini de symboles (souvent \(a,b,c,\ldots\)) ;
  • si \(\Sigma\) est un alphabet, on note \(\Sigma^*\) l'ensemble de tous les mots formés des symboles de \(\Sigma\), en incluant notamment le mot vide \(\varepsilon\) ;
  • si \(L\) et \(M\) sont des langages (des sous-ensembles de \(\Sigma^*\)) :
    • \(L.M=LM\) est l'ensemble des mots constitués d'un mot de \(L\) suivi d'un mot de \(M\) ;
    • \(L|M=L\cup M\) est l'union des langages, c'est-à-dire l'ensemble des mots soit dans \(L\) soit dans \(M\) ;
  • si \(L\) est un langage :
    • \(L^0=\{\varepsilon\}\) ;
    • \(L^1=L\) ;
    • \(L?=L|L^0\) ;
    • \(L^{k+1}=L.L^{k}=L^{k}.L\) ;
    • \(L^+=\bigcup_{k\geq 1}L^k\) ;
    • \(L^*=\bigcup_{k\geq 0}L^k\).
  • pour tout mot \(w\in \Sigma^*\), on note par simplification \(w\) le langage réduit au mot \(w\) seul, c'est-à-dire le langage \(L=\{w\}\).