Quantum Hoare Type Theory: Extended Abstract

  title={Quantum Hoare Type Theory: Extended Abstract},
  author={Kartik Singhal and John D. Reppy},
As quantum computers become real, it is high time we come up with effective techniques that help programmers write correct quantum programs. In classical computing, formal verification and sound static type systems prevent several classes of bugs from being introduced. There is a need for similar techniques in the quantum regime. Inspired by Hoare Type Theory [NMB08] in the classical paradigm, we propose Quantum Hoare Types by extending the Quantum IO Monad [AG09] by indexing it with preand… 

Q# as a Quantum Algorithmic Language

Q# is a standalone domain-specific programming language from Microsoft for writing and running quantum programs. Like most industrial languages, it was designed without a formal specification, which

Formal Methods for Quantum Programs: A Survey

This work reviews the induced challenges for ancient use of formal methods in quantum computing and the current most promising research directions, and proposes solutions for problems occurring at every stage of the development process: high-level program design, implementation, compilation, etc.

The Essence of Q#: Toward Safe and Certified Quantum Programs

This work proposes to provide a formal language definition for Q# through a translation to λ Q #, a small core language for quantum computation, which leads to a clearer understanding of the Q# language semantics.

Beyond Separation: Toward a Specification Language for Modular Reasoning about Quantum Programs

It is argued that the fundamental problem hindering scalability of Hoare-like logics is modular reasoning about entangled , rather than separable, states, and an ideal specification language is proposed.

A Quantum Interpretation of Bunched Logic & Quantum Separation Logic

A model of the substructural logic of Bunched Implications that is suitable for reasoning about quantum states and develops a program logic where pre- and post-conditions are BI formulas describing quantum states.

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.

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.



Linear Dependent Type Theory for Quantum Programming Languages: Extended Abstract

This paper devise both a general linear dependent type system and a dependently typed extension of Proto-Quipper-M, and provide them with operational semantics as well as a prototype implementation.

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.

Towards a formally verified functional quantum programming language

This thesis looks at the development of a framework for a functional quantum programming language, designed following a structural approach as given by a categorical model of quantum computation, first developed in Haskell and then implemented in Agda.

A categorical model for a quantum circuit description language

This paper formalizes a small, but useful fragment of Quipper called Proto-Quipper-M, which is type-safe and has a formal denotational and operational semantics, and defines the programming language to fit the model.

Gottesman Types for Quantum Programs

It is shown that Gottesman’s semantics for quantum programs can be treated as a type system, allowing us to efficiently characterize a common subset of quantum programs and extend beyond the Clifford set to partially characterize a broad range of programs.

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.

A Type System for Quantum Resources

This work presents a lightweight type system for stabilizer quantum mechanics that distinguishes between classical and maximally coherent qubits, as well as separable and maximually entangled qubit pairs and sketches out how to extend the system with more qubits and gates.

Statistical Assertions for Validating Patterns and Finding Bugs in Quantum Programs

  • Yipeng HuangM. Martonosi
  • Computer Science, Physics
    2019 ACM/IEEE 46th Annual International Symposium on Computer Architecture (ISCA)
  • 2019
An existing quantum programming language is extended with the ability to specify quantum assertions, which a tool then checks in a quantum program simulator to debug three benchmark quantum programs in factoring, search, and chemistry.

QDB: From Quantum Algorithms Towards Correct Quantum Programs

This work implements a range of QC algorithms and programs to discover what types of bugs occur and what defenses against those bugs are possible in QC programs, and provides a taxonomy for QC bugs, and proposes QC language features that would aid in writing correct code.


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.