- 与一阶逻辑相比,二阶逻辑是什么?
- 什么是单子逻辑与非单子逻辑?
单子二阶逻辑是一阶逻辑加上对集合的量化。因此,除了可以说存在具有某些属性的域元素()之外,您还可以说存在一组具有某些属性的域元素。因此,例如,我们可以通过说∃x…
∃R∃G∃B[∀x(x∈R∨x∈G∨x∈B)∧¬∃x((x∈R∧x∈G)∨(x∈G∧x∈B)∨(x∈B∧x∈R))∧∀x∀y(E(x,y)→¬((x∈R∧y∈R)∨(x∈G∧y∈G)∨(x∈B∧y∈B)))].
换句话说,有红色,绿色和蓝色
- 每个顶点都有颜色
- 没有顶点有两种颜色
- 并且,如果两个顶点之间有一条边,则这两个顶点的颜色不相同。
一般的二阶逻辑不仅允许对集合进行量化,而且还可以对域上的任意关系进行量化。回想一下,对于某个,关系是域上的元 组的集合。集只是一元关系:,一个元组只是域的元素。k k = 1 1kkk=11
可判定二阶逻辑为什么单调很重要,或者为什么这是错误的问题?
为什么一元二阶逻辑是可确定的?
老实说,我不记得可判定性问题。关键是完整的二阶逻辑可让您量化域的线性顺序
∃R∀x∀y∀z[(R(x,y)∨R(y,x))((R(x,y)∧R(y,x))→x=y)((R(x,y)∧R(y,z))→R(x,z))].
也就是说,存在一个完全,反对称和可传递的二元关系,即在域上是线性顺序 。对于任何 ,这都隐式地为您提供了的线性顺序 ,您可以对足够大的 使用上的关系 来模拟图灵机磁带。但是,使用单声道SO,您将无法做任何事情。DDnnDnn
(我猜想,如果您的域是无限的,那么您可能还需要指定线性顺序是离散的并且具有最小元素;然后您知道它的初始段与自然数同构,因此应该足够。)
在有限输入上,SO的存在片段-形式为公式(其中是关系符号, 是一阶的)精确地定义了NP。完整的二阶逻辑精确定义了多项式层次。这恰好是因为能够对Turing机器进行编码,以及量化固定的关系集合使您可以处理多项式的事实。∃R1…∃RkφRiφ
- 与至少DFA的关系?
我们可以通过关系结构来表示一些有限字母的字符串 。词汇表具有二进制关系符号 (将被解释为线性顺序),以及每个字符的不相关的关系符号 。域的每个元素都是字符串中的一个字符,线性顺序告诉您字符出现的顺序,关系 告诉您在每个位置出现的字符。Σ≤Raa∈ΣRa
现在,假设我们有一个包含个状态的DFA, 并假设我们现在正在处理有限字符串。我们可以编写一个与上述三色性公式大致相似的公式,该公式表示我们的DFA接受其输入编码的字符串。它说存在(域元素,即字符串中的位置),这样将是字符串中状态为的自动机的位置集合 。因此断言:kQ1,…,QkQii
- 每个位置 恰好在;jQ1,…,Qk
- 第一个位置在 (假设这是开始状态);Q1
- 如果第个位置在 则第个位置处于自动机转换函数认为应该处于的任何状态;jQi(j+1)
- 最终位置处于接受状态。
如果此公式为真,则自动机必须接受字符串;否则,字符串为0。如果为假,则自动机必须拒绝。对于NFA,我们只说每个职位至少处于一种状态,而最终状态至少处于一种接受状态。对于无限输入,我们可以通过例如说“对于输入中的所有位置,如果 处于接受状态,则存在使得 也处于接受状态的Büchi条件进行编码 。jjj′>jj′
现在,我不记得有相反的证明(在MSO中定义的所有内容都可以由适当的自动机识别)。如果有时间,我会查一下并张贴草图。
相反,我们可以遵循自动机的构造,通过有限状态自动机归纳表示MSO公式的含义。为此,我们通过添加指示自由位置变量的值和设置变量组件来增加自动机的字母。如果我们沿自动机读取一个字符串,我们会发现恰好是一个来表示某个位置,并且集合中的位置也被标记为相同。iX1iX
基本公式是:“位置具有符号 ”的,表示“是的元素”,而表示“位置在位置之前”。这些公式可以由以下简单的有限状态自动机表示(适用于该公式的扩展字母):我一个我∈ X 我X 我< Ĵ 我ĴRa(i)iai∈XiXi<jij
使用布尔和存在量词构造更复杂的公式。这些运算符的预期含义可以很容易地翻译成语言,因为语言运算符合并,互补和projection,这是从扩展字母中删除相应组件的操作。对于联合,我们必须特别注意扩展字母,以防公式的两个部分在自由变量集上不一致。投影很简单,但是它将确定性自动机变为不确定性自动机。∃ 我,∃ X ∪∨,¬∃i,∃X∪c