paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Proto-Quipper with Dynamic Lifting

带动态提升的 Proto-Quipper
POPL 7(POPL)2023匹配度 1/10 · 该论文研究量子编程语言 Proto-Quipper 的类型系统与范畴语义,属于 PL/形式语义方向,但不涉及用户核心关注的 LLM/Agent、ML 系统静态分析、浮点程序分析或贝叶斯程序分析。引用 17 inbox
Peng Fu, Kohei Kishida, Neil J. Ross, Peter Selinger
crossref: 2026-09-10

AI 速览

一句话:为 Proto-Quipper-M 增加动态提升,使量子测量结果可影响后续电路生成,并给出类型、操作与范畴语义及可靠性证明。

Proto-Quipper 是 Quipper 的形式化基础,其电路描述语言区分电路生成期与执行期:生成期已知的值是参数,执行期已知的值是状态。本文提出 Proto-Quipper-Dyn,为 Proto-Quipper-M 增加动态提升(dynamic lifting),允许将测量结果等状态提升为参数,从而影响后续电路生成,实现经典计算与量子计算的交错。文章给出该语言的语法、用模态系统跟踪动态提升使用的类型系统、操作语义,以及基于富范畴论的抽象范畴语义,并证明类型系统与操作语义相对于范畴语义是可靠的。最后给出若干必须使用动态提升的示例程序。

问题
如何在保持 Proto-Quipper 形式化基础的同时,为电路描述语言加入 Quipper 中的动态提升,使执行期状态能够影响后续电路生成,并保证类型与语义可靠性。
方法
提出 Proto-Quipper-Dyn,定义其语法和基于模态的类型系统以跟踪动态提升,给出操作语义与基于富范畴论的范畴语义,并证明两者相对范畴语义的可靠性。
评估
通过范畴语义的可靠性证明对类型系统和操作语义进行形式化评估,并给出若干必须使用动态提升的示例程序。
原文摘要(Abstract)

Quipper is a functional programming language for quantum computing. Proto-Quipper is a family of languages aiming to provide a formal foundation for Quipper. In this paper, we extend Proto-Quipper-M with a construct called dynamic lifting , which is present in Quipper. By virtue of being a circuit description language, Proto-Quipper has two separate runtimes: circuit generation time and circuit execution time. Values that are known at circuit generation time are called parameters , and values that are known at circuit execution time are called states . Dynamic lifting is an operation that enables a state, such as the result of a measurement, to be lifted to a parameter, where it can influence the generation of the next portion of the circuit. As a result, dynamic lifting enables Proto-Quipper programs to interleave classical and quantum computation. We describe the syntax of a language we call Proto-Quipper-Dyn. Its type system uses a system of modalities to keep track of the use of dynamic lifting. We also provide an operational semantics, as well as an abstract categorical semantics for dynamic lifting based on enriched category theory. We prove that both the type system and the operational semantics are sound with respect to our categorical semantics. Finally, we give some examples of Proto-Quipper-Dyn programs that make essential use of dynamic lifting.

链接与引用

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

BibTeX
@article{paperbot2085,
  title = {Proto-Quipper with Dynamic Lifting},
  author = {Peng Fu and Kohei Kishida and Neil J. Ross and Peter Selinger},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {7},
  number = {POPL},
  year = {2023},
  doi = {10.1145/3571204}
}