由于与量子编程相关的量子知识不直观,量子程序的编码和验证非常困难。因此,迫切需要自动化工具来减轻与低级量子细节相关的繁琐和错误。在本文中,我们发起了量子酉程序的程序合成研究,该程序以递归方式定义一系列用于不同输入大小的酉电路,这些电路在现有的量子编程语言中被广泛使用。具体来说,我们介绍了第一个量子程序合成框架 QSynth,其中包括一种新的归纳量子编程语言、其规范、合理的推理逻辑以及将推理过程编码为 SMT 实例。 QSynth 利用现有的 SMT 求解器,成功合成了 10 个量子幺正程序,包括量子算术程序、量子特征值反演、量子隐形传态和量子傅里叶变换,这些程序可以轻松地转换为主要量子平台上的可执行程序,例如 Q#、IBM Qiskit 和 AWS Braket。