【问题标题】:If every subset of a language L is regular then L is regular? [closed]如果语言 L 的每个子集都是正则的,那么 L 是正则的吗? [关闭]
【发布时间】:2013-01-21 17:40:26
【问题描述】:

我知道上述定理的逆是不正确的,即如果 L 是正则的,那么 L 的每个子集都不需要是正则的

【问题讨论】:

  • 你的意思是,每个真子集?否则这是微不足道的。
  • 怎么样?你能解释一下吗?
  • 每一种语言都是它自己的一个子集。因此,如果语言的每个子集都是正则的,那么作为语言本身的子集也是正则的,因此语言本身也是正则的。
  • 不仅如此,如果一种语言的每个真子集都是正则的,那么该语言就是有限的(因此也是正则的)。
  • ya.. 我明白了:) 每个真子集呢?

标签: regular-language computation-theory


【解决方案1】:

不仅

如果语言 L 的每个子集都是正则的,则 L 是正则的

还有

如果语言 L 的每个真子集都是正则的,则 L 是有限的

证明:

这相当于语句

如果一种语言L 是无限的,那么它包含一个不是常规语言的子集。

常规语言的泵引理指出“存在一个长度 l 使得如果语言中的单词 wl 长,那么存在三个单词 x,y,z 使得 y是非空的,xyz == w 并且每个 xy^nz 都在语言中”。

如果一种语言是无限且规则的,那么它包含的单词长度比任何给定长度都长。因此,必然存在三个词x,y,z,这样每个xy^nz 都在该语言中。

现在,{xy^nz; n in N} 的每个真子集都是 L 的一个真子集。现在,肯定存在不规则的xy^nz 的真子集*。因此,每一种正则无限语言都有一个非正则的真子集。

如果一种语言是无限的且不规则的,那么考虑它的任何适当的无限子集。如果子集不规则,则该语言不是反例。如果子集是正则的,则使用上一段找到不正则的真子集。由于作为真子集是可传递的,所以这个子集是原语言的真子集,该语言不是反例。

因此,每一种无限语言都有一个不规则的真子集。

因此,如果一种语言的每个真子集都是正则的,则该语言是有限的(因此也是正则的)。

QED

*例如,集合{xy^{n^2}z; n in N}{xy^nz; n in N}的真子集,它不是正则的,如Myhill-Nerode theorem所示。

【讨论】:

    猜你喜欢
    • 2016-08-25
    • 2013-05-22
    • 2015-01-22
    • 2021-07-18
    • 2019-12-05
    • 2011-06-13
    • 1970-01-01
    • 2015-11-21
    • 1970-01-01
    相关资源
    最近更新 更多