skip to main content

Proto-Quipper with Dynamic Lifting

Published:11 January 2023Publication History
Skip Abstract Section

Abstract

Quipper is a functional programming language for quantum computing. Proto-Quipper is a family of languages aiming to provide a formal foundation for Quipper. In this paper, we extend Proto-Quipper-M with a construct called dynamic lifting, which is present in Quipper. By virtue of being a circuit description language, Proto-Quipper has two separate runtimes: circuit generation time and circuit execution time. Values that are known at circuit generation time are called parameters, and values that are known at circuit execution time are called states. Dynamic lifting is an operation that enables a state, such as the result of a measurement, to be lifted to a parameter, where it can influence the generation of the next portion of the circuit. As a result, dynamic lifting enables Proto-Quipper programs to interleave classical and quantum computation. We describe the syntax of a language we call Proto-Quipper-Dyn. Its type system uses a system of modalities to keep track of the use of dynamic lifting. We also provide an operational semantics, as well as an abstract categorical semantics for dynamic lifting based on enriched category theory. We prove that both the type system and the operational semantics are sound with respect to our categorical semantics. Finally, we give some examples of Proto-Quipper-Dyn programs that make essential use of dynamic lifting.

References

  1. Nick Benton. 1995. A mixed linear and non-linear logic: Proofs, terms and models (extended abstract). In Proceedings of the 8th Workshop on Computer Science Logic, CSL’94, Selected Papers (Springer Lecture Notes in Computer Science 933). 121–135. Google ScholarGoogle ScholarCross RefCross Ref
  2. Benjamin Bichsel, Maximilian Baader, Timon Gehr, and Martin Vechev. 2020. Silq: A High-Level Quantum Language with Safe Uncomputation and Intuitive Semantics. In Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2020). Association for Computing Machinery, New York, NY, USA. 286–300. isbn:9781450376136 https://doi.org/10.1145/3385412.3386007 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Francis Borceux. 1994. Handbook of Categorical Algebra, Volume 2: Categories and Structures. Cambridge University Press. Google ScholarGoogle Scholar
  4. Sergey Bravyi and Alexei Kitaev. 2005. Universal quantum computation with ideal Clifford gates and noisy ancillas. Physical Review A, 71, 2 (2005), 022316. Google ScholarGoogle Scholar
  5. Andrea Colledan and Ugo Dal Lago. 2022. On dynamic lifting and effect typing in circuit description languages (extended version). Available from 2202.07636 Google ScholarGoogle Scholar
  6. Peng Fu, Kohei Kishida, Neil J. Ross, and Peter Selinger. 2020. A tutorial introduction to quantum circuit programming in dependently typed Proto-Quipper. In Proceedings of the 12th International Conference on Reversible Computation, RC 2020, Oslo, Norway (Lecture Notes in Computer Science, Vol. 12227). Springer, 153–168. https://doi.org/10.1007/978-3-030-52482-1_9 Also available from 2005.08396 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Peng Fu, Kohei Kishida, Neil J. Ross, and Peter Selinger. 2022. A biset-enriched categorical model for Proto-Quipper with dynamic lifting. April, To appear in QPL 2022. Available from 2204.13039 Google ScholarGoogle Scholar
  8. Peng Fu, Kohei Kishida, Neil J. Ross, and Peter Selinger. 2022. Proto-Quipper with dynamic lifting. Available from 2204.13041 Google ScholarGoogle Scholar
  9. Peng Fu, Kohei Kishida, and Peter Selinger. 2020. Linear dependent type theory for quantum programming languages. In Proceedings of the 35th Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2020, Saarbrücken, Germany. 440–453. https://doi.org/10.1145/3373718.3394765 Also available from 2004.13472 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Alexander Green, Peter LeFanu Lumsdaine, Neil J. Ross, Peter Selinger, and Benoît Valiron. 2013. An introduction to quantum programming in Quipper. In Proceedings of the 5th International Conference on Reversible Computation, RC 2013, Victoria, British Columbia (Lecture Notes in Computer Science, Vol. 7948). Springer, 110–124. https://doi.org/10.1007/978-3-642-38986-3_10 Also available from 1304.5485 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Alexander Green, Peter LeFanu Lumsdaine, Neil J. Ross, Peter Selinger, and Benoît Valiron. 2013. Quipper: a scalable quantum programming language. In Proceedings of the 34th Annual ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2013, Seattle (ACM SIGPLAN Notices, Vol. 48(6)). 333–342. https://doi.org/10.1145/2499370.2462177 Also available from 1304.3390 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. G. M. Kelly. 1982. Basic concepts of enriched category theory (Lecture Notes of the London Mathematical Society, Vol. 64). Cambridge University Press. Google ScholarGoogle Scholar
  13. Dongho Lee, Valentin Perrelle, Benoît Valiron, and Zhaowei Xu. 2021. Concrete categorical model of a quantum circuit description language with measurement. In 41st IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science, FSTTCS 2021, Mikolaj Bojanczyk and Chandra Chekuri (Eds.) (LIPIcs, Vol. 213). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 51:1–51:20. https://doi.org/10.4230/LIPIcs.FSTTCS.2021.51 Google ScholarGoogle ScholarCross RefCross Ref
  14. Bert Lindenhovius, Michael Mislove, and Vladimir Zamdzhiev. 2018. Enriching a linear/non-linear lambda calculus: A programming language for string diagrams. In Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science (LICS ’18). Association for Computing Machinery, New York, NY, USA. 659–668. isbn:9781450355834 https://doi.org/10.1145/3209108.3209196 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 2020. MetaOCaml – an OCaml dialect for multi-stage programming. https://okmij.org/ftp/ML/MetaOCaml.html Accessed: 2022-10-05 Google ScholarGoogle Scholar
  16. Eugenio Moggi. 1991. Notions of computation and monads. Information and Computation, 93, 1 (1991), 55–92. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Michael A. Nielsen and Isaac L. Chuang. 2002. Quantum Computation and Quantum Information. Cambridge University Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Bernhard Ömer. 1998. A Procedural Formalism for Quantum Computing. Master’s thesis. Department of Theoretical Physics, Technical University of Vienna. http://tph.tuwien.ac.at/~oemer/qcl.html Google ScholarGoogle Scholar
  19. Adam Paetznick and Krysta M. Svore. 2014. Repeat-until-success: Non-deterministic decomposition of single-qubit unitaries. Quantum Information and Computation, 14, 15–16 (2014), 1277–1301. https://doi.org/10.26421/QIC14.15-16-2 Also available from 1311.1074 Google ScholarGoogle ScholarCross RefCross Ref
  20. Jennifer Paykin, Robert Rand, and Steve Zdancewic. 2017. QWIRE: a core language for quantum circuits. In Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages (ACM SIGPLAN Notices, Vol. 52). 846–858. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Benjamin C. Pierce and David N. Turner. 2000. Local type inference. ACM Transactions on Programming Languages and Systems (TOPLAS), 22, 1 (2000), 1–44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Mathys Rennela and Sam Staton. 2020. Classical control, quantum circuits and linear logic in enriched category theory. Logical Methods in Computer Science, 16, 1 (2020), 30:1–24. https://doi.org/10.23638/LMCS-16(1:30)2020 Google ScholarGoogle ScholarCross RefCross Ref
  23. Francisco Rios and Peter Selinger. 2018. A categorical model for a quantum circuit description language. Extended Abstract. In Proceedings of the 14th International Conference on Quantum Physics and Logic, QPL 2017, Nijmegen (Electronic Proceedings in Theoretical Computer Science, Vol. 266). 164–178. https://doi.org/10.4204/EPTCS.266.11 Also available from 1706.02630 Google ScholarGoogle ScholarCross RefCross Ref
  24. Neil J. Ross. 2015. Algebraic and logical methods in quantum computation. Ph. D. Dissertation. Dalhousie University, Department of Mathematics and Statistics. Available from 1510.02198 Google ScholarGoogle Scholar
  25. Peter Selinger. 2004. Towards a quantum programming language. Mathematical Structures in Computer Science, 14, 4 (2004), 527–586. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Peter Selinger and Benoît Valiron. 2009. Quantum lambda calculus. In Semantic Techniques in Quantum Computation, Simon Gay and Ian Mackie (Eds.). Cambridge University Press, 135–172. Google ScholarGoogle Scholar
  27. Walid Taha and Tim Sheard. 2000. MetaML and multi-stage programming with explicit annotations. Theoretical Computer Science, 248, 1 (2000), 211–242. issn:0304-3975 https://doi.org/10.1016/S0304-3975(00)00053-0 PEPM’97 Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Proto-Quipper with Dynamic Lifting

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Article Metrics

        • Downloads (Last 12 months)102
        • Downloads (Last 6 weeks)8

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!