Skip to content

定义Definition

一阶逻辑语法

First-order syntax

以符号表、项、原子公式、联结词和量词归纳生成一阶公式的语法系统。

形式陈述 ​

一阶逻辑语法规定哪些符号能组成项和公式,以及变量出现在哪里、被哪个量词约束。它先判断表达式是否合式,不先判断表达式是真是假。

固定一个签名 Σ,其中包含常量符号、函数符号和关系符号,并给每个函数、关系符号指定有限元数。再取一列变量 x,y,z,…。例如签名可含常量 c、一元函数符号 f 和二元关系符号 R;元数表示一个符号需要接收多少个参数。常量也可以统一视为零元函数符号,本条目为便于阅读单独列出。

项用于指称对象。它们组成满足以下规则的最小集合:变量和常量是项;若 f 是 n 元函数符号、t1,…,tn 是项,则 f(t1,…,tn) 是项。除此之外没有其他项。这里的“最小”排除了没有经过有限次规则构造的额外表达式。

公式用于表达断言。在带等号的一阶语言中,原子公式是 t=s 或 R(t1,…,tn),其中参数都是项,且数量符合 R 的元数。再从原子公式出发,用命题联结词和量词递归生成:

φ::=t=s∣R(t1,…,tn)∣⊥∣¬φ∣(φ∧φ)∣(φ∨φ)∣(φ→φ)∣∀xφ∣∃xφ.

等号是逻辑符号;其余常量、函数和关系符号属于签名。一个具体语法可以少选几个联结词,把其他联结词定义成缩写,但必须说明所用约定。

直觉

先区分“一个对象”与“关于对象的一句话”。在整数语言中,x+1 指向一个数,x+1<y 则是在比较两个数。前者对应项,后者对应公式。项可以嵌入项,例如 (x+1)+1;公式可以用“且”“或”组合,也可以被“对所有”“存在”这样的量词包围。

签名只给出可以使用的符号及接口,不预先赋予数学意义。符号 f 可以在一个结构中解释为后继,在另一个结构中解释为恒等函数。R(f(x),y) 是否合式只取决于符号元数;它是否为真还需要结构和对自由变量的赋值。这样,语法检查与语义判断便被分开。

括号确定构造层次,量词确定作用域。∀x(P(x)→Q(x)) 的两个 x 都由外层量词约束;(∀xP(x))→Q(x) 中,最后一个 x 不在该量词的作用域内。去掉括号之前,需要先规定优先级,不能靠句子看起来“差不多”来判断结构。

例子与边界

从符号表逐层生成 ​

对含 c,f,R 的上述签名,x 和 c 是项,继而 f(x)、f(f(c)) 是项,因此 R(f(x),c) 是原子公式,∃xR(f(x),c) 是公式。每一步都能指出使用了哪条构造规则。

相反,f(x,c) 给一元函数提供了两个参数,不合式;R(x) 少了一个参数;f(R(x,c)) 则把公式塞进了应当放项的位置。它们不是“可能为假的公式”,而是没有被这套语法生成的表达式。

自由变量必须按作用域计算 ​

单独计算项时,其中的变量出现都记入该项的自由变量集合;放进公式后,这些出现仍可能被外层量词绑定。例如 f(x) 含变量 x,但公式 ∀xP(f(x)) 没有自由变量。公式的自由变量集合 FV 可递归计算:原子公式取各参数中的变量并集,否定不改变该集合,二元联结词取左右子公式的并集,而量词删去自己绑定的变量:

FV(∀xφ)=FV(∃xφ)=FV(φ)∖{x}.

没有自由变量的公式称为句子。例如

∀x(R(f(x),y)∨∃yR(x,y))

的自由变量集合为 {y}:左支的 y 自由,右支的 y 被内层量词约束,所有 x 都被外层量词约束。同一个名字在一个公式中可以有自由出现,也可以有约束出现;不能只统计名字是否出现。

替换为什么需要避免捕获 ​

记 φ[t/y] 为把 φ 中自由出现的 y 替换成项 t。若将 ∀xR(x,y) 中的自由 y 替换成 x,直接按字符替换会得到 ∀xR(x,x),新放进去的 x 被外层量词捕获了。

正确做法是先把原来的绑定变量改成新名字 z,得到 ∀zR(z,y),再替换为

∀zR(z,x).

此时新 x 仍然自由。两种结果确实可能意义不同:若论域含两个不同对象,R 解释为相等,那么 ∀xR(x,x) 为真,而 ∀zR(z,x) 对任意给定的 x 都为假。捕获不是排版上的小变化,而是改变了所断言的事情。

仅一致地更换绑定变量、并避免捕获,得到的是 α-等价公式。它保留绑定结构;任意改动自由变量、或把一个名字的所有出现无差别替换,并不属于这种改名。

推论与应用

归纳语法同时给出递归算法与证明方法 ​

语法分析得到结构后,可以递归计算公式长度、自由变量集合、量词深度,也可以递归实现捕获规避替换。证明这些操作正确时使用结构归纳:先检查变量或原子公式,再证明每个构造步骤在子表达式正确的条件下仍正确。证明的分支直接对应语法规则,因此不需要猜测所有字符串可能长什么样。

一阶逻辑的语义随后给项一个对象值,给公式一个满足关系。替换引理把两层接起来:在捕获规避条件下,语法上以项替换变量,等价于语义上把该变量的赋值改成此项的解释值。漏掉绑定处理,后续可靠性证明便失去了这一连接。

“一阶”表示量词对论域中的对象取值;它不允许直接把普通关系符号或函数符号当作量词变量。用对象编码公式、函数或证明是另一回事:语法的哥德尔编码可以把语法对象变成自然数来研究,但“对编码数字量化”与直接增加高阶量词是不同的语言设计。

参考资料
  • Jeremy Avigad、Robert Y. Lewis、Floris van Doorn,Logic and Proof,Chapter 7: First-Order Logic:签名、项、公式、自由变量和替换。
  • P. D. Magnus 等,forall x: Calgary,开放教材主页:一阶语言、量词作用域与翻译练习。
  • Herbert B. Enderton,A Mathematical Introduction to Logic,第 2 章:一阶语言的归纳定义及语法与解释的分工。
关系图谱19 个相邻概念 · 1 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组