A Double Effect λ-calculus for Quantum Computation

  • Juliana Kaizer Vizzotto
  • Bruno Crestani Calegaro
  • Eduardo Kessler Piveta
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8129)


In this paper we present a double effect version of the simply typed λ-calculus where we can represent both pure and impure quantum computations. The double effect calculus comprises a quantum arrow layer defined over a quantum monadic layer. In previous works we have developed the quantum arrow calculus, a calculus where we can consider just impure (or mixed) quantum computations. Technically, here we extend the quantum arrow calculus with a construct (and equations) that allows the communication of the monadic layer with the arrow layer of the calculus. That is, the quantum arrow is defined over a monadic instance enabling to consider pure and impure quantum computations in the same framework. As a practical contribution, the calculus allows to express quantum algorithms including reversible operations over pure states and measurements in the middle of the computation using a traditional style of functional programming and reasoning. We also define equations for algebraic reasoning of computations involving measurements.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Selinger, P.: Towards a quantum programming language. Mathematical Structures in Computer Science 4(14), 527–586 (2004)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Altenkirch, T., Grattage, J.: A functional quantum programming language. In: 20th Annual IEEE Symposium on Logic in Computer Science (2005)Google Scholar
  3. 3.
    van Tonder, A.: A lambda calculus for quantum computation. SIAM Journal of Computing 33, 1109–1135 (2004)CrossRefMATHGoogle Scholar
  4. 4.
    Arrighi, P., Dowek, G.: Linear-algebraic λ-calculus: higher-order, encodings, and confluence. In: Voronkov, A. (ed.) RTA 2008. LNCS, vol. 5117, pp. 17–31. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  5. 5.
    Selinger, P., Valiron, B.: A lambda calculus for quantum computation with classical control. Mathematical Structures in Computer Science 16(3), 527–552 (2006)MathSciNetCrossRefMATHGoogle Scholar
  6. 6.
    Selinger, P., Valiron, B.: Quantum lambda calculus. In: Gay, S., Mackie, I. (eds.) Semantic Techniques in Quantum Computation, pp. 135–172. Cambridge University Press (2009)Google Scholar
  7. 7.
    Uustalu, T., Vene, V.: The essence of dataflow programming. In: Yi, K. (ed.) APLAS 2005. LNCS, vol. 3780, pp. 2–18. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  8. 8.
    Moggi, E.: Computational lambda-calculus and monads. In: Proceedings of the Fourth Annual Symposium on Logic in Computer Science, pp. 14–23. IEEE Press (1989)Google Scholar
  9. 9.
    Vizzotto, J.K., Altenkirch, T., Sabry, A.: Structuring quantum effects: Superoperators as arrows. Journal of Mathematical Structures in Computer Science: Special Issue in Quantum Programming Languages 16, 453–468 (2006)MathSciNetCrossRefMATHGoogle Scholar
  10. 10.
    Hughes, J.: Generalising monads to arrows. Science of Computer Programming 37, 67–111 (2000)MathSciNetCrossRefMATHGoogle Scholar
  11. 11.
    Lindley, S., Wadler, P., Yallop, J.: The arrow calculus. Journal of Functional Programming, 51–69 (2010)Google Scholar
  12. 12.
    Vizzotto, J.K., Librelotto, G.R., Sabry, A.: Reasoning about general quantum programs over mixed states. In: Oliveira, M.V.M., Woodcock, J. (eds.) SBMF 2009. LNCS, vol. 5902, pp. 321–335. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  13. 13.
    Mu, S.C., Bird, R.: Functional quantum programming. In: Second Asian Workshop on Programming Languages and Systems, KAIST, Korea (December 2001)Google Scholar
  14. 14.
    Vizzotto, J.K., Du Bois, A.R., Sabry, A.: The arrow calculus as a quantum programming language. In: Ono, H., Kanazawa, M., de Queiroz, R. (eds.) WoLLIC 2009. LNCS, vol. 5514, pp. 379–393. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  15. 15.
    Altenkirch, T., Chapman, J., Uustalu, T.: Relative monads formalised. Under consideration for Publication in Mathematical Structures in Computer Science (2010)Google Scholar
  16. 16.
    Abramsky, S.: High-level methods for quantum computation and information. In: LICS, pp. 410–414 (2004)Google Scholar
  17. 17.
    Selinger, P.: Dagger compact closed categories and completely positive maps. Electronic Notes in Theoretical Computer Science 170, 139–163 (2007)MathSciNetCrossRefGoogle Scholar
  18. 18.
    Coecke, B.: Strongly compact closed semantics. Electronic Notes Theoretical Computer Science 155, 331–340 (2006)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Juliana Kaizer Vizzotto
    • 1
    • 2
  • Bruno Crestani Calegaro
    • 1
    • 2
  • Eduardo Kessler Piveta
    • 1
    • 2
  1. 1.Programa de Pós Graduação em Informática, DELC/CTCidade UniversitáriaBrazil
  2. 2.Universidade Federal de Santa MariaBrazil

Personalised recommendations