统一理论与递归语义:从Isabelle/HOL到正确性证明
1. Isabelle/Circus证明环境概述
Isabelle/Circus证明环境是一种浅嵌入到Isabelle/HOL中的工具,旨在为与Circus相关的统一理论编程(UTP)理论以及Circus本身提供有效的演绎支持。目前,虽然UTP的基础工作已经完成,大多数教科书证明也已形式化,但距离实现为Circus的验证和测试生成提供高效演绎支持的最终目标,自动化证明支持仍显不足。
选择Isabelle作为基础,是因为它拥有丰富的演绎工具,以及高阶逻辑(HOL)强大的绑定机制和类型推理系统,这些都可以被复用。此外,计划使用基于Isabelle/HOL开发的HOL - TestGen系统,从Circus规范中开发有依据的测试生成策略,其形式基础与Cavalcanti和Gaudel为CSP提出的类似。
在理论开发过程中,使用HOL可扩展记录来表示字母化谓词非常方便,允许进行增量编码,且与原始UTP定义非常接近。其显著优势在于,在“字母化谓词”的关键形式化中不编码字母表,经过预处理后,所有操作都在具有类型的语义表示中进行。具体表现为:
- P不是布尔类型(“谓词”),而是α => bool形式,等价于α集合。
- 对于α,利用可扩展记录的字段对应字母表元素这一事实。
- 函数α P成为ML中的元函数。
不过,目前需要手动添加一些强制类型转换,未来可能通过使用CZT - Parser的前端自动生成,就像HOL - Z中的“编码器”那样。从之前的实验来看,这种方法有望实现支持Circus规范证明所需的演绎效率,以便对其应用经过验证的转换,辅助细化和测试生成。
超级会员免费看
订阅专栏 解锁全文
15

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



