Exemplos de linguagens livres de contexto com complementos não livres de contexto

11

Linguagens sem contexto não são fechadas sob complementação. Nas palestras, recebemos o mesmo argumento aqui na Wikipedia : Para ambos A e B são livres de contexto, mas sua interseção A ∩ B não é. Como as linguagens sem contexto são fechadas sob uniões, elas também não podem ser fechadas sob complementação.

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

No entanto, isso mostra apenas que um dos três idiomas A , B e A¯B¯ é um idioma sem contexto com um complemento sem contexto, mas não para qual deles é verdadeiro. Então o que é?

Além disso, existe um exemplo mínimo e elegante de uma linguagem livre de contexto com um complemento não livre de contexto, talvez sobre um alfabeto binário?

k.stm
fonte

Respostas:

16

O idioma não é livre de contexto (como pode ser mostrado usando o lema de bombeamento; veja aqui ). Seu complemento é livre de contexto (como mostrado aqui ). Isso fornece um exemplo simples e elegante de uma linguagem livre de contexto (sobre um alfabeto binário) cujo complemento não é livre de contexto, conforme solicitado.L 2 = { um , b } *G 1L1={www{a,b}}L2={a,b}L1

DW
fonte
13

O exemplo que você vê na Wikipedia: coloque , . É fácil ver que e estão livres de contexto, definindo um PDA; você pode observar que são linguagens determinísticas livres de contexto, que é uma classe fechada sob complemento. Portanto, é uma linguagem livre de contexto com um complemento sem contexto .B = { a m b n c n } ¯ A ¯ B ¯ A¯ B A B = { a n b n c n }A={anbncm}B={ambncn}A¯B¯A¯B¯AB={anbncn}

Na mesma linha, a linguagem não é livre de contexto, mas seu complemento é.{anbmcndm}

sdcvvc
fonte
A pergunta pede "mínimo e elegante" e esses exemplos são muito mais complexos do que o exemplo simples dado por @DW em sua resposta.
David Richerby
2
@ David Richerby: na IMO, o exemplo pode ser mais elegante que ou , mas é mais complexo provar, enquanto os outros dois são mecânicos. ¯ { a n b n c n } ¯ { a n b n c m d m }{ww}¯{anbncn}¯{anbncmdm}¯
sdcvvc
Você deve ter significado no seu segundo exemplo. {anbmcndm}
Yuval Filmus
Sim, obrigado pela correção (vejo que cometi o mesmo erro no comentário, tarde demais para editar agora).
Sdcvvc