Proquest Dissertations
Total Page:16
File Type:pdf, Size:1020Kb
u Ottawa L'Universite canadienne Canada's university FACULTE DES ETUDES SUPERIEURES nm FACULTY OF GRADUATE AND ET POSTOCTORALES U Ottawa POSDOCTORAL STUDIES L'Universitt eanodienne Canada's university Benoit Valiron AUTEUR DE LA THESE / AUTHOR OF THESIS Ph.D. (Mathematics) GRADE/DEGREE Department of Mathematics and Statistics FACULTE, ECOLE, DEPARTEMENT / FACULTY, SCHOOL, DEPARTMENT Semantics for a Higher-Order Functional Programming Language for Quantum Computation TITRE DE LA THESE / TITLE OF THESIS Peter Selinger DIRECTEUR (DIRECTRICE) DE LA THESE / THESIS SUPERVISOR CO-DIRECTEUR (CO-DIRECTRICE) DE LA THESE / THESIS CO-SUPERVISOR EXAMINATEURS (EXAMINATRICES) DE LA THESE/THESIS EXAMINERS Richard Blute Douglas Howe Pieter Hofstra Prakash Panangaden Gary W. Slater Le Doyen de la Faculte des etudes superieures et postdoctorales / Dean of the Faculty of Graduate and Postdoctoral Studies Semantics for a Higher-Order Functional Programming Language for Quantum Computation. Benoit Valiron Thesis Submitted to the Faculty of Graduate and Postdoctoral Studies In partial fulfillment of the requirements for the degree of Doctor of Philosophy in Mathematics1 Department of Mathematics and Statistics Faculty of Science University of Ottawa © Benoit Valiron, Ottawa, Canada, 2008 1The Ph.D. program is a joint program with Carleton University, administered by the Ottawa-Carleton Institute of Mathematics and Statistics Library and Bibliotheque et 1*1 Archives Canada Archives Canada Published Heritage Direction du Branch Patrimoine de I'edition 395 Wellington Street 395, rue Wellington Ottawa ON K1A0N4 Ottawa ON K1A0N4 Canada Canada Your file Votre reference ISBN: 978-0-494-46525-7 Our file Notre reference ISBN: 978-0-494-46525-7 NOTICE: AVIS: The author has granted a non L'auteur a accorde une licence non exclusive exclusive license allowing Library permettant a la Bibliotheque et Archives and Archives Canada to reproduce, Canada de reproduire, publier, archiver, publish, archive, preserve, conserve, sauvegarder, conserver, transmettre au public communicate to the public by par telecommunication ou par Plntemet, prefer, telecommunication or on the Internet, distribuer et vendre des theses partout dans loan, distribute and sell theses le monde, a des fins commerciales ou autres, worldwide, for commercial or non sur support microforme, papier, electronique commercial purposes, in microform, et/ou autres formats. paper, electronic and/or any other formats. The author retains copyright L'auteur conserve la propriete du droit d'auteur ownership and moral rights in et des droits moraux qui protege cette these. this thesis. Neither the thesis Ni la these ni des extraits substantiels de nor substantial extracts from it celle-ci ne doivent etre imprimes ou autrement may be printed or otherwise reproduits sans son autorisation. reproduced without the author's permission. In compliance with the Canadian Conformement a la loi canadienne Privacy Act some supporting sur la protection de la vie privee, forms may have been removed quelques formulaires secondaires from this thesis. ont ete enleves de cette these. While these forms may be included Bien que ces formulaires in the document page count, aient inclus dans la pagination, their removal does not represent il n'y aura aucun contenu manquant. any loss of content from the thesis. Canada Pour mon pere. Abstract 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 quan tum 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. m Acknowledgements Numerous people allowed me to write this thesis. In particular, I would like to thank: • Peter, who supported me for yet another degree; • Caroline, who came all the way to Halifax; • my parents, for being supportive all that time; • Rob, for feeding me with coffee; • the administrative staff of both Dalhousie and Ottawa University, for being so helpful; • and finally Gilles, for printing more that 1000 pages of this opus of content. IV Contents Abstract iii Acknowledgements iv List of Figures ix List of Tables x 1 Introduction 1 2 Notions of Category Theory 6 2.1 Categories and Functors 6 2.2 Natural Transformations 7 2.3 Adjoint Functors 8 2.4 Products and Coproducts 9 2.5 Monads 10 2.6 Comonads 11 2.7 Symmetric Monoidal Categories and Comonoids 13 2.7.1 Monoidal Categories 13 2.7.2 Commutative Comonoids 13 2.8 Monoidal Comonads and Coalgebras 14 3 Quantum Computation 17 3.1 Mathematical Formalism 17 3.1.1 Generalities on Finite Dimensional Hilbert Spaces 17 3.1.2 Tensor Products of Hilbert Spaces 19 3.1.3 Completely Positive Maps 19 3.1.4 Superoperators 20 3.1.5 The 2-Dimensional Hilbert Space 21 3.2 Quantum Foundations 23 3.2.1 Quantum Bits 23 3.2.2 Operations 23 3.2.3 Mixed States 25 3.3 Quantum Effects 26 3.3.1 No Cloning 26 3.3.2 Entanglement 26 3.3.3 Bell's Inequalities 27 3.4 Some Algorithms and Uses of Quantum Effects 28 3.4.1 Teleportation 28 v CONTENTS vi 3.4.2 Dense Coding 30 3.4.3 The Deutsch Algorithm 31 4 A Tour in Existing Models of Quantum Computation 32 4.1 The Various Paradigms 32 4.1.1 Unitary Gates as Computation 32 4.1.2 Concurrent Quantum Computation 34 4.1.3 Measurement-Based Quantum Computation 34 4.1.4 The QRAM Model 35 4.2 Formalism of Hilbert Spaces 35 4.2.1 Dagger Compact-Closed Categories 36 4.2.2 Classical Objects 37 4.3 A Flow-Chart Language 37 4.3.1 The language 37 4.3.2 The Category of Superoperators 37 4.3.3 Interpretation of the Flow-Chart Language 39 4.4 Extension to Higher Order 40 5 Lambda Calculus and Semantics of Higher-Order Computation 41 5.1 Lambda Calculus 41 5.1.1 The Language 41 5.1.2 Free and Bound Variables 42 5.1.3 Alpha-Equivalence 42 5.1.4 Operational Meaning of Lambda Calculus 42 5.1.5 Typed Lambda Calculus 43 5.2 Proofs as Computations 45 5.2.1 Intuitionistic Logic 46 5.2.2 Curry-Howard Isomorphism 46 5.3 Categorical Logic 47 5.4 Lambda Calculus and Side Effects 48 5.4.1 Pure Versus Impure Calculus 48 5.4.2 Reduction Strategies 49 5.4.3 Towards a Semantics 49 5.4.4 Computational Model for Call-By-Value 50 5.5 Intuitionistic Linear Logic 51 5.6 Linear Calculi and their Interpretations 51 5.6.1 Earlier Models 52 5.6.2 Bierman's Linear Category 52 6 A Lambda Calculus for Quantum Computation 54 6.1 The Language 54 6.2 Operational Semantics 56 6.2.1 Abstract Machine 56 6.2.2 Evaluation Strategy 56 6.2.3 Probabilistic Reduction Systems 58 6.2.4 Reduction System 59 6.3 Type System 60 6.3.1 Types 60 6.3.2 Typing Rules 61 6.4 Properties of the Type System 62 CONTENTS vii 6.4.1 Safety Properties 62 6.4.2 Type Inference Algorithm 63 6.5 Examples of Algorithms 64 6.5.1 The Deutsch Algorithm 64 6.5.2 The Teleportation Procedure 64 6.5.3 Type Derivation of the Teleportation Protocol 65 6.5.4 Reduction of the Teleportation Term 67 6.5.5 Reduction of the Superdense Coding Term 68 6.6 Towards a Denotational Semantics 69 7 The Linear Fragment 70 7.1 A Linear Lambda Calculus for Quantum Computation 70 7.2 Operational Semantics 75 7.2.1 Small Step Semantics 75 7.2.2 Safety Properties 77 7.2.3 Normalization 79 7.2.4 Quantum Context and Reduction 81 7.2.5 Reduction to Values 82 7.3 Denotational Semantics 83 7.3.1 Modeling the Linear Quantum Lambda Calculus 83 7.3.2 Fullness of the First-Order Fragment 89 7.3.3 Fullness up to Scalar Multiple 91 7.4 Equivalence Classes of Terms 94 7.4.1 Axiomatic Equivalence 94 7.4.2 Operational Context 95 7.4.3 Operational Equivalence 95 7.4.4 Denotational Equivalence 96 7.5 Soundness and Full Abstraction 96 7.5.1 Proof of the Soundness Theorem 97 7.5.2 Full Abstraction: Preliminary Lemmas 97 7.5.3 Proof of the Full Abstraction Theorem 98