Se L é livre de contexto, FH (L) deve ser livre de contexto?

7

Defina . Em outras palavras, é o conjunto de primeiras metades de cadeias de comprimento, mesmo em . Diante disso, se é livre de contexto, ser livre de contexto?FH(L)={xΣ:yΣ with |x|=|y| such that xyL}FH(L)LLFH(L)

Aqui está minha tentativa de prova:

Como é uma CFL, existe um PDA não determinístico que reconhece , , em que é o alfabeto de entrada, é a pilha alfabeto e é o símbolo que representa o conteúdo inicial da pilha. Construa PDA de , com , definido da seguinte forma:LLM=(Q,Σ,Γ,δ,q0,Z0,F)ΣΓZ0MMM=(Q,Σ,Γ,δ,q0,Z0,F)

Q=q0(Q×Γε)×(Q×Γε)×(Q×Γε) .

F={[(q,X),(q,X),(p,Y)]:X,YΓε and pF}

δ(q0,ε,ε)={([(q,X),(q0,Y),(q,X)],ε):qQ and X,YΓε}

δ([(q,X),(p,Y),(r,Z)],a,ε)={([(q,X),δ(p,a,Y),δ(r,b,Z)],ε):X,Y,ZΓε  and bΣ}

O primeiro componente de um estado em registra o estado adivinhado e não muda depois que é gravado inicialmente. O segundo elemento registra em que estado estamos depois de processar algum prefixo da entrada x, começando no estado , e o terceiro elemento registra em que estado estamos depois de ter processado algum prefixo do adivinhado , começando em .Qqq0yq

Não tenho certeza se essa prova funciona, porque estou um pouco confuso sobre o que fazer com a pilha para .M

David Smith
fonte
O que você acha?
Yuval Filmus
Bem, eu suspeito que um autômato reconhecendo FH (L) não exigiria mais memória do que um reconhecimento L.
David Smith
Você já tentou provar sua suspeita? Onde você ficou preso?
Yuval Filmus
Escreverei minha tentativa de prova como resposta, para que você possa comentar.
David Smith
"Não tenho certeza se essa prova funciona, porque estou um pouco confuso sobre o que fazer com a pilha para " - esse é o cerne do problema, e me leva a acreditar que há algum contra-exemplo, embora eu não pudesse pense em qualquer. O problema é que você precisa simular e, ao mesmo tempo, contar quantos símbolos você viu e quantos faltam. MM
Yuval Filmus

Respostas:

7

A intuição desenvolvida nos comentários está correta. A resposta é NÃO, existe um contra-exemplo, uma CFL para a qual as primeiras metades não são CFL.

L={ambncna3mm,n1} , sobre o alfabeto , da resposta em nosso site irmão .{a,b,c}

Prova do lema de bombeamento: escolha ; o bombeamento destrói a propriedade " " - ou a "primeira metade".apbpcpFH(L)bncn

Uma leve adaptação desse idioma é , sobre o alfabeto . Agora podemos "forçar" o ponto onde está o local de corte do primeiro semestre e obter outra técnica de prova.K={ambncn##a3mm,n1}{a,b,c,#}

Seja . Isso significa que consideramos apenas as primeiras metades em que o meio está exatamente no ponto entre os dois símbolos . Portanto. , ou . Assim, . Agora, se é livre de contexto, é livre de contexto (através da interseção da propriedade de fechamento por linguagens regulares). Essa linguagem está próxima de um exemplo padrão sem contexto . Por sua vez, isso pode ser obtido pelo quociente à direita com que também preserva a ausência de contexto .H=FH(K)abc##m+2n+1=1+3mm=nH={anbncnn1}#KH{anbncnn1}#

Hendrik Jan
fonte
Eu adicionei a ideia da prova (tirada da fonte vinculada em Matemática, para que o valor desta resposta não dependa da disponibilidade desses recursos.
Raphael
@ Rafael Obrigado. Adicionei um texto para explicar o uso específico do -character adicional que apresentei. #
Hendrik Jan
Ah, agora eu vejo onde você estava indo com isso. Agradável!
Raphael