We propose an extension of simply typed lambda-calculus to handle some properties of quantum computing. The equiprobable quantum superposition is taken as a commutative pair and the quantum measurement as a non-deterministic projection over it. Destructive interferences are achieved by introducing an inverse symbol with respect to pairs. The no-cloning property is ensured by using a combination of syntactic linearity with linear logic. Indeed, the syntactic linearity is enough for unitary gates, while a function measuring its argument needs to enforce that the argument is used only once.
We propose an extension of simply typed lambda-calculus to handle some properties of quantum computing. The equiprobable quantum superposition is taken as a commutative pair and the quantum measurement as a non-deterministic projection over it. Destructive interferences are achieved by introducing an inverse symbol with respect to pairs. The no-cloning property is ensured by using a combination of syntactic linearity with linear logic. Indeed, the syntactic linearity is enough for unitary gates, while a function measuring its argument needs to enforce that the argument is used only once.
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.
Abstract We give an adequate, concrete, categorical-based model for Lambda- S , which is a typed version of a linear-algebraic lambda calculus, extended with measurements. Lambda- S is an extension to first-order lambda calculus unifying two approaches of non-cloning in quantum lambda-calculi: to forbid duplication of variables and to consider all lambda-terms as algebraic linear functions. The type system of Lambda- S has a superposition constructor S such that a type A is considered as the base of a vector space, while SA is its span. Our model considers S as the composition of two functors in an adjunction relation between the category of sets and the category of vector spaces over C . The right adjoint is a forgetful functor U, which is hidden in the language, and plays a central role in the computational reasoning.
Non-harmonious logical connectives have recently been shown to provide a natural proof-theoretic account of quantum measurement. In particular, the connective sup introduced by Díaz-Caro and Dowek endows intuitionistic natural deduction with both harmonious and excessive rules, and its proof language forms the core of a quantum programming language. However, the resulting calculus is still permissive enough to express non-linear or genuinely non-physical operations: nothing in the type system enforces linearity or prevents the cloning of quantum data. In this paper we introduce a linear version of the sup-calculus. We separate classical and quantum data by means of a two-zone context discipline, and we restrict the use of the sup-connective and scalar combinations to ensure that well-typed quantum programs denote linear maps between finite-dimensional Hilbert spaces. We give a natural deduction style type system, an operational semantics with both deterministic and measurement steps, and we prove subject reduction and type soundness. We then show that no term in the purely quantum fragment can implement a duplicator qbit⊸qbit⊗qbit, while classical outcomes of measurements can still be duplicated freely. Finally, we sketch a denotational semantics in which closed quantum terms denote completely positive maps, and we relate our system to existing quantum λ-calculi.
The objective of this thesis is to develop a semantics for higher-order quantum information. Following the work done in the author's M.Sc. thesis, we study a lambda calculus for quantum computation with classical control. The language features two important properties. The first one, arising from the so-called no-cloning theorem of quantum computation, is the need for a distinction between duplicable and non-duplicable elements. For keeping track of duplicability at higher order, we use a type system inspired by the resource-sensitive linear logic. The second important aspect is the probability inherent to measurement, the only operation for retrieving classical data from quantum data. This forces us into choosing a reduction strategy for being able to define an operational semantics. We address the question of a denotational semantics in two respects. First, we restrict the study to the strictly linear aspect of the language. Doing so, we suppress the need for distinguishing between duplicable and non-duplicable elements and we can focus on the description of quantum features at higher order. Using the category of completely positive maps as a framework, we build a fully abstract denotational model of the strictly linear fragment of the language. The study of the full language is more demanding. For dealing with the probabilistic aspect of the language, we use a method inspired by Moggi and build a computational model with a distinction between values and computations. For the distinction between duplicability and non-duplicability in the calculus, we adapt Bierman's linear category, where the duplication is considered as a comonad with specific properties. The resulting model is what we call a linear category for duplication. Finally, we only focus on the fragment of the language that contains the aforementioned elements, and remove the classical Boolean and quantum Boolean features to get a generic computational linear lambda-calculus. In this idealized setting, we show that such a language have a full and complete interpretation in a linear category for duplication.
Lambda- S is an extension to first-order lambda calculus unifying two approaches of non-cloning in quantum lambda-calculi. One is to forbid duplication of variables, while the other is to consider all lambda-terms as algebraic linear functions. The type system of Lambda- S have a constructor S such that a type A is considered as the base of a vector space while S ( A ) is its span. A first semantics of this calculus have been given when first presented, with such an interpretation: superposed types are interpreted as vectors spaces while non-superposed types as their basis. In this paper we give a concrete categorical semantics of Lambda- S , showing that S is interpreted as the composition of two functors in an adjunction relation between the category of sets and the category of vector spaces over C . The right adjoint is a forgetful functor U , which is hidden in the language, and plays a central role in the computational reasoning.