Exemples de langages sans contexte avec des compléments sans contexte

11

Les langues sans contexte ne sont pas fermées par complémentation. Dans les conférences, on nous a donné le même argument qu'ici sur Wikipédia : pour et sont tous deux sans contexte, mais leur intersection ne l'est pas. Étant donné que les langues sans contexte sont fermées sous les unions, elles ne peuvent pas être fermées également par complémentation.

A={anbncm; m,n0}andB={ambncn; m,n0},
ABAB

Cependant, cela montre seulement que l'un des trois langages , et est un langage sans contexte avec un complément non sans contexte, mais pas pour lequel de ces derniers cela est vrai. Alors c'est quoi?ABA¯B¯

Existe-t-il également un exemple minimal et élégant de langage sans contexte avec un complément non contextuel, peut-être sur un alphabet binaire?

k.stm
la source

Réponses:

16

La langue n'est pas sans contexte (comme on peut le voir en utilisant le lemme de pompage; voir ici ). Son complément est sans contexte (comme illustré ici ). Cela donne un exemple simple et élégant d'une langue sans contexte (sur un alphabet binaire) dont le complément n'est pas sans contexte, comme vous l'avez demandé.L1={www{a,b}}L2={a,b}L1

DW
la source
13

L'exemple que vous voyez sur Wikipedia: mettez , . Il est facile de voir que et sont hors contexte en définissant un PDA; vous pouvez noter qu'il s'agit de langages déterministes sans contexte, qui est une classe fermée sous complément. Par conséquent, est un langage sans contexte avec un complément non contextuel .A={anbncm}B={ambncn}A¯B¯A¯B¯AB={anbncn}

Dans la même veine, le langage n'est pas dépourvu de contexte mais son complément l'est.{anbmcndm}

sdcvvc
la source
La question demande "minimal et élégant" et ces exemples sont beaucoup plus complexes que l'exemple simple donné par @DW dans sa réponse.
David Richerby
2
@David Richerby: IMO, l'exemple pourrait être plus élégant que ou , mais c'est plus complexe à prouver, alors que les deux autres sont mécaniques. {ww}¯{anbncn}¯{anbncmdm}¯
sdcvvc
Vous devez avoir voulu dire dans votre deuxième exemple. {anbmcndm}
Yuval Filmus
Oui, merci pour le correctif (je vois que j'ai fait la même erreur dans le commentaire, trop tard pour le modifier maintenant).
sdcvvc