关于高阶逻辑推理形式主义表达能力的一个问题

时间:2010-05-09 18:15:55

标签: programming-languages computer-science logic

我真的不知道这是否经过科学证明,但我读过一本书(这是Peter Norvig的一本相对现代的AI书),二阶逻辑编程可能比现有的一阶语言更具表现力

问题是:在统计上/符号上证明高阶谓词逻辑在其表达能力上超过一阶谓词吗?或者他们只是为您的知识库带来模块化/便利/可维护性?

此外:如果有某种坚定的方向,我可以寻求比我更具表现力的力量(我的意思是我用给定的语义/语法写出的符号的描述性潜力) - 那么我会很高兴听到几乎所有的事情:)

谢谢。

2 个答案:

答案 0 :(得分:8)

二阶逻辑比一阶逻辑更强大,更具表现力。除了变量之外,二阶逻辑允许人们量化关系;因此,使用二阶逻辑的单个句子,可以表达需要无限数量的一阶逻辑句子的东西。这种关系类似于FOL和命题逻辑之间的关系。

作为示例,请考虑SOL声明:

\forall R \exists x \exists y (x R y)

这表明对于任何关系R,存在x和y,使得x R y成立。为了在FOL中表达这一点,人们需要语言中每个关系R的陈述,这显然可以是无限的。

对于一个更有趣的例子,可以看一下关系的传递闭包在FOL中无法表达的证明。如果你想看,我可以发布它;但为了简洁起见,我会省略它,除非有人想要它。

编辑:您可能也对Descriptive Complexity感兴趣 - 基本上,它将复杂性和可表达性的概念联系在一起 - 如果您能够在某个逻辑片段中完全陈述问题,那么您知道它是包含在相应的复杂性类中。例如,如果问题可以在存在性二阶逻辑中说明,则它在NP中;如果它可以在一阶逻辑+一个最小不动点运算符中说明,则它在P中。如果你能证明存在二阶逻辑的每个陈述都可以转换为FOL(LFP),那么你已经证明了P = NP 。 (好吧,你已经证明了NP \子集P,但由于其他的遏制已经知道,你已经证明了平等......)

答案 1 :(得分:1)

您可能需要查看dependent type theories