• Corpus ID: 237503635

Formal Methods for Quantum Programs: A Survey

  title={Formal Methods for Quantum Programs: A Survey},
  author={Christophe Chareton and S{\'e}bastien Bardin and Dongho Lee and Beno{\^i}t Valiron and Renaud Vilmart and Zhaowei Xu},
While recent progress in quantum hardware open the door for significant speedup in cryptography as well as additional key areas (biology, chemistry, optimization, machine learning, etc), quantum algorithms are still hard to implement right, and the validation of such quantum programs is a challenge. Moreover, importing the testing and debugging practices at use in classical programming is extremely difficult in the quantum case, due to the destructive aspect of quantum measurement. As an… 
Completeness of Sum-Over-Paths for Toffoli-Hadamard and the Clifford Hierarchy
A new set of rewrite rules for the “Sum-over-Paths” formalism is given, and it is shown that it is complete for “Toffoli-Hadamard”, the simplest approximately universal fragment of quantum mechanics.
Matrix Representation of Arbitrarily Controlled Quantum Gates
A method is introduced to represent these generalised controlled operations that are based on classical conditional statements, which can be generalised by making use of the classical notion of conditional statements.
A Rich Type System for Quantum Programs
Gottesman’s semantics for Clifford circuits based on the Heisenberg representation can be treated as a type system that can efficiently characterize a common subset of quantum programs, and this type system is extended to accommodate universal quantum computing.
Verified Compilation of Quantum Oracles
Quantum algorithms often apply classical operations, such as arithmetic or predicate checks, over a quantum superposition of classical data; these so-called oracles are often the largest components
Quantum Software Engineering: Landscapes and Horizons
The survey summarizes the technology available in the various phases of the quantum software life cycle, including quantum software requirements analysis, design, implementation, test, and maintenance and covers the crucial issue of quantum software reuse.


Proving Quantum Programs Correct
Encouraging results in the application of mechanized proof to the domain of quantum programming in the context of the SQIR development are presented and formal verification of a range of quantum algorithms including Simon's algorithms, Grover's algorithm, and quantum phase estimation are verified.
Towards a quantum programming language
  • P. Selinger
  • Computer Science
    Mathematical Structures in Computer Science
  • 2004
This paper describes the syntax and semantics of a simple quantum programming language with high-level features such as loops, recursive procedures, and structured data types, and has an interesting denotational semantics in terms of complete partial orders of superoperators.
A fast quantum mechanical algorithm for database search
In early 1994, it was demonstrated that a quantum mechanical computer could efficiently solve a well-known problem for which there was no known efficient algorithm using classical computers, i.e. testing whether or not a given integer, N, is prime, in a time which is a finite power of o (logN) .
Assigning Meanings to Programs
This paper attempts to provide an adequate basis for formal definitions of the meanings of programs in appropriately defined programming languages, in such a way that a rigorous standard is
Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints
A program denotes computations in some universe of objects. Abstract interpretation of programs consists in using that denotation to describe computations in another universe of abstract objects, so
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.
Relational proofs for quantum programs
The logic is used to verify non-trivial relational properties of quantum programs, including uniformity for samples generated by the quantum Bernoulli factory, reliability of quantum teleportation against noise, security of quantum one-time pad and equivalence of quantum walks.
Silq: a high-level quantum language with safe uncomputation and intuitive semantics
This work presents Silq, the first quantum language that addresses this challenge by supporting safe, automatic uncomputation, and enables an intuitive semantics that implicitly drops temporary values, as in classical computation.
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.
Quantum Hoare Logic with Ghost Variables
  • Dominique Unruh
  • Physics, Computer Science
    2019 34th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS)
  • 2019
This work presents an extension of quantum Hoare logic that introduces “ghost variables” to extend the expressive power of pre-/postconditions and shows how quantumHoare logic with ghost variables can be used to prove the security of the quantum one-time pad.