Home

Awesome

QWIRE

This is a Coq implementation of the QWIRE quantum programming language, described in the following papers by Jennifer Paykin, Robert Rand, Dong-Ho Lee and Steve Zdancewic:

Rennela and Staton's Classical Control, Quantum Circuits and Linear Logic in Enriched Category Theory provides a categorical semantics for QWIRE.

QWIRE is compatible with Coq versions 8.12 - 8.15.

This project depends on QuantumLib, which you can install with:

opam pin coq-quantumlib https://github.com/inQWIRE/QuantumLib.git

Run make to compile the core (preliminary and implementation) files and make all to compile proofs of QWIRE programs. Run make qasm to compile the files that convert QWIRE to QASM. We recommend using Company Coq with QWIRE in light of its support for unicode.

Files in this repository

Preliminaries

Implementation of QWIRE

Verification of QWIRE circuits

Compilation to QASM (i.e., OpenQASM 2.0)

The QWIRE project has benefited from the support of the Air Force Office of Scientific Research under the MURI grant number FA9550-16-1-0082 entitled, “Semantics, Formal Reasoning, and Tool Support for Quantum Programming” and the U.S. Department of Energy, Office of Science, Office of Advanced Scientific Computing Research, Quantum Testbed Pathfinder Program under Award Number DE-SC0019040.