定理证明器Isabelle学习笔记
基础介绍
Isabelle是一个实现逻辑形式化的通用系统,Isabelle/HOL是应用于HOL的规格化系统。
HOL=函数编程+逻辑
Isabelle使用的关键就是创建理论(theory),而theory就是具有类型(type),函数(function),定理(theorem)等要素的命名集。
理论T的一般格式如下:
Theory T
imports B1,B2...Bn
begin
声明,定义,证明
end
Bn是T依赖的理论
每个理论必须放在一个文件名为T.thy的文件中。
HOL中包含一个名为Main的理论,包含了基本预定义理论如算数运算、表、集合等理论
类型、项、公式
- 基本类型为bool,nat
- 类型构造函数,如表类型list,集合类型set
类型构造函数,如表类型list,集合类型set。类型构造函数采用后缀方式书写
如:(nat)list,单参数时可以不用括号,多参数时用逗号隔开,如:(nat,bool)list - 函数类型用=>表示
t1=>t2=>3表示t1=>(t2=>t3)
t1=>…=>tn=>t可以简写为[t1…tn]=>t
类型变量用’a,'b等表示。 - A—>B—>C意为A—>(B—>C),逻辑上等价与(A∧B)—>C
- 示意变元?X表示X可以被任意实例替换