证明论学习笔记1:预备知识

目录:类型论驿站写作计划

下一篇:证明论学习笔记2:希尔伯特系统


证明论大致可以分为结构证明论(structural proof theory)诠释证明论(interpretational proof theory)

其中结构证明论基于形式证明结构的组合分析,核心方法是切消除(cut elimination)正规化(normalization)

而诠释证明论则经常将一个形式理论的句法翻译成另一个形式理论,例如从经典逻辑到最小逻辑的哥德尔-根岑嵌入(Gödel-Gentzen embedding)


什么是一阶谓词逻辑(first-order predicate logic)?


一阶谓词逻辑可以用来推理具体事物、事物之间的关系及其它们之间的逻辑关系。一阶逻辑有多种具体的形式表述。我们采用的版本是:

取下列初始逻辑算子(primitive logical operators):

  • 二元: \wedge,\vee,\to (此三者参数均为命题)
  • 零元: \bot

取下列量词(quantifiers),用来约束(bind)命题中的变量:

  • 全称量词: \forall
  • 存在量词: \exists

又取可数无限个变量(variables)n关系(n-place relations),以及 n函数(n-ary functions)。零元关系被称为命题变量,零元函数被称为常量。原子式(atomic formulas)形如 Rt_1,\dots,t_n。原子式加上 \bot 被称为初始式(prime formulas)。

另外, A\to \bot 缩写为 \neg A\bot\to\bot 缩写为 \top


替换、约束和自由变量


一个逻辑式中受到量词约束的变量被称为约束变量(bound variables),不受量词约束的变量被称为自由变量(free variables)。我们用 FV(t) 来表示项 t 中自由变量的集合。


用项 t替换(substitute ... for ...)表达式 \mathcal{E} 中的变量 x ,标记为 \mathcal{E}[x:=t]\mathcal{E}(x/t) 。用等量的项来替换等量的变量,可以使用向量标记法 \mathcal{E}[\vec{x}:=\vec{t}]


子逻辑式(subformulas)


根岑子逻辑式(Gentzen -):

  • AA 的子逻辑式。
  • 如果 B\vee C, B\wedge CB\to CA 的子逻辑式,那么 BC 也是 A 的子逻辑式。
  • 如果 \forall x.B\exists x. BA 的子逻辑式,那么 B[x:=t] 也是 A 的子逻辑式。其中 t 是所有不包含 x 的项。


直白子逻辑式(literal -):

  • AA 的子逻辑式。
  • 如果 B\vee C, B\wedge CB\to CA 的子逻辑式,那么 BC 也是 A 的子逻辑式。
  • 如果 \forall x.B\exists x. BA 的子逻辑式,那么 B 也是 A 的子逻辑式


如不含修饰语,我们所指的子逻辑式一般为根岑子逻辑式


正、负、严格正子逻辑式:

  • AA正(positive)严格正(strictly positive)子逻辑式。
  • 如果 B\wedge CB\vee CA 的正[负,严格正]子逻辑式,那么 BC 也是相应类别的子逻辑式。
  • 如果 \forall x.B\exists x. BA 的正[负,严格正]子逻辑式,那么 B[x:=t] 也是 A 的相应类别的子逻辑式。其中 t 是所有不包含 x 的项。
  • 如果 B\to CA 的正[负]子逻辑式,那么 B 则是 A 的负[正]子逻辑式, CA 的正[负]子逻辑式。
  • 如果 B\to CA 的严格正子逻辑式,那么 C 也是 A 的严格正子逻辑式。
  • 严格正子逻辑式又被称为严格正部分(strictly positive part, s.p.p.)。
  • A 的子逻辑式的集合为所有正子逻辑式和所有负子逻辑式的并集。


语境(contexts):

我们归纳地定义正负语境(positive context, negative context, strictly positive context) \mathcal{P,N}\mathcal{SP} 如下,其中 * 代表一个命题空位(proposition placeholder):

  1. *\in P
  2. 如果 B^+\in \mathcal{P}, B^{-}\in \mathcal{N} ,且 A 为任意逻辑式,那么 A\wedge B^+, B^+\wedge A, A\vee B^+, B^+\vee AA\to B^+, B^-\to A, \forall x .B^+,\exists x.B^+ 都属于 \mathcal{P}
  3. 如果 B^+\in \mathcal{P}, B^{-}\in \mathcal{N} ,且 A 为任意逻辑式,那么 A\wedge B^-, B^-\wedge A, A\vee B^-, B^-\vee AA\to B^-, B^+\to A, \forall x .B^-,\exists x.B^- 都属于 \mathcal{N}
  4. *\in \mathcal{SP}
  5. 如果 B\in \mathcal{SP} ,那么 A\wedge B,B\wedge A, A\vee B, B\vee AA\to B,\forall x.B, \exists x.B 都属于 \mathcal{SP}


有限多重集(finite multisets)

多重集中的元素可以重复出现。如果逻辑式 A 可以从假设的有限多重集 \Gamma 中推导出来,我们记作 \Gamma \vdash A ,等同于 \vdash \Gamma\Rightarrow A


三大证明体系

  • 希尔伯特系统
  • 自然演绎(最为常用的版本也是由根岑发明的)
  • 相继式演算(又称根岑系统


参考文献:

Basic proof theory

Handbook of Logic in Computer Science


目录:类型论驿站写作计划

下一篇:证明论学习笔记2:希尔伯特系统

编辑于 2018-03-25 14:19