分级霍尔逻辑及其范畴语义学
1. 引言
演绎验证技术是强大的程序推理方法,近年来,人们通过在程序逻辑规则中添加额外信息来处理程序副作用,以增强这些逻辑的表达能力。例如,在一般程序逻辑中加入成本分析,在概率计算逻辑中加入估计度量,在差分隐私逻辑中加入不可区分性界限。本文提出了分级霍尔逻辑(Graded Hoare Logic,GHL),这是一个可参数化的框架,用于通过预序幺半分析来增强程序逻辑。同时,还开发了一个语义框架,将分级、逻辑断言(前置和后置条件)以及命令式语言的副作用语义集成在一起。
分级是一种新兴的方法,用于为语言语义和类型系统添加细粒度信息。例如,分级单子为将副作用嵌入纯语言提供了机制,线性类型系统中的分级余单子类型运算符可以捕获非线性数据流和数据使用属性。到目前为止,分级主要用于推理函数式语言和演算,本文则将分级范式应用于命令式语言。
一些现有的工作已经在霍尔逻辑中融入了类似分级的分析。例如,早期的工作对程序逻辑进行计算时间分析,积累成本度量;Barthe等人的联合边界逻辑(Union Bound Logic)用于推理概率计算;近似关系霍尔逻辑(Approximate Relational Hoare Logic)用于推理差分隐私。
2. GHL概述及其模型展望
以联合边界逻辑中的一个例子开始:
⊢0.05 {⊤} do v1 ←Gauss(0, 1); do v2 ←Gauss(0, 1); v := max(v1, v2) {v ≤2}
这个判断有几个重要组成部分:
- 具有副作用的过
超级会员免费看
订阅专栏 解锁全文
6万+

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



