🤖 AI Summary
Quantum program correctness assurance lags behind algorithm development, with existing approaches relying predominantly on post-hoc verification.
Method: This paper proposes the “Correctness-by-Construction” paradigm for quantum programs: starting from formal pre-/postcondition specifications, it employs sound and complete refinement rules to synthesize quantum programs top-down, ensuring conformance to specifications. Grounded in the quantum while language and an extended quantum Hoare logic, the approach supports explicit modeling and systematic categorization of key design decisions.
Contributions/Results: It is the first framework to achieve constructive correctness guarantees for quantum programs—moving beyond traditional verification. We implement a specification-driven refinement framework and successfully construct canonical quantum algorithms—including Deutsch-Jozsa and Grover’s search subroutine—demonstrating feasibility, design guidance, and scalability. This work establishes the first systematic, formal methodology for quantum software engineering.
📝 Abstract
Thanks to the rapid progress and growing complexity of quantum algorithms, correctness of quantum programs has become a major concern. Pioneering research over the past years has proposed various approaches to formally verify quantum programs using proof systems such as quantum Hoare logic. All these prior approaches are post-hoc: one first implements a program and only then verifies its correctness. Here we propose Quantum Correctness by Construction (QbC): an approach to constructing quantum programs from their specification in a way that ensures correctness. We use pre- and postconditions to specify program properties, and propose sound and complete refinement rules for constructing programs in a quantum while language from their specification. We validate QbC by constructing quantum programs for idiomatic problems and patterns. We find that the approach naturally suggests how to derive program details, highlighting key design choices along the way. As such, we believe that QbC can play a role in supporting the design and taxonomization of quantum algorithms and software.