コンテキストフリー言語は、「拡張機能なし」にするために閉じられていません


7

言語について L、定義:

NE(L)={xL:x is not the proper prefix of any string in L}

この操作では、文脈自由言語が閉じられていないことを示しようとしています。私は長い間、反例、つまり言語を見つけるのに苦労してきましたL そのような L コンテキストフリーですが NE(L)はコンテキストフリーではなく、何も考え出されていません。調べる言語についてのアイデアやヒントをいただければ幸いです。

編集:ほとんどの文脈自由言語では、どちらかが NE(L)=L または NE(L)=。候補の言語を見つけるのにも苦労しています。


1
しましょう L={an}{anbn}、その後 NE(L)={anbn}。だがNE(L)LNE(L)
Anton Trunov、2015年

回答:


6

言語ではなく LΣ 言語を考える L=L$$なので、すべての文字列を2つのコピーで連結します $ どこ $ にない新しいシンボルです Σ

しましょう xΣ。ストリングx$ の適切な接頭辞ではありません L iff x$$L iff xL

それはあなたが行くのを始めるはずです。


1
私はしばらくこれを見つめてきましたが、見ていません。まず、x$ でもない Lなので、それは確かに NE(L) (これはのサブセットです L)。基準「を適用するにはL"、私たちはから始める必要があります xL、それ以外の場合は、 NE(L)。ここで何か誤解していますか?
2015年

1
あなたが正しいです。これを回避するには、検討するだけで十分だと思いますL=L$$Σ$代わりに。
Hendrik Jan

1
ああ、賢い。したがって、基本的に、この構造を使用して、CFL 閉鎖されました NE、それからそれは矛盾を引き出すために補完の下で閉じられなければならないでしょう。または、CFLで補完できない言語を選択して、反例を取得します。おかげで、いつこのようなことを考えたのかわかりません...
2015年

1
@AntonTrunov「一般的な」ケースに対する私の提案:言語の2つの部分は、その尾によって区別できます。だから分離することができますC(L)$ レギュラーと交差することにより Σ$
Hendrik Jan

1
@AntonTrunovすみません、もっと正確だったはずです。文脈自由言語は、通常の言語との交差の下で閉じられます。
Hendrik Jan
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.