Intersection et union d'une langue régulière et d'une langue non régulière

12

Soit régulier, régulier, non régulier. Montrez que n'est pas régulier ou donnez un contre-exemple.L1L1L2L2L1L2

J'ai essayé ceci: Regardez . Celui-ci est régulier. Je peux construire un automate fini pour cela: est régulier, est régulier, donc supprimez tous les chemins (quantité finie) pour de la quantité finie de chemins pour . Il reste donc une quantité limitée de chemins pour tout cela. Cette chose est disjointe de , mais comment puis-je prouver que l'union de (régulière) et (non régulière) n'est pas régulière?L1(L2L1)L1L2L1L1L2L1L2L1(L1L2)L2

Kevin
la source
"donc supprimez tous les chemins (quantité finie) pour de la quantité finie de chemins pour " - qu'est-ce que cela est censé signifier? La façon habituelle de construire un automate pour la différence est d'utiliser et les constructions bien connues pour le complément et l'intersection. L1L2L1AB=AB¯
Raphael
Je préfère changer le titre de cette question. En soi, le titre de la question est une mauvaise déclaration.
nitishch

Réponses:

19

Nous pouvons le prouver par contradiction. Permet de définir . Ensuite, nous pouvons reformuler :L1¯=ΣL1L2

L2=((L1L2)L1)(L1L2)=((L1L2)L1¯)(L1L2)

Nous savons:

  • Les langues régulières sont fermées sous union, intersection et complément
  • L1¯ et sont réguliersL1L2
  • L2 n'est pas régulier

Supposons maintenant que est régulier: Alors est régulier (car il ne s'agit que d'une union / intersection de langues régulières), donc serait régulier. C'est une contradiction, donc notre hypothèse est fausse, et ne peut pas être régulier.L1L2((L1L2)L1¯)(L1L2)L2L1L2

Mike B.
la source
Je crois que j'ai compris. Mais pourquoi le complément d'une langue régulière est-il régulier? Je ne comprends pas cette partie.
Kevin
1
@Kevin C'est un lemme bien connu, vous devriez donc trouver une preuve dans n'importe quel manuel. Une méthode de preuve consiste à prendre un automate fini et à permuter les états acceptant et non acceptant: vous obtenez un automate qui reconnaît le langage du complément.
Gilles 'SO- arrête d'être méchant'
Et qu'en est-il des automates finis non déterministes? Supposons que nous ayons un automate. , un état initial, deux flèches de cet état avec à un autre état. L'un de ces États accepte et l'autre non. Donc . Si nous échangeons maintenant les états accepteurs, il acceptera toujours , donc il ne considère pas que celui qui accepte la langue du complément! A={a,b}aL(M)={a}{a}
Kevin
La preuve de Gilles ne fonctionne que pour les automates finis déterministes qui - pour les langages réguliers - ne sont pas une restriction. Mais comme il l'a dit, ce lemme peut être trouvé dans n'importe quel manuel.
Mike B.
1
@Kevin: Mike signifie que chaque langue régulière a un automate déterministe pour le reconnaître afin que vous puissiez toujours en utiliser un.
reinierpost
-4

C'est faux. Considérez , . est régulier, ne l'est pas; mais .L 2 = { a n b n : n 0 } L 1 L 2 L 1L 2 = L 1L1={a,b}L2={anbn:n0}L1L2L1L2=L1

vonbrand
la source
5
Vous n'avez pas satisfait à la condition que est régulière. L1L2
Andrej Bauer