当前位置: X-MOL 学术arXiv.cs.LO › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
On Abstract Machine Semantics for Proto-Quipper-M
arXiv - CS - Logic in Computer Science Pub Date : 2021-05-07 , DOI: arxiv-2105.03522
Andrea Colledan

Quipper is a domain-specific programming language for the description of quantum circuits. Because it is implemented as an embedded language in Haskell, Quipper is a very practical functional language. However, for the same reason, it lacks a formal semantics and it is limited by Haskell's type system. In particular, because Haskell lacks linear types, it is easy to write Quipper programs that violate the non-cloning property of quantum states. In order to formalize relevant fragments of Quipper in a type-safe way, the Proto-Quipper family of research languages has been introduced over the last years. In this paper we first review Proto-Quipper-M, an instance of the Proto-Quipper family based on a categorical model for quantum circuits, which features a linear type system that guarantees that the non-cloning property holds at compile time. We then derive a tentative small-step operational semantics from the big-step semantics of Proto-Quipper-M and we prove that the two are equivalent. After proving subject reduction and progress results for the tentative semantics, we build upon it to obtain a truly small-step semantics in the style of an abstract machine, which we eventually prove to be equivalent to the original semantics.

中文翻译:

Pro-Quipper-M的抽象机器语义学

Quipper是用于描述量子电路的特定领域编程语言。由于Quipper是作为Haskell中的嵌入式语言实现的,因此它是一种非常实用的功能语言。但是,出于相同的原因,它缺乏形式语义,并且受Haskell的类型系统限制。特别是,由于Haskell缺少线性类型,因此很容易编写违反量子态非克隆特性的Quipper程序。为了以一种类型安全的方式形式化Quipper的相关片段,最近几年引入了Proto-Quipper研究语言系列。在本文中,我们首先回顾Proto-Quipper-M,这是一个基于量子电路分类模型的Proto-Quipper系列实例,其特征在于线性类型系统,可确保在编译时保持非克隆特性。然后,我们从Proto-Quipper-M的大步语义中得出了一个试探性的小步操作语义,并证明了两者是等效的。在证明主题语义的主题缩减和进展结果之后,我们以其为基础,以抽象机的方式获得了真正的小步语义,最终证明了它与原始语义是等效的。
更新日期:2021-05-11
down
wechat
bug