Proto-Quipper with dynamic lifting

04/27/2022
by   Peng Fu, et al.
0

Quipper is a functional programming language for quantum computing. Proto-Quipper is a family of languages aiming to provide a formal foundation for Quipper. In this paper, we extend Proto-Quipper-M with a construct called dynamic lifting, which is present in Quipper. By virtue of being a circuit description language, Proto-Quipper has two separate runtimes: circuit generation time and circuit execution time. Values that are known at circuit generation time are called parameters, and values that are known at circuit execution time are called states. Dynamic lifting is an operation that enables a state, such as the result of a measurement, to be lifted to a parameter, where it can influence the generation of the next portion of the circuit. As a result, dynamic lifting enables Proto-Quipper programs to interleave classical and quantum computation. We describe the syntax of a language we call Proto-Quipper-Dyn. Its type system uses a system of modalities to keep track of the use of dynamic lifting. We also provide an operational semantics, as well as an abstract categorical semantics for dynamic lifting based on enriched category theory. We prove that both the type system and the operational semantics are sound with respect to our categorical semantics. Finally, we give some examples of Proto-Quipper-Dyn programs that make essential use of dynamic lifting. A concrete categorical model is given in a companion paper [FKRS2022b].

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/27/2022

A biset-enriched categorical model for Proto-Quipper with dynamic lifting

Quipper and Proto-Quipper are a family of quantum programming languages ...
research
10/06/2021

Concrete Categorical Model of a Quantum Circuit Description Language with Measurement

In this paper, we introduce dynamic lifting to a quantum circuit-descrip...
research
06/08/2017

A categorical model for a quantum circuit description language

Quipper is a practical programming language for describing families of q...
research
05/07/2021

On Abstract Machine Semantics for Proto-Quipper-M

Quipper is a domain-specific programming language for the description of...
research
11/14/2017

Classical Control, Quantum Circuits and Linear Logic in Enriched Category Theory

We describe categorical models of a circuit-based (quantum) functional p...
research
02/15/2022

On Dynamic Lifting and Effect Typing in Circuit Description Languages (Extended Version)

In the realm of quantum computing, circuit description languages represe...
research
01/23/2022

Quantum Expectation Transformers for Cost Analysis

We introduce a new kind of expectation transformer for a mixed classical...

Please sign up or login with your details

Forgot password? Click here to reset