Skip to main content Accessibility help
×
Hostname: page-component-cd9895bd7-7cvxr Total loading time: 0 Render date: 2024-12-24T19:09:15.393Z Has data issue: false hasContentIssue false

4 - Quantum Lambda Calculus

Published online by Cambridge University Press:  05 July 2014

Peter Selinger
Affiliation:
Dalhousie University
Benoît Valiron
Affiliation:
Ecole Polytechnique
Simon Gay
Affiliation:
University of Glasgow
Ian Mackie
Affiliation:
Imperial College London
Get access

Summary

Abstract

We discuss the design of a typed lambda calculus for quantum computation. After a brief discussion of the role of higher-order functions in quantum information theory, we define the quantum lambda calculus and its operational semantics. Safety invariants, such as the no-cloning property, are enforced by a static type system that is based on intuitionistic linear logic. We also describe a type inference algorithm and a categorical semantics.

4.1 Introduction

The lambda calculus, developed in the 1930s by Church and Curry, is a formalism for expressing higher-order functions. In a nutshell, a higher-order function is a function that inputs or outputs a “black box,” which is itself a (possibly higher-order) function. Higher-order functions are a computationally powerful tool. Indeed, the pure untyped lambda calculus has the same computational power as Turing machines (Turing 1937). At the same time, higher-order functions are a useful abstraction for programmers. They form the basis of functional programming languages such as LISP (McCarthy 1960), Scheme (Sussman and Steele 1975), ML (Milner 1978), and Haskell (Hudak et al. 2007).

In this chapter, we discuss how to combine higher-order functions with quantum computation. We believe that this is an interesting question for a number of reasons. First, the combination of higher-order functions with quantum phenomena raises the prospect of entangled functions. Certain well-known quantum phenomena can be naturally described in terms of entangled functions, and we give some examples of this in Section 4.2.

Type
Chapter
Information
Publisher: Cambridge University Press
Print publication year: 2009

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Abramsky, S. (1993) Computational interpretations of linear logic. Theoretical Computer Science 111:3–57.CrossRefGoogle Scholar
Altenkirch, T., and Grattage, J. (2005) A functional quantum programming language. In Proceedings of the 20th IEEE Symposium on Logic in Computer Science, LICS'05, pages 249–258. IEEE Computer Society Press.Google Scholar
Barendregt, H. P. (1984) The Lambda Calculus: Its Syntax and Semantics, volume 103 of Studies in Logic and the Foundation of Mathematics. North Holland, second edition.Google Scholar
Bell, J. S. (1964) On the Einstein Podolsky Rosen paradox. Physics 1:195–200.Google Scholar
Bennett, C. H., Brassard, G., Crépeau, C., Jozsa, R., Peres, A., and Wootters, W. K. (1993) Tele-porting an unknown quantum state via dual classical and Einstein-Podolsky-Rosen channels. Physical Review Letters 70(13):1895–1899.CrossRefGoogle ScholarPubMed
Bennett, C. H., and Wiesner, S. J. (1992) Communication via one- and two-particle operators on Einstein-Podolsky-Rosen states. Physical Review Letters 69(20):2881–2884.CrossRefGoogle ScholarPubMed
Benton, N. (1995) A mixed linear and non-linear logic: Proofs, terms and models (extended abstract). In Proceedings of the Eighth Workshop on Computer Science Logic, CSL'94, Selected Papers, volume 933 of Lecture Notes in Computer Science, pages 121–135. Springer.Google Scholar
Benton, N., Bierman, G., de Paiva, V, and Hyland, M. (1993a) Linear A-calculus and categorical models revisited. In Proceedings of the Sixth Workshop on Computer Science Logic, CSL'92, Selected Papers, volume 702 of Lecture Notes in Computer Science, pages 61–84. Springer.Google Scholar
Benton, N., Bierman, G., de Paiva, V, and Hyland, M. (1993b) A term calculus for intuitionistic linear logic. In Proceedings of the International Conference on Typed Lambda Calculi and Applications, TLCA '93, volume 664 of Lecture Notes in Computer Science, pages 75–90. Springer.Google Scholar
Benton, N., and Wadler, P. (1996) Linear logic, monads and the lambda calculus. In Proceedings of the 11th IEEE Symposium on Logic in Computer Science, LICS'96, pages 420–431. IEEE Computer Society Press.Google Scholar
Bierman, G. (1993) On Intuitionistic Linear Logic. Ph.D. thesis, University of Cambridge Computer Laboratory, Cambridge, England. Available as Technical Report 346, August 1994.Google Scholar
Deutsch, D., and Jozsa, R. (1992) Rapid solution of problems by quantum computation. Proceedings of the Royal Society of London A 439:553–558.CrossRefGoogle Scholar
Girard, J.-Y. (1987) Linear logic. Theoretical Computer Science 50(1):1–101.CrossRefGoogle Scholar
Hudak, P, Hughes, J., Peyton Jones, S., and Wadler, P. (2007) A history of Haskell: Being lazy with class. In HOPL III: Proceedings of the Third ACM SIGPLAN Conference on History of Programming Languages, pages 12.1-55. Association for Computing Machinery.Google Scholar
Knill, E. H. (1996) Conventions for quantum pseudocode. Technical Report LAUR-96-2724, Los Alamos National Laboratory.CrossRefGoogle Scholar
Lambek, J., and Scott, P. (1986) Introduction to Higher Order Categorical Logic, volume 7 of Cambridge Studies in Advanced Mathematics. Cambridge University Press.Google Scholar
Mac Lane, S. (1971) Categories for the Working Mathematician, volume 5 of Graduate Texts in Mathematics. Springer.CrossRefGoogle Scholar
Maneggia, P. (2004) Models of Linear Polymorphism. Ph.D. thesis, School of Computer Science, University of Birmingham.Google Scholar
McCarthy, J. (1960) Recursive functions of symbolic expressions and their computation by machine, part I. Communications of the ACM 3(4):184–195.CrossRefGoogle Scholar
Melliès, P-A. (2003) Categorical models of linear logic revisited. Technical Report 22, Laboratoire Preuves, Programmes et Systèmes, CNRS and Paris 7.Google Scholar
Milner, R. (1978) A theory of type polymorphism in programming. Journal of Computer and System Sciences 17:348–375.CrossRefGoogle Scholar
Moggi, E. (1991) Notions of computation and monads. Information and Computation 93(1):55-92.CrossRefGoogle Scholar
Pierce, B. C. (2002) Types and Programming Languages. MIT Press.Google Scholar
Schalk, A. (2004) What is a categorical model of linear logic? Manuscript, available from http://www.cs.man.ac.uk/~schalk/work.html.Google Scholar
Seely, R. A. (1989) Linear logic, *-autonomous categories and cofree coalgebras. In Proceedings of Categories in Computer Science and Logic, Boulder, 1987, volume 92 of Contemporary Mathematics, pages 371–382. American Mathematical Society.Google Scholar
Selinger, P. (2004) Towards a quantum programming language. Mathematical Structures in Computer Science 14(4):527–586.CrossRefGoogle Scholar
Selinger, P., and Valiron, B. (2005) A lambda calculus for quantum computation with classical control. In Proceedings of the Seventh International Conference on Typed Lambda Calculi and Applications, TLCA '05, volume 3461 of Lecture Notes in Computer Science, pages 354-368. Springer.Google Scholar
Selinger, P., and Valiron, B. (2006) A lambda calculus for quantum computation with classical control. Mathematical Structures in Computer Science 16(3):527–552.CrossRefGoogle Scholar
Selinger, P., and Valiron, B. (2008a) A linear-non-linear model for a computational call-by-value lambda calculus. In Proceedings of the Eleventh International Conference on Foundations of Software Science and Computation Structures, FOSSACS 2008, volume 4962 of Lecture Notes in Computer Science, pages 81–96. Budapest.Google Scholar
Selinger, P., and Valiron, B. (2008b) On a fully abstract model for a quantum linear functional language. In Proceedings of the Fourth International Workshop on Quantum Programming Languages, QPL 2006, volume 210 of Electronic Notes in Theoretical Computer Science, pages 123-137.Google Scholar
Sussman, G. J., and Steele, G. L. Jr. (1975) Scheme: An interpreter for extended lambda calculus. Technical Report AIM-349, MIT.Google Scholar
Troelstra, A. S. (1992) Lectures on Linear Logic, volume 29 of CSLI Lecture Notes. University of Chicago Press, second edition.Google Scholar
Turing, A. M. (1937) On computable numbers, with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society, Series 2 42:230–265.Google Scholar
Valiron, B. (2004a) A functional Programming Language for Quantum Computation with Classical Control. Master's thesis, Department of Mathematics and Statistics, University of Ottawa.Google Scholar
Valiron, B. (2004b) Quantum typing. In Proceedings of the Second International Workshop on Quantum Programming Languages, QPL 2004, TUCS General Publication 33, pages 163-178. Turku Centre for Computer Science, Turku, Finland.Google Scholar
Valiron, B. (2008) Semantics for a Higher-Order Functional Programming Language for Quantum Computation. Ph.D. thesis, Department of Mathematics and Statistics, University of Ottawa.Google Scholar
van Tonder, A. (2004) A lambda calculus for quantum computation. SIAM Journal of Computing 33(5):1109–1135.CrossRefGoogle Scholar

Save book to Kindle

To save this book to your Kindle, first ensure [email protected] is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about saving to your Kindle.

Note you can select to save to either the @free.kindle.com or @kindle.com variations. ‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi. ‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

Find out more about the Kindle Personal Document Service.

Available formats
×

Save book to Dropbox

To save content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about saving content to Dropbox.

Available formats
×

Save book to Google Drive

To save content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about saving content to Google Drive.

Available formats
×