paperbot · PL 论文追踪

全部论文 待读 收藏

P2 A Layered Approach to Intensional Analysis in Type Theory

类型论中内涵分析的分层方法
TOPLAS 46(4)2024匹配度 2/10 · 该论文属于纯类型论/形式语义与元编程基础研究,关注分层模态类型论、内涵分析和归一化证明,与用户画像中 LLM/Agent 驱动的静态分析、形式化验证、浮点程序分析或贝叶斯程序分析等核心方向没有直接交叉。引用 0 inbox
Jason Z. S. Hu, Brigitte Pientka
crossref: 2026-09-10

AI 速览

一句话:提出分层模态类型论,以统一语法分离代码表示与计算,支持元编程和内涵分析。

在证明助手中支持元编程时,代码的语法表示与计算行为常相互纠缠,难以对开放式代码做内涵分析并保持规范化。本文把分层引入模态类型论,给出一个两层系统:第0层是无模态的简单类型λ演算,用于刻画代码的语法表示;第1层加入上下文◻类型,允许对第0层可能开放的代码做模式匹配并保留规范化。两层共享统一语法与类型判断,但仅第1层可计算,因而支持引用和代码运行。作者用预层模型通过正规化求值(NbE)证明系统,从中抽取可靠且完备的规范化算法并在Agda中实现,为证明助手中的元编程与内涵分析提供了统一基础。

问题
如何在类型论中统一支持元编程与内涵分析,使代码的语法表示与计算行为分离,并对可能开放的代码做模式匹配同时保持规范化。
方法
提出两层模态类型论:第0层为无模态简单类型λ演算,第1层加入上下文◻类型;两层共享统一语法与类型判断,但仅第1层计算;用预层模型和NbE给出语义并抽取规范化算法。
评估
在Agda中实现从模型抽取的规范化算法,并证明其相对于预层模型是可靠且完备的。
原文摘要(Abstract)

We introduce layering to modal type theory to support meta-programming and intensional analysis coherently. In particular, we demonstrate this idea by developing a 2-layered modal type theory. At the core of this type theory (layer 0) is a simply typed λ -calculus with no modality. Layer 1 is obtained by extending the core language with one layer of contextual ◻ types to support pattern matching on potentially open code from layer 0 while retaining normalization. Although both layers fundamentally share a uniform syntax and the same typing judgment, we only allow computation at layer 1. As a consequence, layer 0 accurately captures the syntactic representation of code in contrast to the computational behaviors at layer 1. Moreover, the uniform syntax at both layers enables quotation and code running. The system is justified by normalization by evaluation (NbE) using a presheaf model. The normalization algorithm extracted from the model is sound and complete and is implemented in Agda. Layered modal type theory provides a uniform foundation for meta-programming with intensional analysis. We see this work as an important step towards a foundational way to support meta-programming in proof assistants.

链接与引用

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

BibTeX
@article{paperbot2667,
  title = {A Layered Approach to Intensional Analysis in Type Theory},
  author = {Jason Z. S. Hu and Brigitte Pientka},
  journal = {ACM Transactions on Programming Languages and Systems},
  volume = {46},
  number = {4},
  year = {2024},
  doi = {10.1145/3707203}
}