分离逻辑与移动环境可达性研究
分离逻辑相关研究
分离逻辑在程序验证领域有着重要的应用,其与 BI 超教义之间存在着紧密的联系。这种联系表明,分离逻辑的解释关键在于 BI 代数的选择。
-
分离逻辑的形式化
- 过往应用 :分离逻辑在早期就展现出了处理简单程序(如复制树、删除列表等)的能力。后来,更现实的程序验证也相继出现,如 Schorr - Waite 图标记算法和 Cheney 的垃圾回收算法的正确性证明。然而,在这些证明中,往往需要对核心分离逻辑进行不同的简单扩展,这似乎成为了分离逻辑的一个弱点。
- 正确看待扩展 :实际上,这些“扩展”可以看作是经典 BI 超教义 S 的内部逻辑的平凡定义扩展。BI 超教义 P 在范畴 C 上的内部语言的形成方式为:为 C 的每个对象关联一个类型,为 C 的每个态射关联一个函数符号,为 P(X) 中的每个谓词关联一个关系符号。基于这个签名的项和公式构成了 BI 超教义的内部语言。
- 纯谓词的定义 :设 φ 是集合 X 上的 S - 谓词,即函数 φ : X → P(H)。若 φ 可通过规范映射 ι : 2 → P(H) 分解,则称 φ 为纯谓词。纯谓词的子逻辑是标准的经典高阶逻辑,因此可以使用经典高阶逻辑来定义列表、树、有限集和关系,并证明这些结构的标准性质。对于机器验证,只需要形式化 BI 超教义内部逻辑的一个足够的片段即可。
-