函数式程序的验证转换框架及闭包转换
在函数式编程的世界里,程序转换和验证是确保代码正确性和性能的关键环节。本文将介绍一个用于函数式程序验证转换的框架,以及其中重要的闭包转换技术。
1. 框架概述
该框架主要由两部分组成:HOHH逻辑和λProlog用于编写规范,逻辑G和Abella系统用于推理。
1.1 规范逻辑与λProlog
HOHH逻辑是Church简单类型理论的直觉主义和谓词片段。它的类型通过函数类型构造器 → 在用户定义的原始类型和特殊类型 o (用于公式)上形成。表达式由用户定义的类型常量和逻辑常量组成。
HOHH逻辑围绕目标公式( G )和程序子句( D )展开,其语法规则如下:
G ::= A | G & G | D ⇒ G | Πτx G
D ::= A | G ⇒ A | Πτx D
其中, A 表示原子公式,形式为 (p t1 ... tn) , p 是用户定义的谓词常量。目标公式的后两种类型分别称为假设目标和全称目标。
程序子句的集合构成一个程序,程序和签名表示所有可从它们推导出的目标公式的规范。目标公式 G 的可推导性通过判断 Σ; Θ; Γ ⊢ G 来表示,其中 Σ
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



