Logical reversibility

A technique is developed that transforms any program in the probabilistic Guarded Command Language (pGCL) into an equivalent but reversible program. The result extends previous works firstly by considering a general purpose programming language (pGCL), and secondly by dealing with `demonic'''' nondeterminism and probability. A formal definition of logical reversiblity is given and the expectation-transformer semantics for pGCL is used to prove the result. The technique presented has a direct application in the compilation of a general purpose programming for quantum computation.

[1]  Annabelle McIver,et al.  Probabilistic predicate transformers , 1996, TOPL.

[2]  Barenco,et al.  Elementary gates for quantum computation. , 1995, Physical review. A, Atomic, molecular, and optical physics.

[3]  Ian Page Constructing hardware-software systems from a single description , 1996, J. VLSI Signal Process..

[4]  Annabelle McIver,et al.  Probabilistic Models for the Guarded Command Language , 1997, Sci. Comput. Program..

[5]  R. Feynman Quantum mechanical computers , 1986 .

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

[7]  D. Deutsch Quantum theory, the Church–Turing principle and the universal quantum computer , 1985, Proceedings of the Royal Society of London. A. Mathematical and Physical Sciences.

[8]  S. Lloyd Quantum-Mechanical Computers , 1995 .

[9]  T. Toffoli,et al.  Conservative logic , 2002, Collision-Based Computing.

[10]  Charles H. Bennett,et al.  Logical reversibility of computation , 1973 .

[11]  Jonathan P. Bowen Towards Verified Systems , 1994 .

[12]  Carroll Morgan,et al.  pGCL: formal reasoning for random algorithms , 1998 .

[13]  Carroll Morgan,et al.  Proof rules for probabilistic loops , 1996 .

[14]  R. Landauer,et al.  Irreversibility and heat generation in the computing process , 1961, IBM J. Res. Dev..

[15]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[16]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[17]  Peter W. Shor,et al.  Algorithms for Quantum Computation: Discrete Log and Factoring (Extended Abstract) , 1994, FOCS 1994.

[18]  Carroll Morgan,et al.  Programming from specifications (2nd ed.) , 1994 .

[19]  Russ Bubley,et al.  Randomized algorithms , 1995, CSUR.

[20]  Charles H. Bennett,et al.  The thermodynamics of computation—a review , 1982 .

[21]  Tommaso Toffoli,et al.  Reversible Computing , 1980, ICALP.

[22]  Peter W. Shor,et al.  Algorithms for quantum computation: discrete logarithms and factoring , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[23]  Charles H. Bennett Notes on the history of reversible computation , 2000, IBM J. Res. Dev..