目录:类型论驿站写作计划
上一篇:证明论学习笔记3:自然演绎
下一篇:证明论学习笔记5:赋值系统
在讨论直觉主义逻辑之前,我们先看一下用相继式演算(sequent calculus)表示的经典逻辑的自然演绎规则:
相继式式的经典逻辑( )自然演绎规则
- 合取引入:
- 合取消除:
- 析取引入:
- 析取消除:
- 箭头引入:
- 箭头消除:
- 否定引入:
- 否定消除:
- 谬误没有引入规则
- 谬误消除:
- 全称引入:
- 全称消除:
- 存在引入:
- 存在消除:
- 双重否定:
在全称引入中, 不能在 或 中自由出现;在存在消除中, 不能在 , 或者 中自由出现。
除了“双重否定”之外,其余的规则要么是引入规则,要么是消除规则,具有很好的对称性。将“双重否定”这一规则删去,我们就得到了直觉主义逻辑 .
但值得注意的是,直觉主义逻辑否定的只是经典逻辑中 的一个方向。由于证明必须具有构造性,我们无法证明 ,但是却可以证明 。先对 和 应用否定消除,得到 ,再应用否定引入规则,得到 ,而 恰恰是 的一未归约式。
从实际证明的角度来讲,有些自然演绎规则是很有用的,例如合取引入规则 。如果我们要找到 的证明,只需要分别找到 和 的证明就好了。但是,有些规则对于寻找证明来说帮助不大,例如合取消除规则。如果要证明“张三是老师”,沿着合取消除规则,我们可以证明“张三和李四是老师”。但“张三和李四是老师”的证明其实比“张三是老师”的证明更难。此外,我们也无法运用否定消除规则来证明 。
为此,根岑提出了一种新的子逻辑式概念(参见:证明论学习笔记1:预备知识):
根岑子逻辑式(Gentzen subformula):
- 是所有逻辑式的子逻辑式
- 是 和 的子逻辑式
- 和 是 和 的子逻辑式
- 如果 或 是 的子逻辑式,那么 也是 的子逻辑式。其中 是所有不包含 的项。
定义(子逻辑式特性,subformula property):
证明法则 拥有子逻辑式特性,如果 中的每一个逻辑式都是 中一个逻辑式的子逻辑式。
子逻辑式特性可以用来逆推证明。自然演绎规则里的引入规则都具备子逻辑式特性。但它的消去规则都不具备子逻辑式特性。为了确保子逻辑式特性,我们可以将消去规则删除,增加新的一组引入规则,即在语境中引入逻辑运算符的规则,我们称之为“左引入规则”,与之前介绍的引入规则(“右引入规则”)相对应。
简而言之,如果引入的运算符出现在 左侧,则为左引入规则,如果引入的运算符出现在 右侧,则为右引入规则。根岑的 规则罗列如下:
结构规则(structural rules):
- (包含)
- (切)
- (右单调)
- (左单调)
逻辑规则(logical rules):
- 右合取:
- 左合取:
- 右析取:
- 左析取:
- 右箭头:
- 左箭头:
- 右否定:
- 左否定:
- 右全称:
- 左全称:
- 右存在:
- 左存在:
除了“切”之外,上述规则均满足子逻辑式特性。根岑于是又提出了著名的“切消定理”,即所有用到切的证明均可用没有用到切的证明来代替。
目录:类型论驿站写作计划
上一篇:证明论学习笔记3:自然演绎
下一篇:证明论学习笔记5:赋值系统
参考文献:
Handbook of Logic in Computer Science
来源:知乎 www.zhihu.com
作者:Arjuna
【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。
点击下载