Verified Compilation of Quantum Oracles

被引:2
|
作者
Li, Liyi [1 ]
Voichick, Finn [1 ]
Hietala, Kesha [1 ]
Peng, Yuxiang [1 ]
Wu, Xiaodi [1 ]
Hicks, Michael [1 ,2 ]
机构
[1] Univ Maryland, College Pk, MD 20742 USA
[2] Amazon, Seattle, WA USA
来源
关键词
Quantum Oracle; Programming Language Design; Type System; Compiler Verification; FOURIER-TRANSFORM; ALGORITHM;
D O I
10.1145/3563309
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Quantum algorithms often apply classical operations, such as arithmetic or predicate checks, over a quantum superposition of classical data; these so-called oracles are often the largest components of a quantum program. To ease the construction of efficient, correct oracle functions, this paper presents VQO, a high-assurance framework implemented with the Coq proof assistant. The core of VQO is OQASM, the oracle quantum assembly language. OQASM operations move qubits between two different bases via the quantum Fourier transform, thus admitting important optimizations, but without inducing entanglement and the exponential blowup that comes with it. OQASM's design enabled us to prove correct VQO's compilers-from a simple imperative language called OQIMP to OQASM, and from OQASM to sqir, a general-purpose quantum assembly language-and allowed us to efficiently test properties of OQASM programs using the QuickChick property-based testing framework. We have used VQO to implement a variety of arithmetic and geometric operators that are building blocks for important oracles, including those used in Shor's and Grover's algorithms. We found that VQO's QFT-based arithmetic oracles require fewer qubits, sometimes substantially fewer, than those constructed using "classical" gates; VQO's versions of the latter were nevertheless on par with or better than (in terms of both qubit and gate counts) oracles produced by Quipper, a state-of-the-art but unverified quantum programming platform.
引用
收藏
页码:589 / 615
页数:27
相关论文
共 50 条
  • [1] Verified Compilation on a Verified Processor
    Loow, Andreas
    Kumar, Ramana
    Tan, Yong Kiam
    Myreen, Magnus O.
    Norrish, Michael
    Abrahamsson, Oskar
    Fox, Anthony
    [J]. PROCEEDINGS OF THE 40TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '19), 2019, : 1041 - 1053
  • [2] Atomicity Refinement for Verified Compilation
    Jagannathan, Suresh
    Petri, Gustavo
    Vitek, Jan
    Pichardie, David
    Laporte, Vincent
    [J]. ACM SIGPLAN NOTICES, 2014, 49 (06) : 27 - 27
  • [3] Atomicity Refinement for Verified Compilation
    Jagannathan, Suresh
    Laporte, Vincent
    Petri, Gustavo
    Pichardie, David
    Vitek, Jan
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2014, 36 (02):
  • [4] CRELLVM: Verified Credible Compilation for LLVM
    Kang, Jeehoon
    Kim, Yoonseung
    Song, Youngju
    Lee, Juneyoung
    Park, Sanghoon
    Shin, Mark Dongyeon
    Kim, Yonghyun
    Cho, Sungkeun
    Choi, Joonwon
    Hur, Chung-Kil
    Yi, Kwangkeun
    [J]. ACM SIGPLAN NOTICES, 2018, 53 (04) : 631 - 645
  • [5] VERIFIED COMPILATION IN MICRO-GYPSY
    YOUNG, WD
    [J]. PROCEEDINGS OF THE ACM SIGSOFT 89: THIRD SYMPOSIUM ON SOFTWARE TESTING, ANALYSIS, AND VERIFICATION ( TAV 3 ), 1989, 14 : 20 - 26
  • [6] CRELLVM: Verified Credible Compilation for LLVM
    Kang, Jeehoon
    Kim, Yoonseung
    Song, Youngju
    Lee, Juneyoung
    Shin, Mark Dongyeon
    Park, Sanghoon
    Kim, Yonghyun
    Cho, Sungkeun
    Choi, Joonwon
    Hur, Chung-Kil
    Yi, Kwangkeun
    [J]. PROCEEDINGS OF THE 39TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, PLDI 2018, 2018, : 631 - 645
  • [7] A Compositional Semantics for Verified Separate Compilation and Linking
    Ramananandro, Tahina
    Shao, Zhong
    Weng, Shu-Chun
    Koenig, Jeremie
    Fu, Yuchen
    [J]. CPP'15: PROCEEDINGS OF THE 2015 ACM CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS, 2015, : 3 - 14
  • [8] Verified Compilation of Floating-Point Computations
    Sylvie Boldo
    Jacques-Henri Jourdan
    Xavier Leroy
    Guillaume Melquiond
    [J]. Journal of Automated Reasoning, 2015, 54 : 135 - 163
  • [9] Verified Density Compilation for a Probabilistic Programming Language
    Tassarotti, Joseph
    Tristan, Jean-Baptiste
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (PLDI):
  • [10] Relaxed-Memory Concurrency and Verified Compilation
    Sevcik, Jaroslav
    Vafeiadis, Viktor
    Nardelli, Francesco Zappa
    Jagannathan, Suresh
    Sewell, Peter
    [J]. POPL 11: PROCEEDINGS OF THE 38TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2011, : 43 - 54