# QWIRE Practice: Formal Verification of Quantum Circuits in Coq

@inproceedings{Rand2018QWIREPF, title={QWIRE Practice: Formal Verification of Quantum Circuits in Coq}, author={Robert Rand and Jennifer Paykin and Steve Zdancewic}, booktitle={QPL}, year={2018} }

We describe an embedding of the QWIRE quantum circuit language in the Coq proof assistant. This allows programmers to write quantum circuits using high-level abstractions and to prove properties of those circuits using Coq's theorem proving features. The implementation uses higher-order abstract syntax to represent variable binding and provides a type-checking algorithm for linear wire types, ensuring that quantum circuits are well-formed. We formalize a denotational semantics that interprets…

## 66 Citations

### A verified optimizer for Quantum circuits

- Computer ScienceProc. ACM Program. Lang.
- 2021

VOQC is presented, the first fully verified optimizer for quantum circuits, written using the Coq proof assistant, and able to write and verify a broad range of optimizations in VOQC, including full-circuit transformations from cutting-edge optimizers.

### symQV: Automated Symbolic Verification of Quantum Programs

- Computer Science, PhysicsArXiv
- 2022

Experimental results show that the abstraction improves symQV ’s scalability by an order of magnitude to quantum programs with 24 qubits (a 2 24 -dimensional state space).

### Verified Optimization in a Quantum Intermediate Representation Kesha Hietala

- Physics, Computer Science
- 2019

The power of sQIRe as a compiler intermediate representation of quantum programs by verifying a number of useful optimizations and its use as a tool for general verification by proving several quantum programs correct are demonstrated.

### A Verified Optimizer forQuantum Circuits

- Computer Science
- 2020

We present voqc, the first fully verified optimizer for quantum circuits, written using the Coq proof assistant. Quantum circuits are expressed as programs in a simple, low-level language called…

### Towards Large-scale Functional Verification of Universal Quantum Circuits

- Computer Science, PhysicsQPL
- 2018

A framework for the formal specification and verification of quantum circuits based on the Feynman path integral is introduced, and the algorithm is shown to give a polynomial-time decision procedure for checking the equivalence of Clifford group circuits.

### ReQWIRE: Reasoning about Reversible Quantum Circuits

- Computer ScienceQPL
- 2018

Methods for verifying that ancillae are discarded in the desired state are presented, and these methods are used to implement a verified compiler from classical functions to quantum oracles.

### Verified Optimization in a Quantum Intermediate Representation

- Physics, Computer ScienceArXiv
- 2019

We present sqire, a low-level language for quantum computing and verification. sqire uses a global register of quantum bits, allowing easy compilation to and from existing `quantum assembly'…

### Quantum Hoare Type Theory

- Computer ScienceArXiv
- 2020

Inspired by Hoare Type Theory in classical computing, Quantum Hoar Type Theory (QHTT) is proposed in which precise specifications about the modification to the quantum state can be provided within the type of a computation.

### An Automated Deductive Verification Framework for Circuit-building Quantum Programs

- Computer ScienceESOP
- 2021

Qbricks is proposed, a formal verification environment for circuit-building quantum programs, featuring both parametric specifications and a high degree of proof automation, and the main tool is developed, PPS, a parametric extension of the recently developed path sum semantics.

### Formal Verification of Quantum Algorithms Using Quantum Hoare Logic

- Computer ScienceCAV
- 2019

To the best knowledge, this is the first time a Hoare logic for quantum programs is formalized in an interactive theorem prover, and used to verify the correctness of a nontrivial quantum algorithm.

## References

SHOWING 1-10 OF 22 REFERENCES

### Quipper: a scalable quantum programming language

- Computer Science, PhysicsPLDI
- 2013

Quipper, a scalable, expressive, functional, higher-order quantum programming language, which is geared towards a model of computation that uses a classical computer to control a quantum device, but is not dependent on any particular model of quantum hardware.

### Floyd--hoare logic for quantum programs

- Computer ScienceTOPL
- 2012

It is proved that this logic is (relatively) complete by exploiting the power of weakest precond conditions and weakest liberal preconditions for quantum programs.

### Classical Control and Quantum Circuits in Enriched Category Theory

- Computer ScienceMFPS
- 2018

### Verified Compilation of Space-Efficient Reversible Circuits

- Computer ScienceCAV
- 2017

A reversible circuit compiler called ReVerC is presented, which has been formally verified in F* and compiles circuits that operate correctly with respect to the input program and provably cleans temporary values.

### Formalization of Quantum Protocols using Coq

- Computer ScienceQPL
- 2015

A novel framework for modelling and verifying quantum protocols and their implementations using the proof assistant Coq is presented, and a Coq library for quantum bits (qubits), quantum gates, and quantum measurement is provided.

### LIQUi|>: A Software Design Architecture and Domain-Specific Language for Quantum Computing

- Computer ScienceArXiv
- 2014

Languages, compilers, and computer-aided design tools will be essential for scalable quantum computing, which promises an exponential leap in our ability to execute complex tasks. LIQUi|> is a…

### Quantum weakest preconditions

- Computer ScienceMathematical Structures in Computer Science
- 2006

We develop a notion of predicate transformer and, in particular, the weakest precondition, appropriate for quantum computation. We show that there is a Stone-type duality between the usual…

### ALGEBRAIC AND LOGICAL METHODS IN QUANTUM COMPUTATION

- Computer Science, Mathematics
- 2015

A new method to efficiently approximate special unitary operators and a mathematical formalization of a fragment of the Quipper quantum programming language called Proto-Quipper, which formalizes a restricted but expressive fragment of Quipper.

### Invariants of quantum programs: characterisations and generation

- Computer SciencePOPL
- 2017

This paper is the first attempt to define the notion of invariant and to develop a method of invariants generation for quantum programs and shows that the generated invariants can be used to verify correctness of these algorithms and are helpful in optimising quantum Metropolis sampling.

### Algebraic Effects, Linearity, and Quantum Programming Languages

- Computer Science, MathematicsPOPL
- 2015

A new elementary algebraic theory of quantum computation, built from unitary gates and measurement is presented, and an equational theory for a quantum programming language is extracted from thegebraic theory.