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… 

A verified optimizer for Quantum circuits

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

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

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

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

  • M. Amy
  • Computer Science, Physics
    QPL
  • 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

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

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

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

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

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

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

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

Verified Compilation of Space-Efficient Reversible Circuits

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

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

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

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

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

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

  • S. Staton
  • Computer Science, Mathematics
    POPL
  • 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.