paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Equations reloaded: high-level dependently-typed functional programming and proving in Coq

Equations 重装上阵:在 Coq 中进行高层依赖类型函数式编程与证明
ICFP 3(ICFP)2019匹配度 2/10 · 论文属于Coq定理证明与依赖类型编程工具,未涉及LLM/Agent、ML/Agent程序的静态分析,也未涉及浮点程序分析或贝叶斯程序分析,与研究方向的核心交叉点距离较远;仅作为形式化验证基础设施与AI→PL有非常间接的联系。引用 46 inbox
Matthieu Sozeau, Cyprien Mangin
crossref: 2026-09-10

AI 速览

一句话:提出 Coq 插件 Equations 的新设计与实现,支持依赖模式匹配和良基递归并自动导出高层证明原则。

本文关注在 Coq 中定义依赖类型程序时,依赖模式匹配与结构/良基递归的书写及相应证明原则的自动导出问题。作者提出 Equations 插件的新式通用设计与实现,将其作为 Coq 内核的定义式扩展,提供鲁棒且表达力强的函数定义包;系统核心是基于构造子 no-confusion 性质的新颖依赖等式化简器。该工作使用户能抽象掉函数实现及其编译形式,直接获得用于推理的高层证明原则,从而提升依赖类型函数式编程与证明的抽象层次。

问题
在 Coq 中如何以高层、鲁棒的方式定义依赖模式匹配与结构或良基递归程序,并自动导出便于证明其性质的高层证明原则。
方法
设计并实现 Equations 插件,作为 Coq 内核的定义式扩展;其核心是处理构造子 no-confusion 性质的新依赖等式化简器。
评估
以 Coq 插件形式实现并作为内核的定义式扩展,通过支持依赖模式匹配、递归及证明原则导出展示其鲁棒性与表达力;摘要未报告定量基准评估。
原文摘要(Abstract)

Equations is a plugin for the Coq proof assistant which provides a notation for defining programs by dependent pattern-matching and structural or well-founded recursion. It additionally derives useful high-level proof principles for demonstrating properties about them, abstracting away from the implementation details of the function and its compiled form. We present a general design and implementation that provides a robust and expressive function definition package as a definitional extension to the Coq kernel. At the core of the system is a new simplifier for dependent equalities based on an original handling of the no-confusion property of constructors.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot609,
  title = {Equations reloaded: high-level dependently-typed functional programming and proving in Coq},
  author = {Matthieu Sozeau and Cyprien Mangin},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {ICFP},
  year = {2019},
  doi = {10.1145/3341690}
}