量子算法通常在经典数据的量子叠加上应用经典操作,例如算术或谓语检查;这些所谓的甲壳通常是量子程序中最大的组成部分。为了简化高效,正确的Oracle功能的构建,本文介绍了VQO,这是COQ证明助手实施的高保证框架。VQO的核心是O QASM,Oracle量子组装语言。o Qasm操作通过量子傅立叶变换在两个不同的基础之间移动量子位,因此承认了重要的优化,但没有引起纠缠和随附的指数爆炸。o QASM的设计使我们能够证明VQO的编译器从一种名为O QIMP到O QASM的简单命令性语言,从O Qasm到SQIR,从O QASM到SQIR,一种通用量子量组装语言 - 允许我们通过基于QuickChick property属性属性的测试框架有效地测试O Qasm程序的质量质量。我们已经使用VQO实施了各种算术和几何操作员,这些算术和几何操作员是重要的Oracles的构建块,包括Shor's和Grover的算法中使用的Oracles。我们发现,与使用lclassicalžGates构建的量子相比,VQO的基于QFT的算术甲壳所需的量子量要少,有时甚至少得多。但是,VQO的后者版本与Quipper生产的Oracles(在Qubit和Gate计数方面)相当或更好,这是一个最先进但未验证的量子编程平台。
主要关键词