🤖 AI Summary
Proto-Quipper lacks a concise, mechanizable operational semantics, hindering formal analysis. To address this, we introduce Proto-Quipper-A: a language grounded in linear lambda calculus for modeling static quantum circuit generation. It is the first quantum programming language to integrate adjoint logic into its design, unifying circuit-level and functional semantics. Its lightweight semantics combines a substructural type system with call-by-value reduction rules. Using standard logical relations techniques, we establish—within this framework—the first proof of strong normalization for its linear type system. The result is a significantly simplified semantic structure that enhances both human reasoning and mechanized verification potential. Proto-Quipper-A thus provides a more robust, verifiable formal foundation for the Quipper family of quantum programming languages.
📝 Abstract
The Proto-Quipper family of programming languages aims to provide a formal foundation for the Quipper quantum programming language. Unfortunately, Proto-Quipper languages have complex operational semantics: they are inherently effectful, and they rely on set-theoretic operations and fresh name generation to manipulate quantum circuits. This makes them difficult to reason about using standard programming language techniques and, ultimately, to mechanize. We introduce Proto-Quipper-A, a rational reconstruction of Proto-Quipper languages for static circuit generation. It uses a linear $λ$-calculus to describe quantum circuits with normal forms that closely correspond to box-and-wire circuit diagrams. Adjoint-logical foundations integrate this circuit language with a linear/non-linear functional language and let us reconstruct Proto-Quipper's circuit programming abstractions using more primitive adjoint-logical operations. Proto-Quipper-A enjoys a simple call-by-value reduction semantics, and to illustrate its tractability as a foundation for Proto-Quipper languages, we show that it is normalizing. We show how to use standard logical relations to prove normalization of linear and substructural systems, thereby avoiding the inherent complexity of existing linear logical relations.