# Formal Methods for Quantum Programs: A Survey

@article{Chareton2021FormalMF, 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}, journal={ArXiv}, year={2021}, volume={abs/2109.06493} }

While recent progress in quantum hardware open the door for signiﬁcant 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 difﬁcult in the quantum case, due to the destructive aspect of quantum measurement. As an…

## Figures and Tables from this paper

## 5 Citations

Completeness of Sum-Over-Paths for Toffoli-Hadamard and the Clifford Hierarchy

- Computer ScienceArXiv
- 2022

A new set of rewrite rules for the “Sum-over-Paths” formalism is given, and it is shown that it is complete for “Toﬀoli-Hadamard”, the simplest approximately universal fragment of quantum mechanics.

Matrix Representation of Arbitrarily Controlled Quantum Gates

- Biology
- 2022

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

- Computer Science
- 2021

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

- Computer ScienceArXiv
- 2021

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

- Computer ScienceArXiv
- 2020

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.

## References

SHOWING 1-10 OF 223 REFERENCES

Proving Quantum Programs Correct

- Computer ScienceArXiv
- 2020

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

- Computer ScienceMathematical 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

- Computer ScienceSTOC '96
- 1996

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

- Computer Science
- 1993

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

- Computer SciencePOPL
- 1977

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

- 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.

Relational proofs for quantum programs

- Physics, PhilosophyProc. ACM Program. Lang.
- 2020

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

- Computer SciencePLDI
- 2020

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

- 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.

Quantum Hoare Logic with Ghost Variables

- Physics, Computer Science2019 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.