Toward certified quantum programming
Preprint
Abstract
While recent progress in quantum hardware open the door for significant speedup in certain key areas, quantum algorithms are still hard to implement right, and the validation of such quantum programs is a challenge. Early attempts either suffer from the lack of automation or parametrized reasoning, or require the user to write specifications and algorithms far from those presented in research articles or textbooks, and as a consequence, no significant quantum algorithm implementation has been currently verified in a scale-invariant manner. We propose QBRICKS, the first development environment for certified quantum programs featuring clear separation between code and proof, scale-invariance specification and proof, high degree of proof automation and allowing to encode quantum programs in a natural way, i.e. close to textbook style. This environment features a new domain-specific language for quantum programs, namely QBRICKS-DSL, together with a new logical specification language QBRICKS-SPEC . Especially, we introduce and intensively build upon HOPS, a higher-order extension of the recent path-sum semantics, used for both specification (parametrized, versatile) and automation (closure properties). QBRICKS builds on best practice of formal verification for the classic case and tailor them to the quantum case. To illustrate the opportunity of QBRICKS , we implement the first scale-invariant verified implementations of non-trivial quantum algorithms, namely phase estimation (QPE) -- the purely quantum part of Shor algorithm for integer factoring -- and Grover search. It proves by fact that applying formal verification to real quantum programs is possible and should be further developed.Keywords
All Related Versions
- Version 1, 2020-03-12, ArXiv
- Version 2, 2020-07-26, ArXiv
- Published version: , 12648, 148.
This publication has 16 references indexed in Scilit:
- Quantum supremacy using a programmable superconducting processorNature, 2019
- QPCF: Higher-Order Languages and Quantum CircuitsJournal of Automated Reasoning, 2019
- Toward automatic verification of quantum programsFormal Aspects of Computing, 2019
- SAT-Based Exact Synthesis: Encodings, Topology Families, and ParallelismIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2019
- Verification of Quantum Computation: An Overview of Existing ApproachesTheory of Computing Systems, 2018
- Quantum implicit computational complexityTheoretical Computer Science, 2010
- Quantum Algorithm for Linear Systems of EquationsPhysical Review Letters, 2009
- A lambda calculus for quantum computation with classical controlMathematical Structures in Computer Science, 2006
- A Quantum Adiabatic Evolution Algorithm Applied to Random Instances of an NP-Complete ProblemScience, 2001
- Quantum algorithms revisitedProceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences, 1998