paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Abstract Operational Methods for Call-by-Push-Value

Call-by-Push-Value 的抽象操作语义方法
POPL 9(POPL)2025匹配度 2/10 · 该论文属于纯 PL 形式语义与程序等价理论,基于预层范畴和高阶抽象 GSOS 研究 CBPV,与用户关注的 LLM/Agent 静态分析、浮点程序分析、贝叶斯程序分析以及 AI↔PL 交叉均无直接关联;仅在宽泛的程序语言理论基础上有微弱联系。引用 3 inbox
Sergey Goncharov, Stelios Tsampas, Henning Urbat
crossref: 2026-09-10

AI 速览

一句话:基于预层范畴与高阶抽象 GSOS,为 CBPV 和细粒度 CBV 建立模块化的程序等价推理方法。

Levy 的 call-by-push-value(CBPV)统一函数式与命令式编程,支持计算效应并涵盖 call-by-value 与 call-by-name;细粒度 call-by-value(FGCBV)是其轻量按值子语言。本文关注二者程序等价推理难以模块化扩展的问题。作者以排序集合的预层范畴作为建模 CBPV/FGCBV 的语义宇宙,在该框架内发展自然、余代数式的程序等价概念,如 applicative similarity 与逻辑关系。进一步将 FGCBV 和 CBPV 形式化到高阶抽象 GSOS(HOAS GSOS)中,利用已有理论把关键的合同性(congruence)性质归约为简单语法条件,并论证语言修改只需极小证明开销。结果为效应语言的等价推理提供可组合、可扩展的抽象操作语义方法。

问题
如何模块化地推理 call-by-push-value 及细粒度 call-by-value 中的程序等价,并在语言扩展时控制证明开销。
方法
以排序集合的预层范畴为语义基础,用高阶抽象 GSOS 形式化两种语言,并将 applicative similarity、逻辑关系等余代数式等价概念纳入统一框架。
评估
论文以形式化推导与理论论证为评估,说明合同性等关键性质可归约到简单语法条件,且语言修改的证明开销极小;摘要未报告实现或实验评估。
原文摘要(Abstract)

Levy’s call-by-push-value is a comprehensive programming paradigm that combines elements from functional and imperative programming, supports computational effects and subsumes both call-by-value and call-byname evaluation strategies. In the present work, we develop modular methods to reason about program equivalence in call-by-push-value, and in fine-grain call-by-value, which is a popular lightweight call-by-value sublanguage of the former. Our approach is based on the fundamental observation that presheaf categories of sorted sets are suitable universes to model call-by-(push)-value languages, and that natural, coalgebraic notions of program equivalence such as applicative similarity and logical relations can be developed within. Starting from this observation, we formalize fine-grain call-by-value and call-by-push-value in the higher-order abstract GSOS framework, reduce their key congruence properties to simple syntactic conditions by leveraging existing theory and argue that introducing changes to either language incurs minimal proof overhead.

链接与引用

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

BibTeX
@article{paperbot3225,
  title = {Abstract Operational Methods for Call-by-Push-Value},
  author = {Sergey Goncharov and Stelios Tsampas and Henning Urbat},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {POPL},
  year = {2025},
  doi = {10.1145/3704871}
}