为什么我们需要谓词逻辑的形式语义?


25

考虑这个问题解决了。我不会选择最佳答案,因为所有答案都有助于我对该主题的理解。

不确定通过正式定义谓词逻辑的语义有什么好处。但是我确实认为拥有正式的证明演算很有价值。我的观点是,我们将不需要形式语义来证明证明计算的推理规则。

我们可以定义一个微积分,模仿“思维定律”,即数学家数百年来一直使用的推理规则来证明其定理。这样的计算已经存在:自然演绎。然后,我们将微积分定义为合理且完整。

这可以通过认识到谓词逻辑的形式语义仅仅是一个模型来证明。该模型的适当性只能凭直觉来证明。因此,通过参照形式语义论证明自然推论是合理和完整的,并不能使自然推论更“真实”。如果我们直接直观地证明自然演绎规则是正确的。使用形式语义学绕道而行对我们没有任何帮助。

然后,将自然演绎定义为合理且完整的,我们可以通过证明它们产生的证据可以转换为自然演绎,反之亦然来证明其他演算的正确性和完整性。

我以上的观点正确吗?为什么通过形式语义证明证明演算的正确性和完整性很重要?


1
这听起来像是关于(纯)逻辑而不是计算机科学的问题。最好在math.stackexchange.com提问
伊藤刚(Tsuyoshi Ito)2010年

6
我会反驳。逻辑是理论计算机科学(尤其是所谓的Theory B轨道)中的基本要素之一。
戴夫·克拉克

@supercooldave:我同意逻辑是计算机科学的基本组成部分,但是我猜想这个问题将在math.stackexchange.com而不是此处得到更令人满意的回答。当然,那是在您发布答案之前。
伊藤刚(Tsuyoshi Ito)2010年

2
@Tsuyoshi:我听说在计算机科学部门受雇的逻辑学家比任何其他部门都要多,逻辑部门的逻辑学家是一个非常稀有的品种。
查尔斯·斯图尔特

2
@Suresh:在过去的一周中,我们看到了B理论的上升。
查尔斯·斯图尔特

Answers:


18

稍作评论,再给出更严肃的答案。

首先,通过法令声明自然推论系统是没有意义的。自然演绎之所以有趣,正是因为它有一个自然的内部概念,即一致性和/或完整性-即消除切割。这是一个奇妙的定理,而IMO完全证明了给出纯粹的证明理论语义的尝试的合理性(并且通过CH对应关系,它同样证明了在编程语言语义中使用操作方法的合理性)。但这很有趣,因为它提供了正确的逻辑概念,而不是一致性。沿着证明论的理论道路意味着您将不得不做更多的工作,但是作为交换,您将获得更强大的结果。

然而,有时逻辑本身扮演次要角色。我们可能从一个(系列)模型开始,然后寻找使用逻辑在语法上谈论它们的方式。逻辑相对于一系列模型的健全性和完整性表明,该逻辑确实捕获了您可以说的有关模型类的所有有趣和真实的内容。在程序分析和模型检查中,出现了模型比逻辑理论更有趣的具体示例。在那里,通常要做的是使模型成为程序的执行,而使逻辑成为时间逻辑的一部分。您可以用这些语言说出的命题不是(有意)令人兴奋的-例如,从未发生空指针取消引用-但这是因为它适用于实际的程序运行,这引起了人们的兴趣。


15

我将添加另一种观点来增强上述响应。首先,这些思考是值得的,许多人也有类似的想法。在哲学上,这有时被称为“证明理论语义学”,吸引了Nuel Belnap,Dag Prawitz,Michael Dummett和其他在20世纪60年代和70年代的工作,他们本人也对Gentzen在自然演绎方面的工作提出了上诉。PerMartin-Löf和Jean-Yves Girard似乎也在他们的著作中提出了这种立场的变体。概括地说,在编程语言中,这是“语法正确性”。

事实是,即使您接受了逻辑规则不需要单独的语义解释,也不能说逻辑规则是自理的并将其留在那儿不是很有趣/有用。问题是形式语义学是如何完成的,以及是否有可能以更少的弯路实现相同的目的。但是,将模型理论与分析证明理论相统一的项目很重要,但仍未解决,它正在沿着分类逻辑,游戏语义和吉拉德的“荒谬论”等许多不同方面积极地追求。例如,除了查尔斯所说的以外,拥有模型的另一个定性好处是能够为非模型提供具体的反例定理,问题在于如何以“直接”方式理解这一点。有关启发灵感的答案,请参阅Michele Basaldella和Kazushige Terui撰写的“论逻辑完整性的意义”


14

形式语义与演算规则无关,为演算中的术语提供了直接含义。没有正式的语义,您如何陈述演绎规则是否正确(健全)或是否有足够的规则(完整性)?

在自然演绎出现之前就已经提出了“思想法则”。亚里斯多德的三段论就是这样一个集合。如果我们将它们定义为合理且完整的话,那么我们今天可能仍会使用它们,而不是开发更高级的逻辑技术。关键是,如果三段论完全掌握了思想定律,我们为什么还要设计任何进一步的逻辑。如果它们实际上不一致,该怎么办?将语义与形式证明演算以及连接它们的健全性和完整性证明一起提供了一个判断这种推理系统的价值的量尺。它将不再孤立。

X¬X甚至甚至争论说,我们应该接受没有一个真正的逻辑,并采取多元态度,在这种情况下使用最合适的逻辑。鉴于计算机科学家可以使用过多的逻辑(线性逻辑,分离逻辑,高阶构造逻辑,许多模态逻辑,所有古典和直觉主义的逻辑),采取多元态度是我们大多数人可能没有第二次认为,因为逻辑是解决特定问题的工具,因此我们尝试选择最合适的一种。形式语义是判断逻辑适当性的一种方法。

具有形式语义的另一个原因是,逻辑比谓词演算更多。这些逻辑中的许多逻辑设计用于推理特定类型的系统。(我正在考虑模态逻辑)。在这里,系统的类别是已知的,逻辑随后出现(尽管从历史上看,这也不是事实)。同样,稳健性告诉我们逻辑公理是否正确地捕获了系统的“行为”,而完整性则告诉我们我们是否有足够的公理。如果没有语义,我们如何知道演绎规则是否足够而不是胡说八道?

纯粹通过语法定义的示例逻辑,仍在继续努力以提供正式的语义,这是用于推理密码协议的BAN逻辑。逻辑推理规则似乎是合理的,那么为什么要提供正式的语义呢?不幸的是,BAN逻辑可以用来证明协议是正确的,但仍可能存在对此类协议的攻击。因此,推论规则至少在预期语义方面是错误的


1
您写道:“提议的语义是否符合一个人的直觉推论是一个哲学问题。” 我们可以用“证明规则”代替该句中的“语义学”一词,得到以下句子:提议的证明规则是否符合一个人的直觉推论是一个哲学问题。我的观点是证明规则的规范是定义语义的一种形式。
马丁

1
通过指定形式语义,然后证明合理性和完整性对于这个语义,我们只是表明,语义和举证规则是一致的,但它不会使证据规则更“真”,那么如果我们有他们直接理由使用直观的证明概念。
马丁

我不同意你在第二段中所说的。如果我们定义的三段论是健全和完善,我们一定会发明一些其他的结石,然后显示出他们能够证明完全相同的statments的三段论(即它们是可靠的,完整的参考,以三段论)。但是,可以肯定的是,一些逻辑学家和哲学家会出现,并认为三段论是不够的。最迟,Boole和Frege会扩展这套规则,而Gentzen同样会发明他的ND。
马丁

1
关于您的第一条评论。确实,证明规则确实定义了逻辑,并且本身可以看作是语义。实际上,在编程语言研究中很常见的是,编程语言的语义是以类似的方式定义的(即,通过操作语义)。所以你的观点是正确的。另一方面,关于语义的工作试图为逻辑中的公式找到绝对的,不可操作的含义,这与执行推论的方法无关。
戴夫·克拉克

1
@Martin,您对人们发布的答案的回答对我来说似乎“软”和“不科学”。当然,我们不需要语义,如果通过“需要”表示“理论上可以从古怪但可证明等效的非语义逻辑L中推导所有数学定理”。但是拥有模型真是太好了! 模型可以是我们要验证的计算机程序,我们要模拟的分布式系统,也可以是我们可以玩过Ehrenfeucht-Fraisse游戏以证明P = FO(LFP)的有序结构。我对您的问题:您能否列举出计算机科学在没有语义的情况下使用逻辑的任何优势?
亚伦·斯特林

8

我同意supercooldave的观点,但还有一个更为务实的原因,就是要比逻辑上具有某些特征的一组或其他推理规则更多:给定的一组推理规则往往不利于回答在放置逻辑时遇到的那种问题使用。

如果您有一个由公理列表和几条规则指定的逻辑作为希尔伯特系统,通常很难找出如何在系统中证明给定定理,并且没有理论上的了解,您就不会能够证明给定的命题无法在系统中得到证明。传统模型很好地证明了通过归纳法支持整个逻辑的属性。

四种工具可用于解决大多数逻辑学家想要解决的问题(从最小到最大的语义排列):

  1. 希尔伯特风格的系统适合于描述逻辑的逻辑结果关系,通常也适用于对几种逻辑进行分类,例如竞争对手的模态逻辑。
  2. Tableau系统适用于形式化决策算法。通常,如果逻辑是可确定的,则可以找到一种终止画面系统作为一种决策算法,如果找不到,则可以找到一种提供半决定程序的潜在的非终止表系统。如果要显示可判定性的复杂性的上限(即逻辑的复杂性类别),则通常使用Tableau系统。
  3. 分析证明理论(例如Gentzen的自然演绎和后续演算)给出了对推理有益的证明表示,并提供了分析证明的概念,这对于证明有用的属性(如理论的插值)非常有用。
  4. Tarski风格的模型理论通常更适合逻辑推理,因为它们几乎完全抽象了逻辑的语法细节。在模态逻辑和集合论中,它们在提供结果方面要好得多,以至于那些逻辑学家对Tableau和解析证明论证的兴趣非常有限。

由于supercooldave提到了直觉逻辑:没有排除中间规则的情况下,模型理论变得更加复杂,解析证明理论变得更加重要,通常是选择的语义。诸如范畴论之类的代数技术成为抽象化语法复杂性的首选。

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.