Log In Sign Up

Linear Dependent Type Theory for Quantum Programming Languages

by   Peng Fu, et al.

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 by Rios and Selinger (2017) 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.


page 1

page 2

page 3

page 4


A tutorial introduction to quantum circuit programming in dependently typed Proto-Quipper

We introduce dependently typed Proto-Quipper, or Proto-Quipper-D for sho...

Implementing Dependent Types in pi-forall

These lecture notes describe the design of a minimal dependently-typed l...

A graded dependent type system with a usage-aware semantics (extended version)

Graded Type Theory provides a mechanism to track and reason about resour...

Quantum Programming with Inductive Datatypes: Causality and Affine Type Theory

Inductive datatypes in programming languages allow users to define usefu...

Dependent Type Systems as Macros

We present Turnstile+, a high-level, macros-based metaDSL for building d...

Opportunities and Challenges for Circuit Board Level Hardware Description Languages

Board-level hardware description languages (HDLs) are one approach to in...

Semantics for first-order affine inductive data types via slice categories

Affine type systems are substructural type systems where copying of info...