一阶逻辑是什么? | baeldung


在本教程中,我们将研究一阶逻辑的基础,并习惯其理论和概念基础。
首先,我们将研究自然语言和形式语言之间的关系。随后,我们将一阶逻辑与命题逻辑进行比较。这样,我们将学习前者具有的特定特征,以及何时使用后者优于后者。
最后,我们将研究一阶结构的符号和语法。这将使我们能够将自然语言中的表达式转换为一阶逻辑中的有效表达式。
在本教程的最后,我们将了解什么是一阶逻辑以及它与命题逻辑的区别。我们还将了解其语法规则,并将能够将自然语言表达形式转换为一阶表达形式。
 
一阶逻辑与自然语言
像所有其他形式逻辑系统一样,一阶逻辑是一种将自然语言形式化为可计算格式的方法。反过来,这使我们能够以正式的方式对待通过语言句子表达的问题。然后从自然语言的形式化中,我们得出表达和证明定理的能力,这反过来又使得在数学,计算机科学和哲学等学科中进行推理推理成为可能。
自然语言形式化的问题与哲学本身一样古老。但是,在计算机科学领域,它在1950年代开发了第一个用于处理逻辑表达式的系统时便找到了基础。但是,第一个这样的系统具有严重的局限性,特别是它们只能使用命题逻辑,而不能使用谓词逻辑。
命题逻辑不允许对具有通用和可变内容的变量和函数进行推理,这意味着其抽象能力有限。这也意味着第一个逻辑计算系统无法解决其解位于命题空间是子空间的向量空间中的问题。此问题已被形式逻辑系统的发展克服。
如今,一阶推理已成为机器学习系统符号推理的基本组成部分。现代专家系统都使用一阶或高阶逻辑,该逻辑允许以自动化方式进行抽象推理和推理
还有用于一阶逻辑的专用编程语言。其中最著名的是Prolog,首字母缩写词以一种相当混乱的方式表示“命题逻辑”,但是其语法在很大程度上与一阶逻辑相对应。Prolog的特点是可以快速构建知识库,并且几乎不需要人工分析人员的培训就能使他们能够编码他们的知识。
使用一阶逻辑的知识表示和推理的其他解决方案是DroolsjBPM,我们可以在各自的教程中阅读有关它们的更多信息。
 
一阶逻辑的语法
 一阶逻辑的语法由属于以下两类之一的符号组成:逻辑符号和非逻辑符号。
逻辑符号是与逻辑运算符或连接词对应的符号。这种符号的例子包括逻辑运算符,其用于与在命题逻辑它们相应操作的功能。此类逻辑符号始终且仅在其表示的逻辑运算的意义上进行解释,其含义绝不受我们使用一阶逻辑的讨论范围的限制。
换句话说,无论我们讨论化学或物理或计算机科学的理论,这意味着逻辑符号始终具有明确的含义。

非逻辑符号包括谓词和关系,还包括常数和函数。与非逻辑符号关联的含义是特定于域的,将其转换为自然语言的句子需要转换规则和解释。
 
谓词是公式的基本组成部分,表示对象之间的关系。这些关系可以是在话语领域中允许的任何关系。
例如,在家庭关系的域,谓词可以是兄弟,父亲,母亲。在业务关系的情况下,谓词可以是员工,子公司,受控制的。也可以定义更复杂的谓词,例如这个父亲和这个母亲的儿子。
根据许多使用一阶逻辑的编程语言的约定,谓词的第一个参数通常会转换为句子的主语,而第二个通常会转换为其属格或所有格。
 
量词是一阶逻辑的特殊组成部分,它允许定义考虑与某些谓词有关的数字或数量的公式。它们在英语中也被称为不定形容词。这些包括形容词,例如any,some,all或none。
包含量词的句子示例包括:

  • 一些苹果是绿色的
  • 所有的苹果都是绿色的
  • 没有苹果是绿色的

命题逻辑与一阶逻辑之间的差异
确定命题逻辑和一阶逻辑之间存在哪些相似点和差异是很有用的,因为后者是从前者逻辑派生而来的。反过来,这将使我们了解两种逻辑上形式化语言方法的优缺点。
两者之间的第一个区别与以下事实有关:一阶逻辑包括命题逻辑,但事实并非相反。这意味着可以用一阶逻辑处理命题逻辑中表达的所有问题,但不能用命题逻辑处理一阶逻辑中的所有问题。这尤其涉及只能通过使用量词来表达的问题,例如“全部”,“任何”,“一些”,“没有”,我们将在后面详细介绍。
第二个差异涉及构成两个形式系统公式的基本单位的性质。命题逻辑使用命题和逻辑运算符来构成其格式正确的公式。除了那些,一阶逻辑还使用变量,量词和关系。我们将在下一部分中看到这些新概念的含义。
第三个差异涉及两个系统表达的公式的抽象能力。在命题逻辑中,系统不允许处理涉及零件变异或不确定的问题。这意味着在命题逻辑中找到的公式的解的有效性仅限于该公式。相反,在一阶逻辑中,可以创建具有更高泛化能力的公式。

以上为简单普及翻译,详细点击原文