skip to main content
research-article
Open Access

Floyd--hoare logic for quantum programs

Published:03 January 2012Publication History
Skip Abstract Section

Abstract

Floyd--Hoare logic is a foundation of axiomatic semantics of classical programs, and it provides effective proof techniques for reasoning about correctness of classical programs. To offer similar techniques for quantum program verification and to build a logical foundation of programming methodology for quantum computers, we develop a full-fledged Floyd--Hoare logic for both partial and total correctness of quantum programs. It is proved that this logic is (relatively) complete by exploiting the power of weakest preconditions and weakest liberal preconditions for quantum programs.

References

  1. Akatov, D. 2005. The logic of quantum program verification. M.S. thesis, Oxford University Computing Laboratory.Google ScholarGoogle Scholar
  2. Altenkirch, T. and Grattage, J. 2005. A functional quantum programming language. In Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science (LICS'05). 249--258. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Apt, K. R. and Olderog, E. R. 1997. Verification of Sequential and Concurrent Programs. Springer, Berlin. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Baltag, A. and Smets, S. 2004. The logic of quantum programs. In Proceedings of the 2nd International Workshop on Quantum Programming Languages (QPL'04).Google ScholarGoogle Scholar
  5. Baltag, A. and Smets, S. 2006. Lqp: The dynamic logic of quantum information. Math. Structures Comput. Sci. 16, 491--525. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Bettelli, S., Calarco, T., and Serafini, L. 2003. Toward an architecture for quantum programming. Euro. Phys. J. D 25, 181--200.Google ScholarGoogle Scholar
  7. Birkhoff, G. and Von Neumann, J. 1936. The logic of quantum mechanics. Ann. Math. 37, 823--843.Google ScholarGoogle ScholarCross RefCross Ref
  8. Brunet, O. and Jorrand, P. 2004. Dynamic quantum logic for quantum programs. Int. J. Quantum Inf. 2, 45--54.Google ScholarGoogle ScholarCross RefCross Ref
  9. Chadha, R., Mateus, P., and Sernadas, A. 2006. Reasoning about imperative quantum programs. Electron. Notes Theor. Comput. Sci. 158, 19--39. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D'Hondt, E. and Panangaden, P. 2006. Quantum weakest preconditions. Math. Structures Comput. Sci. 16, 429--451. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Feng, Y., Duan, R. Y., Ji, Z. F., and Ying, M. S. 2007. Proof rules for the correctness of quantum programs. Theor. Comput. Sci. 386, 151--166. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Feng, Y., Duan, R. Y., and Ying, M. S. 2011. Bisimulation for quantum processes. In Proceedings of the 38th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'11). ACM, New York, 523--534. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Gay, S. J. 2006. Quantum programming languages: survey and bibliography. Math. Structures Comput. Sci. 16, 581--600. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Gay, S. J. and Nagarajan, R. 2005. Communicating quantum processes. In Proceedings of the 32nd ACM SIGPLANSIGACT Symposium on Principles of Programming Languages (POPL'05). ACM, New York, 145--157. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Grover, L. 1996. A fast quantum mechanical algorithm for database searches. In Proceedings of the 28th Annual ACM Symposium on the Theory of Computing. ACM, New York, 212--219. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jorrand, P. and Lalire, M. 2005. Toward a quantum process algebra. In Proceedings of the First ACM Conference on Computing Frontiers. ACM, New York, 111--119. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Knill, E. H. 1996. Conventions for quantum pseudocode. Tech. rep. LAUR-96-2724, Los Alamos National Laboratory.Google ScholarGoogle Scholar
  18. Morgan, C. 1995. Proof rules for probabilistic loops. Tech. rep. PRG-TR-25-95, Programming Research Group, Oxford University.Google ScholarGoogle Scholar
  19. Nielsen, I. L. and Chuang, M. A. 2000. Quantum Computation and Quantum Information. Cambridge University Press, Cambridge, UK. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Ömer, B. 2003. Structural quantum programming. Ph.D. dissertation, Technical University of Vienna.Google ScholarGoogle Scholar
  21. Sanders, J. W. and Zuliani, P. 2000. Quantum programming. In Mathematics of Program Construction, Lecture Notes in Computer Science, vol. 1837. Springer, Berlin, 88--99. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Selinger, P. 2004a. A brief survey of quantum programming languages. In Proceedings of the 7th International Symposium on Functional and Logic Programming. Lecture Notes in Computer Science, vol. 2998, Springer, Berlin.Google ScholarGoogle Scholar
  23. Selinger, P. 2004b. Towards a quantum programming language. Math. Structures Comput. Sci. 14, 527--586. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Von Neumann, J. 1938. On infinite direct products. Compos. Math. 6, 1--77.Google ScholarGoogle Scholar
  25. Ying, M. S., Duan, R. Y., Feng, Y., and Ji, Z. F. 2010. Predicate Transformer Semantics of Quantum Programs. Cambridge University Press, 311--360.Google ScholarGoogle Scholar
  26. Ying, M. S., Feng, Y., Duan, R. Y., and Ji, Z. F. 2009. An algebra of quantum processes. ACM Trans. Comput. Logic 10, 19, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Zuliani, P. 2004. Nondeterministic quantum programming. In Proceedings of the 2nd International Workshop on Quantum Programming Languages (QPL'04).Google ScholarGoogle Scholar

Index Terms

  1. Floyd--hoare logic for quantum programs

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM Transactions on Programming Languages and Systems
            ACM Transactions on Programming Languages and Systems  Volume 33, Issue 6
            December 2011
            145 pages
            ISSN:0164-0925
            EISSN:1558-4593
            DOI:10.1145/2049706
            Issue’s Table of Contents

            Copyright © 2012 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 3 January 2012
            • Accepted: 1 July 2011
            • Revised: 1 March 2011
            • Received: 1 September 2010
            Published in toplas Volume 33, Issue 6

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Research
            • Refereed

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader