paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Skipping the binder bureaucracy with mixed embeddings in a semantics course (functional pearl)

在语义课程中用混合嵌入跳过绑定器官僚主义(函数式珍珠)
ICFP 5(ICFP)2021匹配度 2/10 · 该论文聚焦 Coq 中混合嵌入的高阶语法编码与语义教学,属于形式语义和证明工程,未涉及 LLM/Agent、静态分析、浮点程序分析或贝叶斯程序分析。仅与形式化验证/程序语言理论有边缘关联,不匹配当前研究画像的核心问题。引用 8 inbox
Adam Chlipala
crossref: 2026-09-10

AI 速览

一句话:提出混合嵌入的高阶语法编码,在 Coq 语义课程中无需显式变量,消除绑定细节的证明负担。

论文报告在语义课程中引入 Coq 教学实验:传统上严格推理程序需要显式管理变量绑定,带来大量“绑定器官僚主义”开销。作者提出“混合嵌入”编码,它既不是完全显式的 deep embedding,也不是无语法约束的 shallow embedding,而是在高阶语法中省去变量表示。课程以此讲解并发推理的多种传统:模型检测中的偏序归约、程序逻辑中的并发分离逻辑,以及类型检查中的会话类型,全部无需变量侧条件。该函数式珍珠表明,学生可以在避免绑定细节负担的同时接触语义学核心思想。

问题
在程序语义与并发推理的严格形式化中,显式变量绑定及其侧条件造成大量机械性证明负担,尤其不适合语义课程教学。
方法
作者在 Coq 中使用一种称为 mixed embedding 的高阶语法编码,不显式表示变量,介于 deep embedding 与 shallow embedding 之间,并用它组织并发语义案例。
评估
通过语义课程中的教学实验与多个案例(偏序归约、并发分离逻辑、会话类型)展示该方法能无需变量侧条件地表达这些推理;属于功能式珍珠的经验报告,而非受控实证评估。
原文摘要(Abstract)

Rigorous reasoning about programs calls for some amount of bureaucracy in managing details like variable binding, but, in guiding students through big ideas in semantics, we might hope to minimize the overhead. We describe our experiment introducing a range of such ideas, using the Coq proof assistant, without any explicit representation of variables, instead using a higher-order syntax encoding that we dub "mixed embedding": it is neither the fully explicit syntax of deep embeddings nor the syntax-free programming of shallow embeddings. Marquee examples include different takes on concurrency reasoning, including in the traditions of model checking (partial-order reduction), program logics (concurrent separation logic), and type checking (session types) -- all presented without any side conditions on variables.

链接与引用

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

BibTeX
@article{paperbot1108,
  title = {Skipping the binder bureaucracy with mixed embeddings in a semantics course (functional pearl)},
  author = {Adam Chlipala},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {ICFP},
  year = {2021},
  doi = {10.1145/3473599}
}