Computer science 证明形式为0^n,其中n为素数的语言既不是正则语言,也不是上下文无关语言

Computer science 证明形式为0^n,其中n为素数的语言既不是正则语言,也不是上下文无关语言,computer-science,automata,pumping-lemma,Computer Science,Automata,Pumping Lemma,我想了很长时间,但还是没能走得更远。 第一步很容易考虑o^M形式的任何语言,其中M是一个质数,大于我们的对手给出的质数(比如n)。我不知道如何从这里证明,无论我们的对手如何破坏字符串,我们总是可以将其抽出来,以表明它不属于上下文无关语言(因此也不属于常规语言) 附言:这不是家庭作业问题。我已经完成了这门课程。我只是想解决它,因为在我的课程期间我无法解决它。假设给定的语言是上下文无关的。使用,你会得到数字x和y,这样x,x+y,x+2y,x+3y,等等,都是素数。然而,这是不可能的,因为质数之间有

我想了很长时间,但还是没能走得更远。 第一步很容易考虑o^M形式的任何语言,其中M是一个质数,大于我们的对手给出的质数(比如n)。我不知道如何从这里证明,无论我们的对手如何破坏字符串,我们总是可以将其抽出来,以表明它不属于上下文无关语言(因此也不属于常规语言)


附言:这不是家庭作业问题。我已经完成了这门课程。我只是想解决它,因为在我的课程期间我无法解决它。

假设给定的语言是上下文无关的。使用,你会得到数字x和y,这样x,x+y,x+2y,x+3y,等等,都是素数。然而,这是不可能的,因为质数之间有任意大的间隙(为了证明这一点,考虑n,+ 2,n,+ 3,…n,+n,对于任何自然数n>=2,它们都是复合的)。
另一种方法是使用一元字母表上的所有上下文无关语言都是正则语言的定理。然后考虑一下DFAs在一元字母表上的样子:每个州都有一个外向的边缘。在消除不可达状态后,状态必须是q_0,q_1。。。q_k,从q_i到q_{i+1}的转换,对于1来说,这个问题对于即将到来的问题来说是完美的。所以,如果你想有这样一个问题的地方,请继续,并帮助这个建议起飞!当使用抽运引理时,可以固定一个长度合适的单词0^n,并特别选择i,以便抽运的单词没有素数长度。i=0甚至可以工作。