48、ModuRes:用于并发高阶命令式编程语言模块化推理的Coq库

ModuRes:用于并发高阶命令式编程语言模块化推理的Coq库

在编程语言的研究中,为并发高阶命令式编程语言的类型系统或逻辑构建语义模型是一项具有挑战性的任务。其中一个关键挑战在于,这些语义模型常常涉及求解某些递归域方程,而在实际操作中,这对形式化工作构成了障碍。今天我们将介绍ModuRes Coq库,它为解决这类方程提供了便捷的方法,并且可以用于构建编程语言和程序逻辑的模型。

1. 引言

近年来,在高阶、有副作用的编程语言推理技术方面取得了显著进展。然而,许多由此产生的模型和逻辑都回避了形式验证。主要原因似乎是这些理论的复杂性不断增加,以及对复杂数学结构的使用日益增多,这对潜在的形式化工作构成了巨大的障碍。

其中一个难以建模的关键特征是各种形式的循环性。其典型形式源于高阶存储,在那里我们可以存储函数、引用以及一阶数据,但循环性也可能以其他多种方式出现。例如,在并发程序逻辑中常见的共享不变量,只要访问操作能保持不变量,任何计算线程都可以访问它。由于特定不变量所描述的状态可能会引用其他不变量,从而产生循环性。这种循环性与尝试解释高阶引用类型时出现的循环性在本质上非常相似:存储的语义描述必须包含每个位置类型的解释,但类型本身的解释又依赖于存储的描述。

为了说明这个问题,我们来看一个简单类型的λ - 演算扩展了ML风格的高阶引用的例子。尝试以如下(有缺陷)的方式给出其类型的语义解释:

type = world → P(value)
world = loc ⇀fin type.

这里的想法是,世界(world)将每个位置与其语义类型关联起来,而

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值