Alguém pediu exemplos de linguagens sem contexto com complementos sem contexto .
A primeira resposta diz:
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 ).
Talvez, na realidade, isso seja verdade, mas, dadas as informações acima, não estou convencido de que este seja um exemplo válido de tal linguagem. Eu já provei antes dissonão é CF, então não tenho nenhum problema em aceitar isso. No entanto, o CFG e a prova fornecida paraestá errado. Eu posso dar um contra-exemplo realmente simples: quando a string. Claramente porque não é da forma . Contudo, não pode ser construído usando o CFG descrito para .
Prova: a sequência não é da forma ou já que o comprimento da string é par. Portanto, deve ser da forma ou , mas isso é impossível porque as duas metades da sequência têm o mesmo caractere () no centro. Portanto, o que é uma contradição.
A segunda resposta diz:
O exemplo que você vê na Wikipedia: put , . É fácil ver e sã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 .
Este é ainda mais fácil de contestar. Claro, linguagens livres de contexto determinísticos são fechados sob complemento, mas eles estão não fechada sob união. Portanto, o idioma não é necessariamente livre de contexto.
Atualmente, ainda estou usando a Teoria da Computação, então talvez eu tenha entendido algo errado ou ignorado alguma verdade óbvia. Alguém pode contestar minhas reivindicações? Caso contrário, você pode fornecer um exemplo válido de uma linguagem CF com um complemento não CF?