如何证明{(a^m)(b^n)(c^k): m!=k and m,n,k ∈ N} 是非正则的?

how to prove {(a^m)(b^n)(c^k): m!=k and m,n,k ∈ N} is non-regular?

提问人:李力扬 提问时间:11/4/2023 更新时间:11/5/2023 访问量:28

问:

这是计算机科学课程“计算理论”中的一个问题,关于正则或非常规语言的证明。

如何证明{(a^m)(b^n)(c^k): m!=k and m,n,k ∈ N} 是非正则的?

我试图通过抽取定理来解决它,但没有成功。

常规语言 计算机科学理论

评论

0赞 Jib 11/4/2023
欢迎来到 SO!从数学的角度来看,你应该在数学堆栈交换中支付你的问题。
1赞 Eric Postpischil 11/4/2023
@Jib:Computer Science Stack Exchange 更合适。
0赞 Eric Postpischil 11/4/2023
证明的关键是:正则表达式可以用有限状态机解析。解析 a^m 后,要接受带有 m≠k 的 c^k,必须能够区分 m,因此必须对每个可能的 m 有一个状态。但是 m ∈ N,所以有无限多的可能值,所以有限状态机不可能有足够的状态。

答:

0赞 Frank Yellin 11/5/2023 #1

假设你有你的机器。有两个前缀和 i≠j,它们必须都进入相同的状态,因为你只有有限数量的状态。但是你的机器无法分辨 和 之间的区别,其中一个应该通过,一个不应该通过。a^ia^ja^ibc^ia^jbc^i