Linear Dependent Type Theory for Quantum Programming Languages: Extended Abstract

Modern quantum programming languages integrate quantum resources and classical control. They must, on the one hand, be linearly typed to reflect the no-cloning property of quantum resources. On the other hand, high-level and practical languages should also support quantum circuits as first-class citizens, as well as families of circuits that are indexed by some classical parameters. Quantum programming languages thus need linear dependent type theory. This paper defines a general semantic structure for such a type theory via certain fibrations of monoidal categories. The categorical model of the quantum circuit description language Proto-Quipper-M in [28] constitutes an example of such a fibration, which means that the language can readily be integrated with dependent types. We then devise both a general linear dependent type system and a dependently typed extension of Proto-Quipper-M, and provide them with operational semantics as well as a prototype implementation.

[1]  Martin Rötteler,et al.  Quantum Programming Languages (Dagstuhl Seminar 18381) , 2018, Dagstuhl Reports.

[2]  Simon L. Peyton Jones,et al.  Linear Haskell: practical linearity in a higher-order polymorphic language , 2017, Proc. ACM Program. Lang..

[3]  Nick Benton,et al.  Integrating Linear and Dependent Types , 2015, POPL.

[4]  Jennifer Paykin,et al.  QWIRE Practice: Formal Verification of Quantum Circuits in Coq , 2018, QPL.

[5]  Frank Pfenning,et al.  A linear logical framework , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[6]  Jennifer Paykin,et al.  The linearity Monad , 2017, Haskell.

[7]  Kohei Kishida,et al.  A Tutorial Introduction to Quantum Circuit Programming in Dependently Typed Proto-Quipper , 2020, RC.

[8]  Alexandre Miquel,et al.  The Implicit Calculus of Constructions Extending Pure Type Systems with an Intersection Type Binder and Subtyping , 2001 .

[9]  R. Seely,et al.  Locally cartesian closed categories and type theory , 1984, Mathematical Proceedings of the Cambridge Philosophical Society.

[10]  J. Robin B. Cockett,et al.  Shapely Types and Shape Polymorphism , 1994, ESOP.

[11]  Jonathan M. Smith,et al.  Programming the quantum future , 2015, Commun. ACM.

[12]  Nick Benton,et al.  A Mixed Linear and Non-Linear Logic: Proofs, Terms and Models (Extended Abstract) , 1994, CSL.

[13]  Philip Wadler,et al.  How to make ad-hoc polymorphism less ad hoc , 1989, POPL '89.

[14]  Nir Shavit,et al.  High Throughput Connectomics (Dagstuhl Seminar 18481) , 2018, Dagstuhl Reports.

[15]  Philip Wadler,et al.  Linear Types can Change the World! , 1990, Programming Concepts and Methods.

[16]  Peter Selinger,et al.  A categorical model for a quantum circuit description language , 2017, QPL.

[17]  Benoît Valiron,et al.  Quipper: a scalable quantum programming language , 2013, PLDI.

[18]  Thierry Paul,et al.  Quantum computation and quantum information , 2007, Mathematical Structures in Computer Science.

[19]  Neil J. Ross,et al.  ALGEBRAIC AND LOGICAL METHODS IN QUANTUM COMPUTATION , 2015, 1510.02198.

[20]  Bengt Nordström,et al.  Programming in Martin-Löf's Type Theory , 1990 .

[21]  Robert Atkey,et al.  Syntax and Semantics of Quantitative Type Theory , 2018, LICS.

[22]  Conor McBride,et al.  A List of Successes That Can Change the World , 2016, Lecture Notes in Computer Science.

[23]  Jennifer Paykin,et al.  QWIRE: a core language for quantum circuits , 2017, POPL.

[24]  Peyton Jones,et al.  Haskell 98 language and libraries : the revised report , 2003 .

[25]  Benjamin C. Pierce,et al.  Local type inference , 1998, POPL '98.

[26]  Andrew Barber,et al.  Dual Intuitionistic Linear Logic , 1996 .

[27]  Conor McBride,et al.  I Got Plenty o' Nuttin' , 2016, A List of Successes That Can Change the World.

[28]  Benoît Valiron,et al.  An Introduction to Quantum Programming in Quipper , 2013, RC.

[29]  Patrick Lincoln,et al.  Linear logic , 1992, SIGA.

[30]  Matthijs Vákár A Categorical Semantics for Linear Logical Frameworks , 2015, FoSSaCS.

[31]  Benoît Valiron,et al.  A lambda calculus for quantum computation with classical control , 2004, Mathematical Structures in Computer Science.

[32]  Bruno Barras,et al.  The Implicit Calculus of Constructions as a Programming Language with Dependent Types , 2008, FoSSaCS.

[33]  Peter Dybjer,et al.  Intuitionistic Type Theory , 2016 .

[34]  Andre Scedrov,et al.  Bounded Linear Logic: A Modular Approach to Polynomial-Time Computability , 1992, Theor. Comput. Sci..

[35]  Andreas Haeberlen,et al.  Linear dependent types for differential privacy , 2013, POPL.