paperbot · PL 论文追踪

全部论文 待读 收藏

P2 McTT: A Verified Kernel for a Proof Assistant

McTT:一个经过验证的证明助手内核
ICFP 9(ICFP)2025匹配度 3/10 · 论文提出并验证了一个 Martin-Löf 类型论内核,属于证明助手与形式化验证领域,但与用户核心关注的 LLM/Agent 同程序分析/形式化验证的交叉、浮点程序分析、贝叶斯程序分析均无直接关联。虽然涉及形式化验证,但未使用 LLM/Agent,也未涉及程序分析或浮点/贝叶斯分析,因此匹配度较低。引用 1 inbox
Junyoung Jang, Antoine Gaulin, Jason Z. S. Hu, Brigitte Pientka
crossref: 2026-09-10

AI 速览

一句话:提出并实现 McTT,一个在 Rocq 中验证、可提取为 OCaml 的 Martin-Löf 类型论内核。

证明助手及其类型检查内核是复杂软件,可能存在缺陷,因此其可信度至关重要。本文提出 McTT,一个在 Rocq 中构建、面向核心 Martin-Löf 类型论(MLTT)的经过验证的内核基础设施。McTT 包含理论部分和算法部分:前者用无类型域模型规定类型论,并证明规范化、一致性、类型构造子单射性等元定理;后者把声明式类型规则与规范化模型同 Rocq 中的函数式实现关联,并提取 OCaml 代码与前端解析器结合执行。提取代码质量可与熟练程序员所写代码相当,已成功对一系列小规模例子做类型检查。该内核支持完整累积宇宙层级,除词法分析器和美化打印器外,编译流水线每一步均经验证,亦可作为探索高级类型论元理论和内核优化的框架。

问题
证明助手及其类型检查内核软件复杂、易有缺陷,如何信任它们?本文关注为核心 MLTT 构建可信的类型检查内核。
方法
在 Rocq 中形式化 MLTT 的无类型域模型,证明规范化、一致性和类型构造子单射性,并将声明式类型规则与规范化模型同函数式实现关联,再提取 OCaml 代码与解析器结合。
评估
通过提取的 OCaml 内核类型检查一系列小规模例子;除词法分析器和美化打印器外,整条编译流水线均经验证,提取代码质量接近熟练程序员实现。
原文摘要(Abstract)

Proof assistants based on type theories have been widely successful from verifying safety-critical software to establishing a new standard of rigour by formalizing mathematics. But these proof assistants and even their type-checking kernels are also complex pieces of software, and software invariably has bugs, so why should we trust such proof assistants? In this paper, we describe the McTT (Mechanized Type Theory) infrastructure to build a verified implementation of a kernel for a core Martin-Löf type theory (MLTT). McTT is implementation in Rocq and consists of two main components: In the theoretical component, we specify the type theory and prove theorems such as normalization, consistency and injectivity of type constructors of MLTT using an untyped domain model. In the algorithmic component, we relate the declarative specification of typing and the model of normalization in the theoretical component with a functional implementation within Rocq . From this algorithmic component, we extract an OCaml implementation and couple it with a front-end parser for execution. This extracted OCaml code is comparable to what a skilled human programmer would have written and we have successfully used it to type-check a series of small-scale examples. McTT provides a fully verified kernel for a core MLTT with a full cumulative universe hierarchy. Every step in the compilation pipeline is verified except for the lexer and pretty-printer. As a result, McTT serves both as a framework to explore the meta-theory of advanced type theories and to investigate optimizations of and extensions to the type-checking kernel.

链接与引用

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

BibTeX
@article{paperbot3030,
  title = {McTT: A Verified Kernel for a Proof Assistant},
  author = {Junyoung Jang and Antoine Gaulin and Jason Z. S. Hu and Brigitte Pientka},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {ICFP},
  year = {2025},
  doi = {10.1145/3747511}
}