[论文解读] Foundational Extensible Corecursion
本文提出了一套基础性、可信赖的框架,用于在整体函数式编程中通过共递归至和关系参数性来定义共递归函数。它引入了一个通用的共递归符,通过依赖语义上的良好行为而非句法上的保护机制,安全地允许在良好行为的操作(包括构造器)下进行共递归调用,从而在不引入新公理或扩展逻辑的前提下,实现可扩展、表达力强的共递归定义。
This paper presents a formalized framework for defining corecursive functions safely in a total setting, based on corecursion up-to and relational parametricity. The end product is a general corecursor that allows corecursive (and even recursive) calls under well-behaved operations, including constructors. Corecursive functions that are well behaved can be registered as such, thereby increasing the corecursor's expressiveness. The metatheory is formalized in the Isabelle proof assistant and forms the core of a prototype tool. The corecursor is derived from first principles, without requiring new axioms or extensions of the logic.
研究动机与目标
- 为基于高阶逻辑的证明助手提供一种可信赖、基础性的共递归函数定义方法,避免依赖句法保护机制。
- 在确保生产力和一致性的前提下,支持在良好行为操作(包括构造器)下的共递归定义。
- 形式化一个共递归符,使其能随着新良好行为函数的注册而动态扩展其表达力。
- 在不增加新公理或扩展底层逻辑的前提下实现上述目标,确保一致性和与现有系统的兼容性。
- 弥合语义标准的灵活性与证明助手中基础性定义原则的实用性之间的差距。
提出的方法
- 该框架基于共递归至的思想,从第一原理出发,推导出一个通用的共递归符,其核心在于良好行为的函数能保持共递归结构。
- 它利用关系参数性,确保良好行为的函数不会干扰共递归的生产力。
- 良好行为的函数被注册为良好行为函数,使共递归符能安全地在共递归调用中调用它们。
- 共递归符通过集合范畴上的函子的不动点语义构建,确保其基础性的一致性。
- 整个元理论在 Isabelle/HOL 中形式化,仅使用标准逻辑构造,未引入新公理。
- 该方法支持在良好行为操作下的共递归和递归函数,实现表达力的逐步扩展。
实验结果
研究问题
- RQ1如何在不依赖句法保护机制的前提下,在整体环境中安全地定义共递归函数?
- RQ2何种语义标准可确保在操作下的共递归调用保持生产力和一致性?
- RQ3是否可以通过注册新良好行为函数来使共递归符具有可扩展性,而无需重新证明其一致性?
- RQ4是否可能在保持基础可信赖性的同时,实现超越句法保护机制的表达力?
- RQ5如何将共递归至与关系参数性结合,以支持构造器及其他良好行为操作?
主要发现
- 该框架允许在良好行为操作(包括构造器)下进行共递归定义,而无需句法保护机制或新公理。
- 良好行为函数可被注册,从而逐步扩展共递归符的表达力,支持组合式共递归。
- 共递归符基于不动点构造从第一原理正式推导得出,确保在 Isabelle/HOL 中的基础性一致性。
- 该方法在表达力与简洁性之间达到了“最佳平衡点”:其支持的上下文比句法保护机制更丰富,但避免了大小类型或时钟变量的复杂性。
- 该方法与基于高阶逻辑的现有证明助手向后兼容,可作为 Coq 等系统中类型级别注解的轻量级替代方案。
- 在 Isabelle/HOL 中的形式化表明,共递归符可作为可信且可扩展的机制,用于实现生产力共程序设计。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。