文脈自由な言語と通常の言語との共通部分は常に文脈自由ですが、文脈自由言語は集合交差の下で閉じられません。誰もが、通常のすべての言語が文脈自由であれば(なぜなら、その逆は常に真ではない)、両方の定理が真である理由を説明できますか?文脈自由言語のクロージング特性および規則的言語との交差
2
A
答えて
6
文脈自由言語が交差点で閉じられていないことを証明するために、反例を提供します。
L = {a^i b^j c^k | i = j}であり、R = {a^i b^j c^k | i = k}である。これらの2つの集合の交点はS = {a^i b^j c^k | i = j = k}、すなわち、a^n b^n c^nの形式の文字列である。これは、文脈自由言語のポンピング補題を使用して、この文脈が文脈自由ではないことを示すことができる。他の二つのための文脈自由文法は簡単です:
L is given by
S := AC
A := aAb | lambda
C := cC | lambda
R is given by
S := aSc | B | lambda
B := bB | lambda
より具体的にあなたの質問に対処するために、両方の定理が真であることが可能な理由は、正規言語は文脈自由言語の適切なサブセットであるということです。文脈自由言語が集合交差点の下で閉じられるためには、任意の文脈自由言語の共通部分も文脈自由でなければならない(それは上で見ていない)。しかし、それと同時に、正規言語と文脈自由言語の共通部分も文脈自由であるという事実が起こることは事実である(FAとaを使ってデカルト積の機械を作ることはできないPDAという2つのスタックを必要とし、2つのスタック型PDAはチューリングマシンと同等であるため、1台のマシンだけがスタックを必要とします。
関連する問題
- 1. 文脈自由言語の連合
- 2. 設定、レジストリ、および言語の名前の規則
- 3. 束縛された文脈、サブドメインおよびユビキタス言語
- 4. T-SQL言語仕様とレキシング規則
- 5. 次の言語のための文脈自由文法を書く
- 6. c言語のデータ型算術規則
- 7. 自然言語コマンド言語
- 8. 異なるプログラミング言語と呼び出し規則
- 9. 私は基本的に前記大学の作業であった文脈自由言語と無限定期的なサブ言語
- 10. 不規則な規則で言語に翻訳する
- 11. 形式0^n(nは素数)の言語が規則的でも文脈自由でもないことを証明する
- 12. 文脈自由文法の左回帰規則
- 13. SEOおよびマルチ言語サポート
- 14. PHPは完全に文脈自由言語ですか、文脈依存部分を持っていますか?
- 15. 正規言語
- 16. VimとPython:言語メソッドの文脈に依存しないオートコンプリート
- 17. 宣言的言語のXSLT
- 18. 言語機能直交?
- 19. 「自己プログラミング言語」とは
- 20. 次の言語が文脈自由であることを証明してください:
- 21. 自然言語文構造の検索
- 22. 多言語のstrings.xml特殊文字
- 23. C言語のbase64エンコーディング特殊文字
- 24. 非正規化混在言語文書用のSolr言語検出更新プロセッサー
- 25. 式言語豆特性評価順
- 26. 任意の言語の単語文字用正規表現
- 27. asp.netの言語互換性
- 28. SQlへの自然言語
- 29. Parrot VMと静的言語
- 30. IOCコンテナと動的言語
お返事ありがとうございます!私は適切なサブセットについて考えていなかったが、今はすべて意味がある。 – methane
それは良い質問です、私はあなたが私の答えが好きとうれしいです。つまり、これがあなたの質問に対する良い答えだと思うなら、それを受け入れる(緑になるようにチェックマークをクリックする)ことで、コミュニティの他の人が良い答えを識別しやすくなります。 – Patrick87
私はRの文法に型があると信じます。それは "abacc"も受け入れます。 S:= aSc | B B:= bB |ラムダ –