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.


Sugar Peris Tate Rosen 


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)MATHCrossRefGoogle 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)MATHCrossRefMathSciNetGoogle 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)MATHCrossRefMathSciNetGoogle 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)MATHCrossRefMathSciNetGoogle 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)MATHCrossRefMathSciNetGoogle 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)MATHCrossRefMathSciNetGoogle 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)MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Deutsch, D., Jozsa, R.: Rapid solution of problems by quantum computation. Proceedings of Royal Society London A 439, 553–558 (1992)MATHCrossRefMathSciNetGoogle 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)MATHCrossRefMathSciNetGoogle 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)MATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

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

Personalised recommendations