Efficient formal verification of quantum error correcting programs
Proceedings of the ACM on Programming Languages, 2025•dl.acm.org
Quantum error correction (QEC) is fundamental for suppressing noise in quantum hardware
and enabling fault-tolerant quantum computation. In this paper, we propose an efficient
verification framework for QEC programs. We define an assertion logic and a program logic
specifically crafted for QEC programs and establish a sound proof system. We then develop
an efficient method for handling verification conditions (VCs) of QEC programs: for Pauli
errors, the VCs are reduced to classical assertions that can be solved by SMT solvers, and …
and enabling fault-tolerant quantum computation. In this paper, we propose an efficient
verification framework for QEC programs. We define an assertion logic and a program logic
specifically crafted for QEC programs and establish a sound proof system. We then develop
an efficient method for handling verification conditions (VCs) of QEC programs: for Pauli
errors, the VCs are reduced to classical assertions that can be solved by SMT solvers, and …
Quantum error correction (QEC) is fundamental for suppressing noise in quantum hardware and enabling fault-tolerant quantum computation. In this paper, we propose an efficient verification framework for QEC programs. We define an assertion logic and a program logic specifically crafted for QEC programs and establish a sound proof system. We then develop an efficient method for handling verification conditions (VCs) of QEC programs: for Pauli errors, the VCs are reduced to classical assertions that can be solved by SMT solvers, and for non-Pauli errors, we provide a heuristic algorithm. We formalize the proposed program logic in Coq proof assistant, making it a verified QEC verifier. Additionally, we implement an automated QEC verifier, Veri-QEC, for verifying various fault-tolerant scenarios. We demonstrate the efficiency and broad functionality of the framework by performing different verification tasks across various scenarios. Finally, we present a benchmark of 14 verified stabilizer codes.