A Logic for Recursive Quantum Programs

12/02/2018
by   Zhaowei Xu, et al.
0

Most modern (classical) programming languages support recursion. Recursion has also been successfully applied to the design of several quantum algorithms and introduced in a couple of quantum programming languages. So, it can be expected that recursion will become one of the fundamental paradigms of quantum programming. Several program logics have been developed for verification of non-recursive quantum programs. However, there are as yet no general methods for reasoning about recursive procedures in quantum computing. We fill the gap in this paper by presenting a logic for recursive quantum programs. This logic is an extension of quantum Hoare logic for quantum While-programs. The (relative) completeness of the logic is proved, and its effectiveness is shown by a running example: fixed-point Grover's search.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/24/2021

Reasoning about Recursive Quantum Programs

Most modern (classical) programming languages support recursion. Recursi...
research
04/08/2019

Verification Logics for Quantum Programs

We survey the landscape of Hoare logics for quantum programs. We review ...
research
06/18/2023

On Refactoring Quantum Programs

Refactoring is a crucial technique for improving the efficiency and main...
research
04/30/2021

Verification of Distributed Quantum Programs

Distributed quantum systems and especially the Quantum Internet have the...
research
04/28/2023

Quantum Control Machine: The Limits of Quantum Programs as Data

Quantum algorithms for factorization, search, and simulation obtain comp...
research
03/30/2018

Performing Fully Parallel Constraint Logic Programming on a Quantum Annealer

A quantum annealer exploits quantum effects to solve a particular type o...
research
01/19/2021

Paraconsistent Foundations for Quantum Probability

It is argued that a fuzzy version of 4-truth-valued paraconsistent logic...

Please sign up or login with your details

Forgot password? Click here to reset