A Logic for Formal Verification of Quantum Programs

  • Yoshihiko Kakutani
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5913)


This paper provides a Hoare-style logic for quantum computation. While the usual Hoare logic helps us to verify classical deterministic programs, our logic supports quantum probabilistic programs. Our target programming language is QPL defined by Selinger, and our logic is an extension of the probabilistic Hoare-style logic defined by den Hartog. In this paper, we demonstrate how the quantum Hoare-style logic proves properties of well-known algorithms.


Quantum Computation Unitary Transformation Quantum Cryptography Quantum Teleportation Program Variable 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Hoare, C.A.R.: An axiomatic basis for computer programming. Communications of ACM 12, 576–580 (1969)zbMATHCrossRefGoogle Scholar
  2. 2.
    Cook, S.A.: Soundness and completeness of an axiom system for program verification. SIAM Journal on Computing 7(1), 70–78 (1978)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Harel, D., Kozen, D., Tiuryn, J.: Dynamic logic. In: Handbook of Philosophical Logic, pp. 497–604. MIT Press, Cambridge (1984)Google Scholar
  4. 4.
    Selinger, P.: Towards a quantum programming language. Mathematical Structures in Computer Science 14(4), 527–586 (2004)zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    den Hartog, J.I.: Verifying probabilistic programs using a Hoare-like logic. In: Thiagarajan, P.S., Yap, R.H.C. (eds.) ASIAN 1999. LNCS, vol. 1742, pp. 113–125. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  6. 6.
    Bennet, C.H., Brassard, G., Crépeau, C., Jozsa, R., Peres, A., Wootters, W.K.: Teleporting an unknown quantum state via dual classical and Einstein-Podolski-Rosen channels. Physical Review Letters 70, 1895–1899 (1993)CrossRefMathSciNetGoogle Scholar
  7. 7.
    Shor, P.W.: Algorithms for quantum computation. In: Foundations of Computer Science, pp. 124–134. IEEE Computer Society Press, Los Alamitos (1994)Google Scholar
  8. 8.
    Cleve, R., Ekert, A.K., Macchiavello, C., Mosca, M.: Quantum algorithms revised. Proceedings of Royal Society London A 454, 339–354 (1998)zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Bennet, C.H., Brassard, G.: Quantum cryptography: public key distribution and coin tossing. In: Computers, Systems and Signal Processing, pp. 175–179. IEEE Computer Society, Los Alamitos (1984)Google Scholar
  10. 10.
    Baltag, A., Smets, S.: LQP: the dynamic logic of quantum information. Mathematical Structures in Computer Science 16(3), 491–525 (2006)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Brunet, O., Jorrand, P.: Dynamic quantum logic for quantum programs. International Journal of Quantum Information 2(1) (2004)Google Scholar
  12. 12.
    Chadha, R., Mateus, P., Sernadas, A.: Reasoning about imperative quantum programs. In: Mathematical Foundations of Programming Semantics. ENTCS, vol. 158, pp. 19–39. Elsevier, Amsterdam (2006)Google Scholar
  13. 13.
    D’Hondt, E., Panangaden, P.: Quantum weakest preconditions. Mathematical Structures in Computer Science 16(3), 429–451 (2006)zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Ying, M.S.: Hoare logic for quantum programs (2009) arXiv:0906.4586v1Google Scholar
  15. 15.
    Deutsch, D.: Quantum theory, the Church-Turing principle and the universal quantum computer. Proceedings of Royal Society London A 400, 97–117 (1985)zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Deutsch, D., Jozsa, R.: Rapid solution of problems by quantum computation. Proceedings of Royal Society London A 439, 553–558 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Mayers, D.: Unconditional security in quantum cryptography. Journal of ACM 48(3), 351–406 (2001)CrossRefMathSciNetGoogle Scholar
  18. 18.
    Feng, Y., Duan, R.Y., Ji, Z.F., Ying, M.S.: Proof rules for the correctness of quantum programs. Theoretical Computer Science 386(1,2), 151–166 (2007)zbMATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Altenkirch, T., Grattage, J.: A functional quantum programming language. In: Logic in Computer Science, pp. 249–258. IEEE Computer Society, Los Alamitos (2005)Google Scholar
  20. 20.
    Floyd, R.W.: Assigning meanings to programs. In: Applied Mathematics, AMS, pp. 19–32 (1967)Google Scholar
  21. 21.
    Bloom, S., Ésik, Z.: Floyd-Hoare logic in iteration theories. Journal of ACM 38(4), 887–934 (1991)zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Yoshihiko Kakutani
    • 1
  1. 1.Department of Information ScienceUniversity of Tokyo 

Personalised recommendations