360 likes | 793 Views
全国离散数学第 14 届研讨会. 命题演算形式系统在 Isabelle/HOL 中的形式化. 定理证明工具 Isabelle 命题演算形式系统 PC 完备性定理的证明 命题演算形式系统 ND 总结. 主要内容. 定理证明工具 Isabelle 命题演算形式系统 PC 完备性定理的证明 命题演算形式系统 ND 总结. 主要内容. 交互式定理证明工具 主要功能:描述和验证 主要应用领域:数学定理证明和形式化验证 特点 很强的灵活性 丰富的符号表达能力 Isar 结构化的证明风格 自动产生排版好的文档. 定理证明工具 Isabelle.
E N D
全国离散数学第14届研讨会 命题演算形式系统在Isabelle/HOL中的形式化
定理证明工具Isabelle • 命题演算形式系统PC • 完备性定理的证明 • 命题演算形式系统ND • 总结 主要内容
定理证明工具Isabelle • 命题演算形式系统PC • 完备性定理的证明 • 命题演算形式系统ND • 总结 主要内容
交互式定理证明工具 • 主要功能:描述和验证 • 主要应用领域:数学定理证明和形式化验证 • 特点 • 很强的灵活性 • 丰富的符号表达能力 • Isar结构化的证明风格 • 自动产生排版好的文档 定理证明工具Isabelle
定理证明工具Isabelle • 命题演算形式系统PC • 完备性定理的证明 • 命题演算形式系统ND • 总结 主要内容
基本构成 • PC的语言部分 • PC的理论部分 • 系统内的推理 • 命题公式的真值 • 证明和演绎 命题演算形式系统PC
基本构成 • PC的语言部分 • PC的理论部分 • 系统内的推理 • 命题公式的真值 • 证明和演绎 命题演算形式系统PC
PC的语言部分 • 采用归纳定义 • 引入了三个构造子 • Atom :原子公式 • Neg • Imply 用两个联结词构成的PC中的公式 基本构成
types atom = nat datatype exp = Atom atom | Neg exp (!- [200] 200) | Imply exp exp (infixr → 181) 使用了类型同义,原子公式的下标类型为自然数 优先级 →满足右结合 PC中公式的形式化定义
PC的理论部分 PC的公理系统包括三个公理模式,在Isabelle/HOL中可采用归纳定义的公式集合来刻画。 consts axm :: exp set inductive axm intros a1: A → B → Aaxm a2: (A → B → C) → (A → B) → A → Caxm a3: (!A → !B) → B→ A axm 基本构成
基本构成 • PC的语言部分 • PC的理论部分 • 系统内的推理 • 命题公式的真值 • 证明和演绎 命题演算形式系统PC
命题公式的真值 • 定义2.1 如果公式A含有命题变元p1, p2, p3, … , pn,记为A(p1, p2, p3, … , pn)。对任意给定的p1, p2, p3, … , pn的一种取值状况,称为指派(assignment),A均有一个确定的真值。当A在指派下取值真时,称弄真A;反之称弄假A。 系统内的推理
在Isabelle/HOL中,指派用函数env来表示,公式的真值由函数trvalue给出,它返回True或False。下面给出PC中公式真值的定义,定义采用原始递归。在Isabelle/HOL中,指派用函数env来表示,公式的真值由函数trvalue给出,它返回True或False。下面给出PC中公式真值的定义,定义采用原始递归。 conststrvalue :: exp (natbool) bool primrec trvalue (Atom n) env = env n trvalue (! A) env = (¬ trvalue A env) trvalue (A→ B) env = (¬ trvalue A env trvalue B env) 系统内的推理
定义2.2 公式A称为永真式或重言式(tautologies),如果对任意指派,均弄真A。形式化表示为:env. trvalue A env = True。公式A称为可满足的(satisfactable),如果存在指派使A在下取值真。可形式化表示为:env. trvalue A env = True。否则称A为不可满足的(unsatisfactable),或永假式。 系统内的推理
定义2.3 称公式A逻辑蕴含(logic imply)公式B,记为AB,如果所有弄真A的指派亦必弄真公式B。即:env. trvalue A env = True →trvalue B env = True; • 类似的,公式集逻辑蕴含公式B可如下表示: • env. ( A. A→trvalue A env = True) →trvalue B env = True。 系统内的推理
证明和演绎 在Isabelle/HOL中演绎的形式定义如下: consts pc :: exp set exp set ---演绎是一个从公式集合到公式集合的函数 syntaxpc-derivable :: exp set expbool (infix ├pc51) ---判断给定公式是否是前提公式集合的演绎结果,符号├pc是为了和通常的数理逻辑教科书中的定义统一 translations ├pcAApc() inductivepc() intros ax: A├pcA mp: [├pcA; ├pcA→B] ├pcB
有了上面的形式化定义,不难表示公式A为PC中的定理,即:axm ├pcA。若公式A为前提的演绎结果可表示为:axm∪├pcA。 • 至此已经建立了命题演算形式系统PC的形式化定义,基于该定义作者分析验证与PC有关的性质和定理。
性质2.1 PC是单调的。即g1g2 pc g1pc g2,亦可表达为 g1g2pc (axm∪g1) pc (axm∪g2)。这由pc的归纳定义不难证得。 • 定理2.1(演绎定理)形式化表示为:axm∪∪{A}├pcB = axm∪├pcA→B。 必要性的证明采用了pc上的归纳法;充分性的证明使用分离规则将原目标分解为两个子目标。两个方向上的证明均使用了pc的定义及前面已证得的PC的单调性。
性质2.2 A axm → trvalue A env = True 即公理都是永真的。 • 定理2.2 (PC是合理的)axm∪├pcA env. ( B. B→trvalue B env = True) →trvalue A env = True • 定理2.3 (PC是一致的)¬ (A. axm ├pcA∧axm ├pc!A) • 定理2.4 (PC 不是完全的)A. Apc axm∧!Apc axm
定理证明工具Isabelle • 命题演算形式系统PC • 完备性定理的证明 • 命题演算形式系统ND • 总结 主要内容
关于形式系统完备性的讨论是十分重要的,对命题演算形式系统PC完备性证明的形式化也是十分必要和困难的。关于形式系统完备性的讨论是十分重要的,对命题演算形式系统PC完备性证明的形式化也是十分必要和困难的。 • 采取的技术路线是:先用哥德尔编码完成了用自然数对PC中的公式编码,同时给出了解码方案并形式验证了编码的正确性。 • 将文献[5]中完备性证明中对=的特殊情况的讨论扩展到的一般的情形下,定理仍然成立。 完备性定理的证明
=的特殊情况:env. trvalue A env = True axm ├pcA • 的一般情况:env. ( B. B→trvalue B env = True) →trvalue A env = True axm∪├pcA 完备性定理的证明
定理证明工具Isabelle • 命题演算形式系统PC • 完备性定理的证明 • 命题演算形式系统ND • 总结 主要内容
为叙述方便起见,在Isabelle/HOL中形式化ND系统时仍采用完备的联结词组→和¬,这并不影响讨论ND系统的推理和性质,只是在推理规则中略去了与联结词、和相关的六条推理规则,保留了剩下的八条。为叙述方便起见,在Isabelle/HOL中形式化ND系统时仍采用完备的联结词组→和¬,这并不影响讨论ND系统的推理和性质,只是在推理规则中略去了与联结词、和相关的六条推理规则,保留了剩下的八条。 命题演算形式系统ND
constsnd:: ((exp set) exp) set inductive nd intros nd-axm: B (, B) nd hypI: [(, B) nd] (∪{A}, B) nd hypE: [(∪{A}, B) nd; (∪{!A}, B) nd] (, B) nd impI: [(∪{A}, B) nd] (, A→B) nd impE: [(, A) nd; (, A→B) nd] (, B) nd negI: [(∪{A}, B) nd; (∪{A}, !B) nd] (, B) nd negE: [(, A) nd; (, !A) nd;] (, B) nd dngI: [(, A) nd] (, ! !A) nd dngE: [(, ! !A) nd] (, A) nd ND的形式化定义
不难证明ND也是合理和完备的,分别形式化表示为如下两个定理:不难证明ND也是合理和完备的,分别形式化表示为如下两个定理: • 定理4.1 ├ndA env. ( B. B→trvalue B env = True) → trvalue A env = True • 定理4.2 env. ( B. B→trvalue B env = True) → trvalue A env = True ├ndA
本文针对命题演算形式系统,在机器辅助定理证明系统Isabelle/HOL中为其建立逻辑模型并对其正确性进行了形式验证。具体有以下几个方面:本文针对命题演算形式系统,在机器辅助定理证明系统Isabelle/HOL中为其建立逻辑模型并对其正确性进行了形式验证。具体有以下几个方面: • 给出了PC的形式化定义,并形式验证了一些重要的性质和定理及PC的合理性、完备性。 • 证明了命题演算形式系统ND的正确性。提出了ND的形式化定义,并形式验证了ND的合理性和完备性。 总结
表1 命题演算形式系统形式化证明的工作量统计
通过文中对命题演算两个形式系统PC和ND的分析和验证,表明采用机器辅助定理证明系统,对以数理逻辑为平台的各种形式系统进行严格的分析和证明是可行的。通过文中对命题演算两个形式系统PC和ND的分析和验证,表明采用机器辅助定理证明系统,对以数理逻辑为平台的各种形式系统进行严格的分析和证明是可行的。 总结