Verification of Quantum Programs

This paper develops verification methodology for quantum programs, and the contribution of the paper is two-fold: 1. Sharir, Pnueli and Hart [SIAM J. Comput. 13(1984)292-314] presented a general method for proving properties of probabilistic programs, in which a probabilistic program is modeled by a Markov chain and an assertion on the output distribution is extended into an invariant assertion on all intermediate distributions. Their method is essentially a probabilistic generalization of the classical Floyd inductive assertion method. In this paper, we consider quantum programs modeled by quantum Markov chains which are defined by super-operators. It is shown that the Sharir-Pnueli-Hart method can be elegantly generalized to quantum programs by exploiting the Schr\"odinger-Heisenberg duality between quantum states and observables. In particular, a completeness theorem for the Sharir-Pnueli-Hart verification method of quantum programs is established. 2. As indicated by the completeness theorem, the Sharir-Pnueli-Hart method is in principle effective for verifying all properties of quantum programs that can be expressed in terms of Hermitian operators (observables). But it is not feasible for many practical applications because of the complicated calculation involved in the verification. For the case of finite-dimensional state spaces, we find a method for verification of quantum programs much simpler than the Sharir-Pnueli-Hart method by employing the matrix representation of super-operators and Jordan decomposition of matrices. In particular, this method enables us to compute easily the average running time and even to analyze some interesting long-run behaviors of quantum programs in a finite-dimensional state space.

[1]  J GaySimon,et al.  Quantum programming languages: survey and bibliography , 2006 .

[2]  Olivier Brunet,et al.  Dynamic Quantum Logic for Quantum Programs , 2003 .

[3]  Rohit Chadha,et al.  Reasoning About Imperative Quantum Programs , 2006, MFPS.

[4]  Peter Selinger,et al.  Towards a quantum programming language , 2004, Mathematical Structures in Computer Science.

[5]  Feihu Xu,et al.  Experimental demonstration of phase-remapping attack in a practical quantum key distribution system , 2010, 1005.2376.

[6]  Thierry Paul,et al.  Quantum computation and quantum information , 2007, Mathematical Structures in Computer Science.

[7]  Luciano Serafini,et al.  Toward an architecture for quantum programming , 2001, ArXiv.

[8]  Mingsheng Ying,et al.  Floyd--hoare logic for quantum programs , 2011, TOPL.

[9]  Micha Sharir,et al.  Verification of Probabilistic Programs , 1984, SIAM J. Comput..

[10]  Jonathan Grattage A functional quantum programming language , 2005, 20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05).

[11]  Alexandru Baltag,et al.  LQP: the dynamic logic of quantum information , 2006, Mathematical Structures in Computer Science.

[12]  Javier Esparza,et al.  Analysis and prediction of the long-run behavior of probabilistic sequential programs with recursion , 2005, 46th Annual IEEE Symposium on Foundations of Computer Science (FOCS'05).

[13]  Yuan Feng,et al.  Proof rules for the correctness of quantum programs , 2007, Theor. Comput. Sci..

[14]  Yuan Feng,et al.  Defining Quantum Control Flow , 2012, ArXiv.

[15]  Mihalis Yannakakis,et al.  The complexity of probabilistic verification , 1995, JACM.

[16]  Simon J. Gay,et al.  Quantum Programming Languages Survey and Bibliography , 2006 .

[17]  M. Ying,et al.  Semantic Techniques in Quantum Computation: Predicate Transformer Semantics of Quantum Programs , 2009 .

[18]  Jonathan P Dowling,et al.  Quantum technology: the second quantum revolution , 2003, Philosophical Transactions of the Royal Society of London. Series A: Mathematical, Physical and Engineering Sciences.

[19]  Yuan Feng,et al.  Quantum programming: From theories to implementations , 2012 .

[20]  Peter Selinger,et al.  A Brief Survey of Quantum Programming Languages , 2004, FLOPS.

[21]  Yuan Feng,et al.  Quantum loop programs , 2010, Acta Informatica.

[22]  Kousha Etessami,et al.  Recursive Markov chains, stochastic grammars, and monotone systems of nonlinear equations , 2005, JACM.

[23]  Yuan Feng,et al.  Model-Checking Linear-Time Properties of Quantum Systems , 2010, TOCL.

[24]  Stanley Gudder,et al.  Quantum Markov chains , 2008 .

[25]  Yuan Feng,et al.  A Flowchart Language for Quantum Programming , 2011, IEEE Transactions on Software Engineering.

[26]  Yuan Feng,et al.  Model checking quantum Markov chains , 2012, J. Comput. Syst. Sci..

[27]  Charles R. Johnson,et al.  Matrix analysis , 1985, Statistical Inference for Engineers and Data Scientists.

[28]  Rohit Chadha,et al.  QUANTUM COMPUTATION TREE LOGIC — MODEL CHECKING AND COMPLETE CALCULUS , 2008 .

[29]  Andris Ambainis,et al.  One-dimensional quantum walks , 2001, STOC '01.

[30]  Yuan Feng,et al.  Proof rules for purely quantum programs , 2005, ArXiv.

[31]  Jianxin Chen,et al.  Commutativity of quantum weakest preconditions , 2007, Inf. Process. Lett..

[32]  Elham Kashefi Quantum Domain Theory - Definitions and Applications , 2003, ArXiv.

[33]  Jeff W. Sanders,et al.  Quantum Programming , 2000, MPC.

[34]  Rajeev Alur,et al.  Analysis of recursive state machines , 2001, TOPL.

[35]  Luca de Alfaro,et al.  How to Specify and Verify the Long-Run Average Behavior of Probabilistic Systems , 1998, LICS.

[36]  Mingsheng Ying,et al.  Reachability and Termination Analysis of Concurrent Quantum Programs , 2012, CONCUR.

[37]  Prakash Panangaden,et al.  Quantum weakest preconditions , 2005, Mathematical Structures in Computer Science.