English

Proto-Quipper with Reversing and Control

Logic in Computer Science 2025-08-21 v2 Programming Languages Category Theory Quantum Physics

Abstract

The quantum programming language Quipper supports circuit operations such as reversing and controlling certain quantum circuits. Additionally, Quipper provides a function called with-computed, which can be used to program circuits of the form g; f; g-dagger. The latter is a common pattern in quantum circuit design. One benefit of using with-computed, as opposed to constructing the circuit g ; f; g-dagger directly from g, f, and g-dagger, is that it facilitates an important optimization. Namely, if the resulting circuit is later controlled, only f needs to be controlled; the circuits g and g-dagger need not even be controllable. In this paper, we formalize a semantics for reversible and controllable circuits, using a dagger symmetric monoidal category R to interpret reversible circuits, and a new notion we call a controllable category N, which encompasses the control and with-computed operations in Quipper. We extend the language Proto-Quipper with reversing, control and the with-computed operation. Since not all circuits are reversible and/or controllable, we use a type system with modalities to track reversibility and controllability. This generalizes the modality of Fu-Kishida-Ross-Selinger 2023. We give an abstract categorical semantics, and show that the type system and operational semantics are sound with respect to this semantics.

Keywords

Cite

@article{arxiv.2410.22261,
  title  = {Proto-Quipper with Reversing and Control},
  author = {Peng Fu and Kohei Kishida and Neil J. Ross and Peter Selinger},
  journal= {arXiv preprint arXiv:2410.22261},
  year   = {2025}
}

Comments

In Proceedings QPL 2025, arXiv:2508.13619

R2 v1 2026-06-28T19:39:58.152Z