簡體   English   中英

非正則上下文無關語言和無限正則子語言

[英]Non regular context-free language and infinite regular sublanguages

我為大學做了一份工作,基本上說:

“證明非正則語言 L={0^n 1^n: n natural} 沒有無限的正則子語言。”

我通過矛盾證明了這一點。 我基本上說有一種語言 S 是 L 的子語言,它是一種常規語言。 因為 S 可能的正則表達式是 0*、1*、(1+0)* 和 (0o1)*。 我檢查每個語法並證明它們都不是語言 L 的一部分。

但是,我如何證明任何非常規上下文無關語言都不能包含任何常規無限子語言?

我不想要證明本身,我只想指出正確的方向。

對於 0^n 1^n 語言,研究抽水引理可能很有價值。 我認為當我學習泵引理時,它被用於 a^nb^n 語言(同樣的事情。)可能泵引理可能有助於您的證明。

您也可以認為常規語言在補碼、並集、交集和 kleene 星號下是封閉的。

也就是說,如果 L1 和 L2 是規則的,那么:

L1 L2 (concatenation) is also regular.
L1 n L2 is regular
L1 U L2 is regular
¬L1 is regular 
L1* is regular

通過使用其中一些規則,您可以證明任何包含常規無限子語言的語言都是常規的。

L = {0^n 1^n: n natural} 是非常規上下文無關的。

M = 2*3* 是無限規則的。

N = L∪M 是非常規上下文無關的。 N 包含 M。

你的直覺很好。 這里有兩件事。

首先,幾乎總是當問題采用“表明 L 不是正則/非 CF”的形式時,答案將涉及使用抽水引理。 同樣,當您收到諸如“表明沒有 X ……”之類的問題時,簡單的方法(幾乎總是)將成為矛盾的證明。

編輯:虛假陳述,僅適用於上下文無關語言

由於您只需要提示(謝天謝地,因為我從大學起就忘記了如何做證明),請查看常規語言的定義及其具有的屬性。 只是從那里看,我有足夠的信息來證明這一說法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM