On Abstract Machine Semantics for Proto-Quipper-M
Andrea Colledan

TL;DR
This paper formalizes the semantics of Proto-Quipper-M, a linear type-safe language for quantum circuits, by deriving and proving the equivalence of small-step operational semantics from big-step semantics.
Contribution
It introduces a small-step semantics for Proto-Quipper-M and proves its equivalence to the big-step semantics, ensuring formal correctness and type safety.
Findings
Proved the equivalence of big-step and small-step semantics.
Established subject reduction and progress for the semantics.
Provided a categorical model ensuring linear type safety.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Quantum Computing Algorithms and Architecture · Parallel Computing and Optimization Techniques
