Laisser être une langue régulière. Prouve-le:
sont réguliers et:
n'est pas régulier.
Cela me semble très difficile. Je suppose que 1-3 sont similaires (mais je peux me tromper), mais je ne sais pas comment aborder. L'idée générale est généralement de modifier la machine à états finis pourd'accepter une autre langue. Mais ces constructions sont souvent très sophistiquées et je ne peux toujours pas les imaginer seules.
Réponses:
Voici une preuve que la langueL0={w:∃u|u|=|w|∧uw∈L} est régulier. Il peut être modifié pour montrer que les trois premiers de votre liste sont réguliers. (Notez que j'ai changéwu à uw .) Étant donné un DFA pour L , nous construisons un NFA pour L0 . La première chose que fait la NFA est de deviner (prendre unϵ déplacer) un état q , dont la sémantique est l'état selon lequel le DFA pour L finit après avoir lu u . Il exécute ensuite simultanément deux copies du DFA pourL , l'un commençant à l'état de départ et l'autre commençant à q . En lisant un symbolea , il se déplace selon un symbole arbitraire sur le premier, et se déplace selon a sur le second. Un état accepte si la première copie est à l'étatq et le second est dans un état acceptant.
Pour le dernier, considérez la langueL=a+b+c+ et se croisent L+−+ avec a+c+ .
la source