无星级语言与常规语言


11

我想知道,由于本身是无星星的语言,是否存在不是非星星的常规语言?你能举个例子吗?a∗


(摘自Wikipdia) Lawson将无星语言定义为:

如果可以用由字母,空集符号,所有布尔运算符(包括补码)和级联构造而成的正则表达式来描述常规语言,则该常规语言是无星形的,但没有Kleene星形。


这是没有星星的证明:a∗

∅⟹ Σ * = ˉ ∅ ⟹ 甲⊆ Σ Σ *甲Σ * ⟹ 甲⊆ Σ 甲* = ‾ Σ *(Σ ∖ 甲)Σ *是没有星星的是没有星星的 如果那么是没有星星的 如果然后是无星号的⟹
Σ∗=∅¯⟹
A⊆ΣΣ∗AΣ∗⟹
A⊆ΣA∗=Σ∗(Σ∖A)Σ∗¯

在最后一行中,我们有,因为任何不是形式的单词都在包含一个字母反之亦然。A∗=Σ∗(Σ∖A)Σ∗¯A∗Σ∖A


A∗≠Σ∗AΣ∗
— reinierpost

@reinierpost您误解了方程式。在顶部和整个方程的顶部有两个补码条。抱歉,我想我不擅长2013A
— 无题

@reinierpost我编辑了帖子以使其更易于阅读。感谢您的反馈。
— 无题

谢谢!现在很难错过。
— reinierpost

Answers:


11

常规语言是可以用弱一元二阶逻辑(WMSO)[1] 描述的语言。

无星星的语言是可以用<(FO [<])[2] 的一阶逻辑描述的语言。

这两种逻辑功能不一样。可定义WMSO但不能定义FO [<]的语言的一个示例是(这显然是常规³);可以使用Ehrenfeucht-Fraissé游戏shown来显示。(aa)∗


  1. 比奇(Büchi)的弱二阶算术和有限自动机(1960)
  2. McNaughton和Papert(1971)的无反自动机
  3. 甲WMSO-公式是(aa)∗

     [∀x.Pa(x)]∧[∃x.Pa(x)→[∃X.X(0)∧[∀x,y.X(x)∧suc⁡(x,y)→¬X(y)]∧[∀x,y.¬X(x)∧suc⁡(x,y)→X(y)]∧[∀x.last⁡(x)→¬X(x)]]].

    (如果单词不为空,则是所有偶数索引的集合。)X

  4. 另请参阅此处。

我知道逻辑上的“单子”是什么。您是否知道什么是“弱”限制?
— Hendrik

1
@HendrikJan:只是模型和集合都必须是有限的。MSO处理无限个单词(准确地说,它对应于常规语言)。ω
— 拉斐尔

14

Schützenberger(1965)给出了无星星语言的代数表征:当且仅当其句法半形体为非周期性时,常规语言才是无星星的。与逻辑特征相反(无星形= FO [<]),此代数表征提供了一种算法,可确定给定的常规语言是否为无星形(常规语言可以通过有限自动机,正则表达式或常规语法)。然后,使用逻辑表征(由于McNaughton和Papert),可以确定以下问题:给定WMSO公式,是否存在描述同一语言的FO公式?

M.-P. Schützenberger,关于仅具有琐碎子群的有限类半群,Information and Control 8(1965),190-194。

R.〜McNaughton和S.〜Papert,无反自动机,麻省理工学院出版社,马萨诸塞州剑桥,伦敦,1971年。

Schützenberger定理的完整证明可以在各种教科书或调查论文中找到。有关相应算法的基本介绍(无证明),请参见

J.-É. Pin,有限的半群和可识别的语言:北约高级研究学院的半群,形式语言和群,J。Fountain(编),1-32,Kluwer学术出版商,(1995年)的简介。


7

无星星的语言由正则表达式描述,包括连接,互补,并集,交集,但没有Kleene-star。

由于常规语言在所有这些操作下都是封闭的(其中补全是关键点),因此每种无星语言也是常规的。

也许您是说相反的意思?所有常规语言是否都没有星级?后者的答案是否定的。有关详细信息,请参见本文。


是的,我的意思相反,编辑了问题。
— 无题

1

一个简单的分离示例是(aa)*。更复杂:所有具有偶数(或奇数)奇偶校验的二进制字符串。


1
在接受的答案上加了什么?
— 拉斐尔

@Raphael奇偶校验示例。如果Holger解释为什么它不是没有星星的,那会很好。
— David Richerby
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.