Abstract
It is well-known that quantum programs are not only complicated to design but also challenging to verify because the quantum states can have exponential size and require sophisticated mathematics to encode and manipulate. To tackle the state-space explosion problem for quantum reasoning, we propose a Hoare-style inference framework that supports local reasoning for quantum programs. By providing a quantum interpretation of the separating conjunction, we are able to infuse separation logic into our framework and apply local reasoning using a quantum frame rule that is similar to the classical frame rule. For evaluation, we apply our framework to verify various quantum programs including Deutsch–Jozsa’s algorithm and Grover's algorithm.
Supplemental Material
- A preview of Bristlecone, Google’s new quantum processor. https://ai.googleblog.com/2018/03/a-preview-of-bristlecone-googles-new.html.Google Scholar
- Google Cirq. https://github.com/quantumlib/Cirq.Google Scholar
- IBM Q Devices and Simulators. https://www.research.ibm.com/ibm-q/technology/devices/.Google Scholar
- Charles H. Bennett, Ethan Bernstein, Gilles Brassard, and Umesh Vazirani. Strengths and weaknesses of quantum computing. SIAM J. Comput., 26(5):1510–1523, October 1997.Google Scholar
Digital Library
- C. Calcagno, P. W. O’Hearn, and H. Yang. Local action and abstract separation logic. In LICS, pages 366–378, 2007.Google Scholar
Digital Library
- Andrew W. Cross, Lev S. Bishop, John A. Smolin, and Jay M. Gambetta. Open quantum assembly language. https://arxiv.org/abs/1707.03429v2, 2017.Google Scholar
- D Deutsch and R Jozsa. Rapid solution of problems by quantum computation. 1992.Google Scholar
- Alexander S. Green, Peter LeFanu Lumsdaine, Neil J. Ross, Peter Selinger, and Benoît Valiron. Quipper: A scalable quantum programming language. In PLDI, pages 333–342, 2013.Google Scholar
- Lov K. Grover. A fast quantum mechanical algorithm for database search. In STOC, pages 212–219, 1996.Google Scholar
Digital Library
- C. A. R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10):576–580, 1969.Google Scholar
Digital Library
- Ali JavadiAbhari, Shruti Patil, Daniel Kudrow, Jeff Heckey, Alexey Lvov, Frederic T. Chong, and Margaret Martonosi. Scaffcc: Scalable compilation and analysis of quantum programs. Parallel Computing, 45:2–17, 2015.Google Scholar
Digital Library
- Yangjia Li and Mingsheng Ying. Algorithmic analysis of termination problems for quantum programs. In POPL, 2017.Google Scholar
- Junyi Liu, Bohua Zhan, Shuling Wang, Shenggang Ying, Tao Liu, Yangjia Li, Mingsheng Ying, and Naijun Zhan. Formal Verification of Quantum Algorithms Using Quantum Hoare Logic. In CAV, pages 187–207, 2019.Google Scholar
- Shusen Liu, Li Zhou, Ji Guan, Yang He, Runyao Duan, and Mingsheng Ying. q|si〉 : a quantum programming environment. Scientia Sinica Informationis, 47(10):1300–1315, 2017.Google Scholar
Cross Ref
- X. Liu and J. Kubiatowicz. Chisel-Q: Designing quantum circuits with a scala embedded language. In ICCD, pages 427–434, 2013.Google Scholar
Cross Ref
- Peter O’Hearn, John Reynolds, and Hongseok Yang. Local reasoning about programs that alter data structures. In CSL, pages 1–19, 2001.Google Scholar
Cross Ref
- Peter W. O’Hearn and David J. Pym. The logic of bunched implications. The Bulletin of Symbolic Logic, 5(2):215–244, 1999.Google Scholar
Cross Ref
- Anirban Pathak. Elements of Quantum Computation and Quantum Communication. 1st edition, 2013.Google Scholar
Digital Library
- Jennifer Paykin, Robert Rand, and Steve Zdancewic. QWIRE: A Core Language for Quantum Circuits. In POPL, pages 846–858, 2017.Google Scholar
- J. C. Reynolds. Separation logic: a logic for shared mutable data structures. In LICS, pages 55–74, 2002.Google Scholar
Digital Library
- P. W. Shor. Algorithms for quantum computation: discrete logarithms and factoring. In FOCS, pages 124–134, 1994.Google Scholar
Digital Library
- Damian S. Steiger, Thomas Häner, and Matthias Troyer. ProjectQ: an open source software framework for quantum computing. Quantum, 2:49, 2018.Google Scholar
Cross Ref
- Krysta Svore, Alan Geller, Matthias Troyer, John Azariah, Christopher Granade, Bettina Heim, Vadym Kliuchnikov, Mariia Mykhailova, Andres Paz, and Martin Roetteler. Q#: Enabling Scalable Quantum Computing and Development with a High-Level DSL. In RWDSL, pages 1–10, 2018.Google Scholar
Digital Library
- Dave Wecker, Krysta M. Svore, and Krysta M. Svore. LIQUi|〉: A Software Design Architecture and Domain-Specific Language for Quantum Computing. http://research.microsoft.com/en-us/projects/liquid/.Google Scholar
- W. K. Wootters and W. H. Zurek. Nature, 299(5886):802–803, October 1982.Google Scholar
Cross Ref
- Hongseok Yang and Peter O’Hearn. A semantic basis for local reasoning. In FoSSaC, pages 402–416, 2002.Google Scholar
Cross Ref
- Mingsheng Ying. Floyd–hoare logic for quantum programs. ACM Trans. Program. Lang. Syst., 33(6), 2012.Google Scholar
Digital Library
- Mingsheng Ying. Toward automatic verification of quantum programs. Formal Aspects of Computing, 31:3–25, 2019.Google Scholar
Digital Library
Index Terms
A Quantum interpretation of separating conjunction for local reasoning of Quantum programs based on separation logic
Recommendations
Integrable quantum computation
Integrable quantum computation is defined as quantum computing via the integrable condition, in which two-qubit gates are either nontrivial unitary solutions of the Yang---Baxter equation or the Swap gate (permutation). To make the definition clear, in ...
Communicating quantum processes
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesWe define a language CQP (Communicating Quantum Processes) for modelling systems which combine quantum and classical communication and computation. CQP combines the communication primitives of the pi-calculus with primitives for measurement and ...
Contextuality Supplies the Magic for Quantum Computation
ISMVL '15: Proceedings of the 2015 IEEE 45th International Symposium on Multiple-Valued LogicWe know that quantum mechanics enables the performance of computational and cryptographic tasks that are impossible (or impracticable) using only classical physics. It seems natural to examine manifestations of inherently quantum behaviour as potential ...






Comments