Successfully reported this slideshow.
Upcoming SlideShare
×

# Typing quantum superpositions and measurement

88 views

Published on

We propose a way to unify two approaches of non-cloning in quantum lambda-calculi. The first approach is to forbid duplicating variables, while the second is to consider all lambda-terms as algebraic-linear functions. We illustrate this idea by defining a quantum extension of first-order simply-typed lambda-calculus, where the type is linear on superposition, while allows cloning base vectors. In addition, we provide an interpretation of the calculus where superposed types are interpreted as vector spaces and non-superposed types as their basis.

Slides of LNCS 10687:281-293 paper (TPNC 2017). Full paper: https://doi.org/10.1007/978-3-319-71069-3_22

Published in: Education
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

### Typing quantum superpositions and measurement

1. 1. Typing quantum superpositions and measurement Alejandro Díaz-Caro UNIVERSIDAD NACIONAL DE QUILMES & CONICET Buenos Aires, Argentina Gilles Dowek INRIA, LSV, ENS PARIS-SACLAY Cachan, France TPNC 2017 December 18-20, 2017, Prague, Czech Republic
2. 2. Motivation We are interested in the most natural way of forbidding dupplication in quantum programming languages and formal logics A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 1 / 17
3. 3. Outline Quantum mechanics, in two slides Simply typed lambda calculus, in two slides Motivation, better explained Our work: A quantum lambda calculus
4. 4. Quantum mechanics, in two slides (I) The postulates 1 and 2 Postulate 1: Quantum states & (A bit) more precisely: Normalized vectors ∈ C2n α β = α |0 + β |1 ∈ C2     α β γ δ     = α(|0 ⊗ |0 ) + β(|0 ⊗ |1 ) +γ(|1 ⊗ |0 ) + δ(|1 ⊗ |1 ) ∈ C4 Postulate 2: Evolution & = & & (A bit) more precisely: Unitary transformation (matrix) U α β = U(α |0 + β |1 ) = δ |0 + γ |1 = δ γ A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 2 / 17
5. 5. Quantum computing, in two slides (II) The postulates 3 and 4 Postulate 3: Measurement & (A bit) more precisely: 2n i=0 αi |i collapses to |k with probability |αk |2 Postulate 4: Composition & ⊗ & More precisely: Tensor product α β ⊗ γ δ =     αγ αδ βγ βδ     ∈ C2 ⊗ C2 = C4 Consequence: No cloning A superposed state cannot be cloned & & ⊗ & A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 3 / 17
6. 6. Simply typed lambda calculus, in two slides (I) History, deﬁnitions, and intuitions Introduced in 1936 by Alonzo Church Motivation: Studying the foundations of mathematics (in particular, the concept of recursion) Why we still use it? Simplest model to study properties of programming languages (base of functional programming) Connection with logics (Curry-Howard isomorphism) Grammar t := x | λx.t | tt Rewrite rule (λx.t) r → t[r/x] Example: Let x2 + 1 be a λ-term (with some codiﬁcation) f (x) = x2 + 1 would be written λx.x2 + 1 f (t) is written (λx.x2 + 1) t and reduces to (x2 + 1)[t/x] = t2 + 1 A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 4 / 17
7. 7. Simply typed lambda calculus, in two slides (II) Types and logic Terms t := x | λxA .t | tt Types A := τ | A ⇒ A τ is a basic type A ⇒ B is the function type Context: A set of typed variables: Γ = xA1 1 , . . . , xAn n Typing rules | Derivation rules Γ, xA x : A Γ, xA t : B Γ λxA .t : A ⇒ B Γ t : A ⇒ B Γ r : A Γ tr : B Example of type derivation yA⇒A y : A ⇒ A λyA⇒A .y : (A ⇒ A) ⇒ (A ⇒ A) xA x : A λxA .x : A ⇒ A (λyA⇒A .y) (λxA .x) : A ⇒ A Veriﬁcation: (λyA⇒A .y) (λxA .x) rewrites to λxA .x (of type A ⇒ A) A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 5 / 17
8. 8. Motivation Two approaches in the literature to deal with no cloning Linear-logic approach & e.g. λx.(x ⊗ x) is forbidden Linear-algebra approach & e.g. f (α |0 + β |1 ) → αf (|0 ) + βf (|1 ) A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 6 / 17
9. 9. Motivation Measurement & The linear-algebra approach does not make sense here. . . & . . . but the linear-logic one, does e.g. (λx.πx) (α. |0 + β. |1 ) −→ α.(λx.πx) |0 + β.(λx.πx) |1 Wrong! (Measurement operator) A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 7 / 17
10. 10. Key point We need to distinguish superposed states from basis states using types Basis states can be cloned Superposed states cannot Functions receiving superposed states, cannot clone its argument A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 8 / 17
11. 11. Grammars First version, without tensor Types Ψ := B | S(Ψ) Qubit types A := Ψ | Ψ ⇒ A | S(A) Types Terms t := x | λxΨ .t | |0 | |1 basis terms | tt | πt | ?· | t + t | α.t | 0S(A) linear combinations where α ∈ C A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 9 / 17
12. 12. Typing applications Γ t : Ψ ⇒ A ∆ u : Ψ Γ, ∆ tu : A ⇒E What about (λxB .t) (b1 + b2) S(B) ? Γ t : Ψ ⇒ A ∆ u : S(Ψ) Γ, ∆ tu : S(A) What about ((λxB .t) + (λyB .u)) S(B⇒A) v? Γ t : S(Ψ ⇒ A) ∆ u : S(Ψ) Γ, ∆ tu : S(A) ⇒ES A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 10 / 17
13. 13. Measurement π(α1.b1 + α2.b2) −→ |αk|2 |α1|2+|α2|2 bk For i = 1, 2, bi = |0 or bi = |1 . k = 1, 2 Example π(i. |0 + 2. |1 ) |0 |1 1 5 4 5 A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 11 / 17
14. 14. Adding tensor products Intepretation of types S(B) vs. B B = {|0 , |1 } ⊆ C2 A ⊗ B = A × B S(A) = G A Examples |0 B ⊗ (1/ √ 2. |0 + 1/ √ 2. |1 ) S(B) ∈ {|0 , |1 } × C2 1/ √ 2.(|0 ⊗ |0 ) + 1/ √ 2.(|0 ⊗ |1 ) S(B⊗B) ∈ C2 ⊗ C2 A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 12 / 17
15. 15. Some information is lost on reduction Subtyping {|0 , |1 } ⊂ C2 then B ≤ S(B) G(GA) = GA then S(S(B)) ≤ S(B) {|0 , |1 } × C2 ⊂ C2 ⊗ C2 then B ⊗ S(B) ≤ S(B ⊗ B) A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 13 / 17
16. 16. Some information is lost on reduction Subtyping {|0 , |1 } ⊂ C2 then B ≤ S(B) G(GA) = GA then S(S(B)) ≤ S(B) {|0 , |1 } × C2 ⊂ C2 ⊗ C2 then B ⊗ S(B) ≤ S(B ⊗ B) |0 ⊗ (|0 + |1 ) : B ⊗ S(B) |0 ⊗ |0 + |0 ⊗ |1 : S(B ⊗ B) A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 13 / 17
17. 17. Some information is lost on reduction Subtyping {|0 , |1 } ⊂ C2 then B ≤ S(B) G(GA) = GA then S(S(B)) ≤ S(B) {|0 , |1 } × C2 ⊂ C2 ⊗ C2 then B ⊗ S(B) ≤ S(B ⊗ B) |0 ⊗ (|0 + |1 ) : B ⊗ S(B) |0 ⊗ |0 + |0 ⊗ |1 : S(B ⊗ B) A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 13 / 17
18. 18. Some information is lost on reduction Subtyping {|0 , |1 } ⊂ C2 then B ≤ S(B) G(GA) = GA then S(S(B)) ≤ S(B) {|0 , |1 } × C2 ⊂ C2 ⊗ C2 then B ⊗ S(B) ≤ S(B ⊗ B) |0 ⊗ (|0 + |1 ) : B ⊗ S(B) |0 ⊗ |0 + |0 ⊗ |1 : S(B ⊗ B) Same happens in math! (X − 1)(X − 2) −→ X2 − 3X + 2 we lost the information that it was a product A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 13 / 17
19. 19. Some information is lost on reduction Subtyping {|0 , |1 } ⊂ C2 then B ≤ S(B) G(GA) = GA then S(S(B)) ≤ S(B) {|0 , |1 } × C2 ⊂ C2 ⊗ C2 then B ⊗ S(B) ≤ S(B ⊗ B) |0 ⊗ (|0 + |1 ) : B ⊗ S(B) |0 ⊗ |0 + |0 ⊗ |1 : S(B ⊗ B) Same happens in math! (X − 1)(X − 2) −→ X2 − 3X + 2 we lost the information that it was a product Solution: casting |0 ⊗ (|0 + |1 ) |0 ⊗ |0 + |0 ⊗ |1 ⇑ S(B⊗B) B⊗S(B) |0 ⊗ (|0 + |1 ) → |0 ⊗ |0 + |0 ⊗ |1 A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 13 / 17
20. 20. Full grammars Types Q := B | Q ⊗ Q Basis qubit types Ψ := Q | S(Ψ) | Ψ ⊗ Ψ Qubit types A := Ψ | Ψ ⇒ A | S(A) | A ⊗ A Types Terms t := x | λxΨ .t | |0 | |1 | tt | πj t | ?· | t + t | α.t | 0S(A) | t ⊗ t | head t | tail t | ⇑ S(B⊗C) S(A) t where α ∈ C A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 14 / 17
21. 21. Measurement of the ﬁrst j qubits Example π2( 2.(|0 ⊗ |1 ⊗ |1 ) + |0 ⊗ |1 ⊗ |0 + 3.(|1 ⊗ |1 ⊗ |1 ) ) |0 ⊗ |1 ⊗ ( 2√ 5 . |1 + 1√ 5 . |0 ) |1 ⊗ |1 ⊗ (1. |1 ) ( 5 14 ) ( 9 14 ) A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 15 / 17
22. 22. The full type system Q := B | Q ⊗ Q Basis qubit types Ψ := Q | S(Ψ) | Ψ ⊗ Ψ Qubit types A := Ψ | Ψ ⇒ A | S(A) | A ⊗ A Types x : Ψ x : Ψ ax 0S(A) : S(A) ax0 |0 : B ax|0 |1 : B ax|1 Γ t : A Γ α.t : S(A) Sα I Γ t : A ∆ u : A Γ, ∆ t + u : S(A) S+ I Γ t : QS n Γ πj t : Q S{1,...,j} n SE Γ t : A (A B) Γ t : B ?· : B ⇒ B ⇒ B ⇒ B if Γ, x : Ψ t : A Γ λx : Ψ t : Ψ ⇒ A ⇒I Γ t : Ψ ⇒ A ∆ u : Ψ Γ, ∆ tu : A ⇒E Γ t : S(Ψ ⇒ A) ∆ u : S(Ψ) Γ, ∆ tu : S(A) ⇒ES Γ t : A Γ, x : Q t : A W Γ, x : Q, y : Q t : A Γ, x : Q (x/y)t : A C Γ t : A ∆ u : B Γ, ∆ t ⊗ u : A ⊗ B ⊗I Γ t : B ⊗ Q Γ head t : B ⊗Er Γ t : B ⊗ Q Γ tail t : Q ⊗El Γ t : S(S(A) ⊗ B) Γ ⇑ S(A⊗B) S(S(A)⊗B) t : S(A ⊗ B) ⇑r Γ t : S(A ⊗ S(B)) Γ ⇑ S(A⊗B) S(A⊗S(B)) t : S(A ⊗ B) ⇑l Γ ⇑ S(A) S(B) t : S(A) Γ ⇑ S(A) S(B) α.t : S(A) ⇑α Γ ⇑ S(A) S(B) t : S(A) ∆ ⇑ S(A) S(B) r : S(A) Γ, ∆ ⇑ S(A) S(B) t + r : S(A) ⇑+ A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 16 / 17
23. 23. Summarising Extension of (pure) ﬁrst-order lambda-calculus for quantum computing Logical-linearity and algebraic-linearity both used for no-cloning Denotational semantics: Types: sets of vectors or vector spaces Terms: vectors Works in progress Strong normalisation and conﬂuence proof (with J. P. Rinaldi) Categorical model (with O. Malherbe) Haskell implementation (with I. Grimma and P. E. Martínez López) A. Díaz-Caro & G. Dowek Typing quantum superpositions and measurement 17 / 17
24. 24. Backup slides
25. 25. Why ﬁrst order CM = λyS(B) .((λxB⇒S(B) .(x |0 ) ⊗ (x |0 )) (λzB .y)) CM (α. |0 + β. |1 ) → (λxB⇒S(B) .(x |0 ) ⊗ (x |0 )) (λzB .(α. |0 + β. |1 )) → ((λzB .(α. |0 + β. |1 )) |0 ) ⊗ ((λzB .(α. |0 + β. |1 )) |0 ) →2 (α. |0 + β. |1 ) ⊗ (α. |0 + β. |1 )
26. 26. Deutsch algorithm Preliminaries Hadamard H |0 = 1 √ 2 |0 + 1 √ 2 |1 H |1 = 1 √ 2 |0 − 1 √ 2 |1
27. 27. Deutsch algorithm Preliminaries Hadamard H |0 = 1 √ 2 |0 + 1 √ 2 |1 H |1 = 1 √ 2 |0 − 1 √ 2 |1 H = λxB .1/ √ 2.(|0 + x?−|1 ·|1 )
28. 28. Deutsch algorithm Preliminaries Hadamard H |0 = 1 √ 2 |0 + 1 √ 2 |1 H |1 = 1 √ 2 |0 − 1 √ 2 |1 H = λxB .1/ √ 2.(|0 + x?−|1 ·|1 ) Oracle A “black box” implementing a function f : {0, 1} → {0, 1} Uf (|x ⊗ |y ) = |x ⊗ |y ⊕ f (x)
29. 29. Deutsch algorithm Preliminaries Hadamard H |0 = 1 √ 2 |0 + 1 √ 2 |1 H |1 = 1 √ 2 |0 − 1 √ 2 |1 H = λxB .1/ √ 2.(|0 + x?−|1 ·|1 ) Oracle A “black box” implementing a function f : {0, 1} → {0, 1} Uf (|x ⊗ |y ) = |x ⊗ |y ⊕ f (x) not = λxB .x?|0 ·|1
30. 30. Deutsch algorithm Preliminaries Hadamard H |0 = 1 √ 2 |0 + 1 √ 2 |1 H |1 = 1 √ 2 |0 − 1 √ 2 |1 H = λxB .1/ √ 2.(|0 + x?−|1 ·|1 ) Oracle A “black box” implementing a function f : {0, 1} → {0, 1} Uf (|x ⊗ |y ) = |x ⊗ |y ⊕ f (x) not = λxB .x?|0 ·|1 Uf = λxB⊗B .(head x) ⊗ ((tail x)?not(f (head x))·f (head x))
31. 31. Deutsch in λ |0 H Uf H ± |f (0) ⊕ f (1) |1 H 1√ 2 |0 − 1√ 2 |1 not = λxB .x?|0 ·|1 H = λxB .1/ √ 2.(|0 + x?−|1 ·|1 ) H⊗2 = λxB⊗B .(H(head x)) ⊗ (H(tail x)) Uf = λxB⊗B .(head x) ⊗ ((tail x)?not(f (head x))·f (head x)) H1 = λxB⊗B .(H(head x)) ⊗ (tail x) Deutschf = π1(⇑ S(B⊗B) S(S(B)⊗B) H1(Uf ⇑ S(B⊗B) S(B⊗S(B))⇑ S(B⊗S(B)) S(S(B)⊗S(B)) H⊗2 (|0 ⊗ |1 ) Deutschf : B ⊗ S(B) Deutschid −→∗ (1) π1(1/ √ 2. |1 ⊗ |0 − 1/ √ 2. |1 ⊗ |1 ) −→(1) |1 ⊗ (1/ √ 2. |0 − 1/ √ 2. |1 )
32. 32. Teleportation in λ |ψ • H |0 H • |0 Zb1 Xb2 |ψ epr = λxB⊗B .cnot(H1 x) alice = λxS(B)⊗S(B⊗B) .π2(⇑ S(B⊗B⊗B) S(S(B)⊗B⊗B) H3 1 (cnot3 12 ⇑ S(B⊗B⊗B) S(B⊗S(B⊗B))⇑ S(B⊗S(B⊗B)) S(S(B)⊗S(B⊗B)) x)) Ub = (λbB .λxB .b?Ux·x) b bob = λxB⊗B⊗B .Zhead x nothead (tail x) .(tail (tail x)) Teleportation = λqS(B) .bob (⇑ S(B⊗B⊗B) S(B⊗B⊗S(B)) alice (q ⊗ (epr |0 ⊗ |0 ))) Teleportation : S(B) ⇒ S(B) Teleportation q −→(1) q