  As quantum computers become real, it is high time we come up with effective
techniques that help programmers write correct quantum programs. Inspired by
Hoare Type Theory in classical computing, we propose Quantum Hoare Type Theory
(QHTT), in which precise specifications about the modification to the quantum
state can be provided within the type of computation. These specifications
within a Hoare type are given in the form of Hoare-logic style pre- and
postconditions following the propositions-as-types principle. The type-checking
process verifies that the implementation conforms to the provided
specification. QHTT has the potential to be a unified system for programming,
specifying, and reasoning about quantum programs.
