Skip to main content
QUICK REVIEW

[论文解读] Flexible Coinduction in Agda

Luca Ciccone, Dagnino, Francesco|arXiv (Cornell University)|Feb 14, 2020
Logic, programming, and type systems参考文献 7被引用 2
一句话总结

本文提出了一种在 Agda 中实现广义推理系统与协则(corules)的系统化方法,支持对逃逸标准归纳与协归纳的共归纳谓词进行形式化验证。该方法引入两级类型系统——结合归纳与协归纳记录以及一个参数化的 Step 类型——并证明了有界协归纳原理以确保正确性,通过时间逻辑算子(如 'eventually' 和 'infinitely often')展示了该方法的适用性。

ABSTRACT

Many properties of communication protocols stem from the combination of safety and liveness properties. Characterizing such combined properties by means of a single inference system is difficult because of the fundamentally different techniques (coinduction and induction, respectively) usually involved in defining and proving them. In this paper we show that Generalized Inference Systems allow for simple and insightful characterizations of (at least some of) these combined inductive/coinductive properties for dependent session types. In particular, we illustrate the role of corules in characterizing weak termination (the property of protocols that can always eventually terminate), fair compliance (the property of interactions that can always be extended to reach client satisfaction) and also fair subtyping, a liveness-preserving refinement relation for session types.

研究动机与目标

  • 为解决标准归纳与协归纳在处理由广义推理系统与协则定义的谓词时的局限性。
  • 开发一种基于 Agda 的系统化方法,用于编码此类系统并证明其正确性。
  • 通过时间逻辑算子的案例展示该方法在并发系统中真实验证任务中的适用性。
  • 提供可重用的指南,用于在 Agda 中实现复杂的共归纳谓词,特别是涉及无限结构与复杂推理的情形。

提出的方法

  • 定义一个协归纳记录,用于表示带协则的推理系统的预期语义(Gen(I, Ico))。
  • 使用归纳类型表示扩展系统(I ∪ Ico)的归纳语义(Ind(I ∪ Ico))。
  • 引入一个非递归的参数化类型 'Step',以表达相对于给定规范的规则应用,支持一致性检查。
  • 利用 'Step' 类型证明有界协归纳原理,以确保推理系统的完备性。
  • 利用 Agda 的类型系统特性,如 with-clauses 和不可能情况处理,来管理对 colists 的模式匹配与等式推理。
  • 将该框架应用于形式化时间算子(如 'eventually'、'always' 和 'infinitely often')作为案例研究。

实验结果

研究问题

  • RQ1当标准协归纳失效时,如何在 Agda 中形式化编码广义推理系统与协则?
  • RQ2是否存在一种系统化的方法,用于定义并验证需要无限深度推理的共归纳谓词的正确性?
  • RQ3如何在 Agda 中形式化并证明有界协归纳原理,以确保此类系统的完备性?
  • RQ4该方法在多参数谓词与复杂数据结构(如 colists)上的可扩展性如何?
  • RQ5该框架能否有效建模并验证时间逻辑算子?

主要发现

  • 所提出的方法成功编码了 'maxElem' 和 'infinitely often' 等谓词,这些谓词无法被标准归纳或协归纳语义捕获。
  • 使用参数化 'Step' 类型可精确控制规则应用,并支持有界协归纳原理的形式化。
  • 有界协归纳原理在 Agda 内部通过 'Step' 类型得到证明,提供了一种验证完备性的标准技术。
  • 对 colists 进行模式匹配时,需仔细处理 thunk 和不可能情况,该问题通过 with-clauses 和辅助等式证明得以解决。
  • 该框架可扩展至多参数谓词,但随着 colists 中存在量词变量数量的增加,复杂度也随之上升。
  • 该方法表明 Agda 能够忠实表达手工编写的推理系统方案,从而支持对复杂共归纳性质进行机器可检查的证明。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。