Towards the Correctness of Quantum Program Implementation

Publication Type:
Thesis
Issue Date:
2024
Full metadata record
With the rapid advancement of quantum computing hardware, numerous quantum programming languages are continually proposed to facilitate the implementation of quantum algorithms. This research focuses on enhancing the correctness of quantum programs from the perspective of formal verification, given the counter-intuitive nature of quantum mechanics and environmental noise challenges. Two formal verification approaches are explored to validate the correctness of quantum programs. The first approach extends classical incorrectness logic to the quantum domain, establishing a logical foundation for statically detecting bugs in quantum programming. The proposed quantum incorrectness logic is based on an intuitive explanation derived from a reachability standpoint. Based on under-approximation relations, the formulation of the incorrectness triple is found to be dual to quantum Hoare logic. The corresponding proof system is sound, complete, and decidable. The second approach introduces approximate quantum coupling as a key tool for studying relational reasoning in quantum programs. This novel proof system generalizes the widely used approximate probabilistic coupling in probabilistic programs, addressing an open question regarding projective predicates in quantum contexts. The application of approximate relational logic aids in assessing the robustness of quantum programs between ideal specifications and imperfect implementations. The practical utility of these approaches is demonstrated through case studies involving quantum teleportation, Grover's search, the repeat-until-success algorithm, the approximation of unitary gates, and the bit flip code. Notably, the formal verification of the low-depth approximation of the quantum Fourier transform is provided through approximate relational reasoning, showcasing the effectiveness of the proposed methodologies.
Please use this identifier to cite or link to this item: