Gentzen 演绎系统
我们先从逻辑系统的基本表达方式说起。在逻辑学中,我们研究如何从一些已知的前提(称为“公理”或“假设”)出发,通过一系列明确的规则,推导出新的结论。这种推导过程本身,就构成了一个“证明”。Gentzen 演绎系统,由德国逻辑学家格哈德·根岑在20世纪30年代提出,就是一种用于精确刻画这种“证明”结构的形式化系统。它的核心思想是,逻辑连接词(如“与”、“或”、“如果...那么...”)的意义完全由它们在证明中被引入和消去的规则所决定。
-
从自然演绎到形式化规则
在接触 Gentzen 的系统之前,你可能已经知道一种叫做“自然演绎”的证明方法。它试图模仿人类在数学中的自然推理方式。Gentzen 的工作正是对自然演绎进行了形式化和精炼。他提出了两种等价的主要系统:自然演绎系统 和 相继式演算。我们这里重点介绍更具革命性的后者。 -
核心构件:相继式
Gentzen 系统的核心是一种叫做“相继式”的表达式。一个相继式的形式是:
Γ ⊢ Δ
这里,Γ(大写希腊字母Gamma)和Δ(大写希腊字母Delta)是有限的公式序列(在大多数现代表述中,被视为多重集或集合)。这个符号⊢可以读作“推出”。相继式Γ ⊢ Δ的直观含义是:如果Γ中的所有假设都成立,那么Δ中至少有一个结论会成立。
请注意,这里的“或”是包容性的。Δ可以包含多个公式,这反映了逻辑中的“析取”(或)关系。特别地,当Δ为空时,相继式Γ ⊢通常被解释为“从Γ可以推出矛盾”。当Γ为空时,相继式⊢ Δ意味着Δ中的某个结论在任何情况下都成立(即,它是一个逻辑真理)。 -
推理规则的结构
Gentzen 系统的力量在于它的“推理规则”。每条规则都有一个或多个“前提”(位于横线上方)和一个“结论”(位于横线下方)。规则描述了如何从一个或多个已知的相继式,合法地推导出另一个新的相继式。规则主要分为几类:- 结构规则:处理公式在
Γ和Δ中的位置和数量,例如,允许你交换公式顺序、删除重复公式(收缩)、或增加无关的假设(弱化)。 - 逻辑规则:为每个逻辑连接词(如
∧(与),∨(或),→(蕴含),¬(非))定义其行为。每个连接词通常有两条规则:- 右规则:描述如何在结论部分(
Δ中)引入该连接词。例如,“与”的右规则(∧R)说:如果你能从Γ推出A,并且也能从Γ推出B,那么你就能从Γ推出A ∧ B。 - 左规则:描述如何在假设部分(
Γ中)引入该连接词。例如,“与”的左规则(∧L)说:如果你从假设A, B, Γ能推出Δ,那么你从假设A ∧ B, Γ也能推出Δ。
- 右规则:描述如何在结论部分(
- 结构规则:处理公式在
-
一个简单的证明示例
让我们来证明命题(A ∧ B) → (B ∧ A)(交换律)是一个逻辑真理。这等价于证明相继式⊢ (A ∧ B) → (B ∧ A)。
证明过程是一棵倒置的树,树叶是“公理”(一种最简单的规则,通常是A ⊢ A,表示“若假设A,则结论A”),树根是我们想要的结论。公理: A, B ⊢ A 公理: A, B ⊢ B -------------- (∧R) -------------- (∧R) 公理: A, B ⊢ B A, B ⊢ B ∧ A A, B ⊢ B ∧ A --------------------- (∧L) --------------------- (∧L) A ∧ B ⊢ B A ∧ B ⊢ B ∧ A A ∧ B ⊢ B ∧ A ------------------------------------ (→R) ⊢ (A ∧ B) → (B ∧ A)这个证明树展示了如何从最基本的公理出发,一步步应用左右规则,最终得到目标。
(→R)是蕴含的右规则,它说:如果你从假设Γ, A能推出Δ, B,那么你从Γ就能推出Δ, A→B。在这里,Γ为空,A是(A ∧ B),Δ为空,B是(B ∧ A)。 -
Gentzen 系统的深远影响与“切消除”定理
Gentzen 系统最伟大的成就之一是“ Hauptsatz”(主定理),也称为“切消除定理”。“切”是一条特殊的推理规则,它类似于逻辑中的“三段论”:如果你知道Γ ⊢ A并且A, Δ ⊢ Θ,那么你可以得到Γ, Δ ⊢ Θ。这个规则非常自然,但 Gentzen 证明了,在任何证明中,所有对“切”规则的使用都可以被消除。
这个定理的意义极其深远:- 子公式性质:一个消除了“切”的证明,其中出现的所有公式都是最终结论的“子公式”。这为证明的纯粹性和可验证性提供了保证。
- 一致性证明:可以很容易地证明逻辑系统自身不会产生矛盾(即不会同时证明
⊢ A和⊢ ¬A),因为一个空的相继式⊢(矛盾)无法在没有“切”的系统中被证明。 - 判定性与计算:切消除为许多逻辑系统提供了判定程序(即一个算法,可以判断一个给定的公式是否可证)的基础,这直接建立了逻辑与计算之间的深刻联系。证明的搜索过程本身就可以被视为一种计算。
总结来说,Gentzen 演绎系统不仅仅是一套符号游戏,它为我们提供了一种审视“证明”本身作为数学对象的视角。它将逻辑推理过程本身变得清晰、可计算,是证明论、类型论和计算理论发展的基石。