Antum Hoare logic with classical variables - arXiv
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
Quantum Hoare logic with classical variables YUAN FENG, University of Technology Sydney, Australia arXiv:2008.06812v2 [cs.LO] 30 Apr 2021 MINGSHENG YING, University of Technology Sydney, Australia, Chinese Academy of Sciences, China, and Tsinghua University, China Hoare logic provides a syntax-oriented method to reason about program correctness, and has been proven effective in the verification of classical and probabilistic programs. Existing proposals for quantum Hoare logic either lack completeness or support only quantum variables, thus limiting their capability in practical use. In this paper, we propose a quantum Hoare logic for a simple while language which involves both classical and quantum variables. Its soundness and relative completeness are proven for both partial and total correctness of quantum programs written in the language. Remarkably, with novel definitions of classical-quantum states and corresponding assertions, the logic system is quite simple and similar to the traditional Hoare logic for classical programs. Furthermore, to simplify reasoning in real applications, auxiliary proof rules are provided which support standard logical operation in the classical part of assertions, and of super-operator application in the quantum part. Finally, a series of practical quantum algorithms, in particular the whole algorithm of Shor’s factorisation, are formally verified to show the effectiveness of the logic. CCS Concepts: • Theory of computation → Denotational semantics; Axiomatic semantics; Hoare logic; Program verification; Pre- and post-conditions; Assertions. Additional Key Words and Phrases: Quantum programming, quantum while language ACM Reference Format: Yuan Feng and Mingsheng Ying. 2021. Quantum Hoare logic with classical variables. 1, 1 (May 2021), 44 pages. https://doi.org/10.1145/nnnnnnn.nnnnnnn 1 INTRODUCTION Quantum computing and quantum communication provide potential speed-up and enhanced secu- rity compared with their classical counterparts [Bennett 1992; Bennett and Brassard 1984; Grover 1996; Harrow et al. 2009; Shor 1994]. However, the quantum features which are responsible for these benefits, such as entanglement between different systems and non-commutativity of quan- tum operations, also make analysis of quantum algorithms and protocols notoriously difficult [Mayers 2001]. Furthermore, due to the lack of reliable and scalable hardware on which practical quantum algorithms can be executed, traditional techniques such as testing and debugging in classical soft- ware engineering will not be readily available in the near future, and formal methods based static analysis of quantum programs seems indispensable. Among other techniques, Hoare logic provides a syntax-oriented proof system to reason about program correctness [Hoare 1969]. For classical (non-probabilistic) programs, the correctness is Authors’ addresses: Yuan Feng, Centre for Quantum Software and Information, University of Technology Sydney, NSW, Australia, Yuan.Feng@uts.edu.au; Mingsheng Ying, Centre for Quantum Software and Information, University of Technol- ogy Sydney, NSW, Australia, Institute of Software, Chinese Academy of Sciences, Beijing, China, Department of Computer Science, Tsinghua University, Beijing, China, Mingsheng.Ying@uts.edu.au. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from permissions@acm.org. © 2021 Association for Computing Machinery. XXXX-XXXX/2021/5-ART $15.00 https://doi.org/10.1145/nnnnnnn.nnnnnnn , Vol. 1, No. 1, Article . Publication date: May 2021.
2 Yuan Feng and Mingsheng Ying expressed in the Hoare triple form { } { } where is a program, and and are first-order logic formulas called assertions that describe the pre- and post-conditions of , respectively. Intuitively, the triple claims that if is executed at a state (evaluation of program variables) satisfying and it terminates, then must hold in the final state. This is called partial correctness. If termination is further guaranteed in all states that satisfy , then partial correctness becomes a total one. After decades of development, Hoare logic has been successfully applied in analysis of programs with non-determinism, recursion, parallel execution, etc. For a detailed survey, we refer to [Apt et al. 2010; Apt and Olderog 2019]. Hoare logic was also extended to programming languages with probabilistic features. As the pro- gram states for probabilistic languages are (sub)distributions over evaluations of program variables, the extension naturally follows two different approaches, depending on how assertions of proba- bilistic states are defined. The first one takes subsets of distributions as (qualitative) assertions, sim- ilar to the non-probabilistic case, and the satisfaction relation between distributions and assertions is then just the ordinary membership [Barthe et al. 2018; Chadha et al. 2007; Den Hartog and de Vink 2002; Ramshaw 1979]. In contrast, the other approach takes non-negative functions on evaluations as (quantitative) assertions. Consequently, one is concerned with the expectation of a distribu- tion satisfying an assertion [Kozen 1981, 1985; McIver et al. 2005; Morgan et al. 1996; Olmedo et al. 2016]. In recent years, Hoare logic and relational Hoare logic for quantum programs have been de- veloped, also following two different approaches similar to the probabilistic setting. Note that quantum (mixed) states are described mathematically by density operators in a Hilbert space. Assertions in the satisfaction-based logics proposed in [Chadha et al. 2006a; Kakutani 2009] ex- tend the probabilistic counterparts in [Chadha et al. 2006b; Den Hartog and de Vink 2002] with the ability to reason about probabilities (or even the complex amplitudes) and expected values of measuring a quantum state. The satisfaction-based logics proposed in [Unruh 2019a,b; Zhou et al. 2019] regard subspaces of the Hilbert space as assertions, and a quantum state satisfies an as- sertion iff the support (the image space of linear operators) of is included in . In contrast, the expectation-based approaches [Barthe et al. 2019; Li and Unruh 2019; Ying 2012, 2016, 2019; Ying et al. 2018] take positive operators as assertions for quantum states, following the observation of [D’Hondt and Panangaden 2006], and the expectation of a quantum state satisfying an asser- tion is then defined to be tr( ). A comparison of the quantum Hoare logics in [Chadha et al. 2006a; Kakutani 2009; Ying 2012] was provided in [Rand 2019]. The logics proposed in [Chadha et al. 2006a; Kakutani 2009] support classical variables in the language. However, whether or not they are complete is still unknown. Completeness of the logic for a purely quantum language in [Unruh 2019a] has not been established either. On the other hand, the quantum Hoare logics in [Ying 2012, 2016; Ying et al. 2018; Zhou et al. 2019] are complete, but the programming languages they consider do not natively support classical variables. Although infinite dimensional quantum variables are provided which are able to encode classical data like integers, in practice it is inconvenient (if possible) to specify and reason about properties in infinite dimensional Hilbert spaces. The subspace assertion in [Unruh 2019a; Zhou et al. 2019] makes it easy to describe and determine properties of quantum programs, but the expressive power of the assertions is limited: they only assert if a given quantum state lies completely within a subspace. Consequently, quantum algorithms which succeed with certain probability cannot be verified in their logics. Contribution of the current paper: Our main contribution is a sound and relatively complete Hoare logic for a simple while-language where both classical and quantum variables are involved. The expressiveness and effectiveness of our logic are demonstrated by formally specifying and verifying Shor’s factorisation algorithm [Shor 1994] and its related subroutines such as quantum , Vol. 1, No. 1, Article . Publication date: May 2021.
Quantum Hoare logic with classical variables 3 Fourier transform, phase estimation, and order finding algorithms. To the best of our knowledge, this is the first time quantum Hoare logic is applied on verification of the whole algorithm of Shor’s factorisation. Our work distinguishes itself from the works on quantum Hoare logic mentioned above in the following aspects: (1) Programming language. The language considered in this paper supports both classical vari- ables with infinite domains (e.g. the set of integers) and quantum variables. In contrast, the programming languages in [Chadha et al. 2006a; Kakutani 2009] allow only a finite variant of integer-type (and bounded iteration for [Chadha et al. 2006a]), while only quantum vari- ables are considered in [Barthe et al. 2019; Li and Unruh 2019; Unruh 2019a,b; Ying 2012, 2016, 2019; Ying et al. 2018; Zhou et al. 2019]. (2) Classical-quantum states. We define program states of our quantum language to be mappings from classical evaluations to partial density operators. This notion of positive-operator valued distribution is a direct extension of probability distribution in the probabilistic setting, and often simplifies both specification and verification of program correctness, compared with the way adopted in [Chadha et al. 2006a] of regarding probability distributions over pairs of classical evaluation and quantum pure state as classical-quantum states. Note also that if only boolean-type classical variables and qubit-type quantum variables are considered, our definition coincides with the one in [Selinger 2004]. (3) Classical-quantum assertions. Accordingly, assertions for the classical-quantum program states are defined to be mappings from classical evaluations to positive operators, analogous to discrete random variables in the probabilistic case [Morgan et al. 1996]. This follows the expectation-based approach in [Barthe et al. 2019; Li and Unruh 2019; Ying 2012, 2016, 2019; Ying et al. 2018]. However, we also require that the preimage of each positive operator under the mapping be characterised by a classical first-order logic formula. Thus our definition of assertions is essentially in a hybrid style, combining the satisfaction-based approach for the classical part and the expectation-based one for the quantum part. (4) A simpler quantum Hoare logic. Thanks to the novel definition of classical-quantum states and assertions, our quantum Hoare logic is much simpler and similar to the traditional Hoare logic, compared with those in [Chadha et al. 2006a; Kakutani 2009] for classical-quantum languages. Furthermore, since the language we consider includes probabilistic assignments, it provides a sound and relatively complete Hoare logic for probabilistic programs as a by- product. (5) Auxiliary rules. In addition to the sound and complete proof system, various auxiliary proof rules are provided to simplify reasoning in real applications. These include the standard disjunction, invariance, and existential quantifier introduction rules for the classical part of the assertions, and super-operator application for the quantum part. In particular, the (ProbComp) rule plays an essential role in verification of quantum algorithms which succeed with a certain probability. These rules turn out to be useful, as illustrated by a series of examples including Grover’s search algorithm and Shor’s factorisation algorithm. The paper is organised as follows. In the remainder of this section, related work on quantum Hoare logic is further discussed in detail. We review in Sec. 2 some basic notions from linear algebra and quantum mechanics that will be used in this paper. Classical-quantum states and assertions, which serve as the basis for the semantics and correctness of quantum programs, are defined in Sec. 3. The quantum programming language that we are concerned with is introduced in Sec. 4. A structural operational semantics, a denotational semantics, and a weakest (liberal) precondition semantics are also defined there. Sec. 5 is devoted to a Hoare logic for quantum programs written , Vol. 1, No. 1, Article . Publication date: May 2021.
4 Yuan Feng and Mingsheng Ying in our language, where proof rules for both partial and total correctness are proposed. These proof systems are shown to be both sound and relatively complete with respect to their corresponding correctness semantics. Auxiliary proof rules are presented in Sec. 6 to help reasoning in real appli- cations. In addition to the running example of Grover’s algorithm, verification of quantum Fourier transform, phase estimation, order finding, and Shor’s algorithm are provided in Sec. 7 to illustrate the expressiveness of our language as well as the effectiveness of the proposed Hoare logic. Finally, Sec. 8 concludes the paper and points out some directions for future study. 1.1 Related work Although the first quantum programming languages traced back to [Bettelli et al. 2003; Ömer 1998; Sanders and Zuliani 2000], Selinger’s seminal paper [Selinger 2004] proposed for the first time a rigorous semantics for a simple quantum language QPL. The syntax of our language is heavily influenced by Selinger’s work. We also borrow from him the idea of using partial density operators (i.e., not normalising them at each computational step) to describe quantum states. This convention simplifies both notationally and conceptually the semantics of quantum languages, especially the description of non-termination. Our language excludes general recursion and procedure call from QPL, but includes Integer as a classical data type. Consequently, the semantic model in [Selinger 2004], which takes finite tuples (indexed by evaluations of Boolean variables in the program) of partial density operators as program states, does not apply directly to our language considered in this paper. Instead, we extend the ‘tuples of matrices’ notion to matrix-valued functions with countable supports to denote classical-quantum states; see Sec. 3.1 for details. An Ensemble Exogenous Quantum Propositional Logic (EEQPL) was proposed in [Chadha et al. 2006a] for a simple quantum language with bounded Integer type and bounded iteration. In con- trast with Selinger’s approach, program states of the language are probability sub-distributions over pairs of classical evaluation and quantum pure state. EEQPL has the ability of reasoning about amplitudes of quantum states. This makes it very strong in expressiveness, but also hinders its use in applications such as debugging, as amplitudes of quantum states are not physically accessible through measurements. The soundness and (weak) completeness of EEQPL is proven in a special case where all real and complex values involved range over a finite set. General completeness re- sult has not been reported. A qualitative Hoare logic called QHL for Selinger’s QPL (again, without general recursion and procedure call) was proposed in [Kakutani 2009]. The assertion language of QHL is an extended first-order logic with the primitives of applying a matrix on a set of qubits and computing the probability that a classical predicate is satisfied by the outcome of a quantum measurement. The proof system of QHL is sound, but no completeness result was established. The idea of taking hermitian operators as quantum assertions was first proposed in [D’Hondt and Panangade 2006], which paves the way for expectation-based reasoning about quantum programs. The notion of quantum weakest precondition was also proposed in the same paper in a language-independent manner. Based on these notions, a sound and relatively complete Hoare logic was proposed in [Ying 2012] for a quantum while language where only quantum variables are involved. The operational semantics of our language, as well as the way the denotational one is derived from it, are inspired by [Ying 2012]. Some auxiliary proof rules presented in Sec. 6 are motivated by [Ying 2019]. The logic in [Ying 2012] does not natively support classical variables. Instead, it allows quantum variables to be of (countably) infinite dimension, thus providing a way to encode classical types like Integer into quantum states. In contrast, our language explicitly includes classical data types, but only allows Qudit (associated with a -dimensional Hilbert space, where is an arbitrary but finite integer) for quantum variables. Including classical variables makes the description and verification of quantum algorithms easier and more natural, while excluding infinite dimensional quantum variables avoids the mathematical difficulties of dealing with infinite dimensional Hilbert , Vol. 1, No. 1, Article . Publication date: May 2021.
Quantum Hoare logic with classical variables 5 spaces. To illustrate this, one may compare the correctness proofs of Grover’s search algorithm in [Ying 2012] and the current paper. A restricted version of [Ying 2012], called applied quantum Hoare logic (aQHL), was proposed in [Zhou et al. 2019] where quantum predicates are restricted to be projections, instead of general hermitian operators, with the purpose of simplifying its use in debugging and testing. To reason about robustness of quantum programs in aQHL, the (qualitative) satisfaction relation of a quan- tum state with respect to a projection is extended to an approximate one |= for a given error bound . However, this approximate satisfaction is quite different from the quantitative rela- tion of [Ying 2012] (and that in the current paper) which is determined by the expectation tr( ): the former claims that is -close to some state in , which is not physically checkable by a quantum measurement; while the latter is the expected value of measuring using the projective measurement { , − }. The quantum Hoare logic in [Ying 2012] has been implemented on Isabelle/HOL [Liu et al. 2019]. It was also used in [Hung et al. 2019] to reason about robustness of quantum programs against noise during execution, and extended in [Ying et al. 2018] for analysis of parallel quantum pro- grams. A quantum Hoare logic with ghost variables is introduced in [Unruh 2019a]. Interestingly, by introducing the ghost variables, one can express properties such as a quantum variable is unen- tangled with others. The logic is shown to be sound, but again, no completeness result is provided. 2 PRELIMINARIES This section is devoted to fixing some notations from linear algebra and quantum mechanics that will be used in this paper. For a thorough introduction of relevant backgrounds, we refer to [Nielsen and Chuang 2002, Chapter 2]. 2.1 Basic linear algebra Let H be a Hilbert space. In the finite-dimensional case which we are concerned with here, it is merely a complex linear space equipped with an inner product. Consequently, it is isomorphic to C where = dim(H ), the dimension of H . Following the tradition in quantum computing, vectors in H are denoted in the Dirac form | i. The inner product of | i and | i is written h | i, and they are orthogonal if h | i = 0. The outer product of them, denoted | ih |, is a rank-one plinear operator which maps any | ′ i in H to h | ′ i| i. The length of | i is defined to be k| ik , h | i and it is called normalised if k| ik = 1. A set of vectors , {| i : ∈ } in H is orthonormal if each | i is normalised and every two of them are orthogonal. Furthermore, if they span the whole space H ; that is, any vector in H can be written as a linear combination of vectors in , then is called an orthonormal basis of H . Let L (H ) be the set of linear operators on H , and 0 H and H the zero and identity operators Í respectively. Let ∈ L (H ). The trace of is defined to be tr( ) , ∈ h | | i for some (or, equivalently, any) orthonormal basis {| i : ∈ } of H . The adjoint of , denoted † , is the unique linear operator in L (H ) such that h | | i = h | † | i ∗ for all | i, | i ∈ H . Here for a complex number , ∗ denotes its conjugate. Operator is said to be normal if † = † , hermitian if † = , unitary if † = H , and positive if for all | i ∈ H , h | | i ≥ 0. Obviously, hermitian operators are normal, and both unitary operators and positive ones Í are hermitian. Any normal operator can be written into a spectral decomposition form = ∈ | ih | where {| i : ∈ } constitute some orthonormal basis of H . Furthermore, if is hermitian, then all ’s are real; if is unitary, then all ’s have unit length; if is positive, then all ’s are non-negative. The Löwner (partial) order ⊑ H on the set of hermitian operators on H is defined by letting ⊑ H iff − is positive. , Vol. 1, No. 1, Article . Publication date: May 2021.
6 Yuan Feng and Mingsheng Ying Let H1 and H2 be two finite dimensional Hilbert spaces, and H1 ⊗ H2 their tensor product. Let ∈ L (H ). The tensor product of 1 and 2 , denoted 1 ⊗ 2 is a linear operator in L (H1 ⊗ H2 ) such that ( 1 ⊗ 2 )|( 1 i ⊗ | 2 )i = ( 1 | 1 i) ⊗ ( 2 | 2 i) for all | i ∈ H . To simplify notations, we often write | 1 i| 2 i for | 1 i ⊗ | 2 i. Given H1 and H2 , the partial trace with respect to H2 , denoted tr H2 , is a linear mapping from L (H1 ⊗ H2 ) to L (H1 ) such that for any | i, | i ∈ H , = 1, 2, tr H2 (| 1 ih 1 | ⊗ | 1 ih 2 |) = h 2 | 1 i| 1 ih 1 |. The definition is extended to L (H1 ⊗ H2 ) by linearity. A linear operator E from L (H1 ) to L (H2 ) is called a super-operator. It is said to be (1) posi- tive if it maps positive operators to positive operators; (2) completely positive if all the cylinder extension IH ⊗ E is positive for all finite dimensional Hilbert space H , where IH is the identity super-operator on L (H ); (3) trace-preserving (resp. trace-nonincreasing) if tr(E ( )) = tr( ) (resp. tr(E ( )) ≤ tr( ) for any positive operator ∈ L (H1 ); (4) unital (resp. sub-unital) if E ( H1 ) = H2 (resp. E ( H1 ) ⊑ H2 H2 ). From Kraus representation theorem [Kraus et al. 1983], a super-operator E from L (H1 ) to L (H2 ) is completely positive iff there is some set of linear operators, called Kraus Í operators, { : ∈ } from H1 to H2 such that E ( ) = ∈ † for all ∈ L (H1 ). It is easy to check that the trace and partial trace operations defined above are both completely positive and trace-preserving super-operators. Given a completely positive super-operator E from L (H1 ) to L (H2 ) with Kraus operators { : ∈ }, the adjoint of E, denoted E † , is a completely positive super-operator from L (H2 ) back to L (H1 ) with Kraus operators { † : ∈ }. Then we have (E † ) † = E, and E is trace-preserving (resp. trace-nonincreasing) iff E † is unital (resp. sub-unital). Furthermore, for any ∈ L (H1 ) and ∈ L (H2 ), tr(E ( ) · ) = tr( · E † ( )). 2.2 Basic quantum mechanics According to von Neumann’s formalism of quantum mechanics [Von Neumann 1955], any quan- tum system with finite degrees of freedom is associated with a finite-dimensional Hilbert space H called its state space. When dim(H ) = 2, we call such a system a qubit, the analogy of bit in classical computing. A pure state of the system is described by a normalised vector in H . When the system is in one of an ensemble of states {| i : ∈ } with respective probabilities , we say it Í is in a mixed state, represented by the density operator ∈ | ih | on H . Obviously, a density operator is positive and has trace 1. Conversely, by spectral decomposition, any positive operator with unit trace corresponds to some (not necessarily unique) mixed state. The state space of a composite system (for example, a quantum system consisting of multiple qubits) is the tensor product of the state spaces of its components. For a mixed state in H1 ⊗ H2 , partial traces of have explicit physical meanings: the density operators tr H1 ( ) and tr H2 ( ) are exactly the reduced quantum states of on the second and the first component systems, respec- tively. Note that in general, the state of a composite system cannot be decomposed into tensor product of the reduced states on its component systems. A well-known example is the 2-qubit state |Ψi = √1 (|00i + |11i). This kind of state is called entangled state, and usually is the key to 2 many quantum information processing tasks such as teleportation [Bennett et al. 1993] and super- dense coding [Bennett and Wiesner 1992]. The evolution of a closed quantum system is described by a unitary operator on its state space: if the states of the system at times 1 and 2 are 1 and 2 , respectively, then 2 = 1 † for some unitary operator which depends only on 1 and 2 . In contrast, the general dynamics which can occur in a physical system is described by a completely positive and trace-preserving super- operator on its state space. Note that the unitary transformation E ( ) , † is such a super- operator. , Vol. 1, No. 1, Article . Publication date: May 2021.
Quantum Hoare logic with classical variables 7 Classical Probabilistic Quantum Classical-quantum state probability (sub)distribution (partial) density operator cq-state ∈Σ ∈ Σ → [0, 1] ∈ D (H ) Δ ∈ Σ → D (H ) countable support countable support assertion (discrete) random variable observable cq-assertion ∈ Σ → {0, 1} ∈ Σ → [0, 1] ∈ P (H ) Θ ∈ Σ → P (H ) countable image countable image satisfaction expectation expectation expectation Í Í |= ∈ ⌈ ⌉ ( ) ( ) tr( ) ∈ ⌈Δ⌉ tr [Δ( )Θ( )] Table 1. Comparison of the basic notions in different language paradigms. A quantum measurement M is described by a collection { : ∈ } of linear operators on H , where is the set of measurement outcomes. It is required that the measurement operators satisfy Í the completeness equation ∈ † = H . If the system is in state , then the probability that measurement result occurs is given by = tr( † ), and the state of the post-measurement system is = † / whenever > 0. Note that the super-operator Õ Õ E M : ↦→ = † ∈ ∈ which maps the initial state to the final (mixed) one when the measurement outcome is ignored is completely positive and trace-preserving. A particular case of measurement is projective measure- ment which is usually represented by a hermitian operator in L (H ) called observable. Let Õ = ∈spec ( ) where spec( ) is the set of eigenvalues of , and the projection onto the eigenspace associated with . Obviously, the projectors { : ∈ ( )} form a quantum measurement. In this paper, we are especially concerned with the set P (H ) , { ∈ L (H ) : 0 H ⊑ ⊑ H } of observables whose eigenvalues lie between 0 and 1, where ⊑ is the Löwner order on L (H ). Furthermore, following Selinger’s convention [Selinger 2004], we regard the set of partial density operators D (H ) , { ∈ L (H ) : 0 H ⊑ , tr( ) ≤ 1} as (unnormalised) quantum states. Intuitively, the partial density operator means that the legit- imate quantum state /tr( ) is reached with probability tr( ). As a matter of fact, we note that D (H ) ⊆ P (H ). 3 CLASSICAL-QUANTUM STATES AND ASSERTIONS In this section, the notions of program states and assertions are introduced for our quantum lan- guage where classical variables are involved. To motivate the definition, we first review the cor- responding ones in classical (non-probabilistic), probabilistic, and purely quantum programs. A , Vol. 1, No. 1, Article . Publication date: May 2021.
8 Yuan Feng and Mingsheng Ying brief summary of the comparison, which extends the one presented in [D’Hondt and Panangaden 2006], is depicted in Table 1. Let Σ be a non-empty set which serves as the state space of classical programs. An assertion for classical states is (semantically) a mapping from Σ to {0, 1} such that a state satisfies , written |= , iff ( ) = 1. In contrast, a state for probabilistic programs is a probability sub- distribution on Σ which has countable support1 ; that is, ( ) > 0 for at most countably infinite many ∈ Σ. Accordingly, an assertion for probabilistic states is a discrete random variable on Σ with countable image; that is, takes at most countably infinite many values. Finally, the ‘degree’ of a state satisfying an assertion corresponds naturally to the expected value of a random variable with respect to a probability distribution. In particular, when the assertion is a traditional one, meaning that its image set is {0, 1}, this expectation reduces to the probability of satisfaction. To motivate the corresponding notions proposed in [D’Hondt and Panangaden 2006] for purely quantum programs where classical variables are excluded, note that for any partial density oper- ator in D (H ) and any orthonormal basis {| i : ∈ } of H , the function with ( ) = h | | i defines a probability sub-distribution over . Thus the set D (H ) can naturally be taken as the state space for purely quantum programs. Similarly, for any observable ∈ P (H ), h | | i ∈ [0, 1] for all ∈ . Thus P (H ) can be regarded as the quantum extension of probabilistic Í assertions. Finally, the degree of a state satisfying an assertion is the expected value ( )h | | i, which, when | i’s are eigenstates of or , is exactly tr( ). Most remarkably, as tr( ) is the expected value of outcomes when the projective measurement represented by is applied on state , it can be physically estimated (instead of mathematically calculated) when multiple copies of are available. This physical implementability is especially important in black box testing of quantum programs, where programs can be executed multiple times, but the implementation detail is not available. For programs where both quantum and classical variables are involved, we have to find a way to combine the notions for probabilistic programs and purely quantum ones. The following three subsections are devoted to this goal. 3.1 Classical-quantum states We assume two basic types for classical variables: Boolean with the corresponding domain Boolean , {true, false} and Integer with Integer , Z. For each integer ≥ 1, we assume a basic quantum type Qudit with domain HQudit , which is a -dimensional Hilbert space with an orthonormal basis {|0i, . . . , | − 1i}. In particular, we denote the quantum type for = 2 as Qubit. Let Var, ranged over by , , · · · , and qVar, ranged over by , , · · · , be countably infinite sets of classical and quan- tum variables, respectively. Let Σ , Var → be the (uncountably infinite) set of classical states, where , Boolean ∪ Integer . We further require that states in Σ respect the types of classical variables; that is, ( ) ∈ type ( ) for all ∈ Σ and ∈ Var, where type( ) denotes the type of . For any finite subset of qVar, let Ì H , H , ∈ where H , Htype ( ) is the Hilbert space associated with . For simplicity, we let H ∅ , C. As we use subscripts to distinguish Hilbert spaces with different (sets of) quantum variables, their order in the tensor product is not essential. In this paper, when we refer to a subset of qVar, it is always assumed to be finite. Definition 3.1. Given ⊆ qVar, a classical-quantum state (cq-state for short) Δ over is a function in Σ → D (H ) such that 1 For simplicity, we only consider here probabilistic programs in which all random variables are taken discrete. The proba- bilities are not required to sum up to 1 in a probability sub-distribution, for the sake of describing non-termination. , Vol. 1, No. 1, Article . Publication date: May 2021.
Quantum Hoare logic with classical variables 9 (1) the support of Δ, denoted ⌈Δ⌉, is countable. That is, Δ( ) ≠ 0 H for at most countably infinite many ∈ Σ; Í (2) tr(Δ) , ∈ ⌈Δ⌉ tr[Δ( )] ≤ 1. One may note the similarity of the above definition with probability sub-distributions. Actually, a probability sub-distribution is obtained by assuming that = ∅, as in this case D (H ) = [0, 1]. Recall also that in [Selinger 2004], the state for a quantum program with bits 1, . . . , and qubits 1, . . . , is given by a 2 -tuple ( 0, . . . , 2 −1 ) of partial density matrices, each with dimension 2 ×2 . Intuitively, each denotes the corresponding state of the qubits when the state of the classical bits 1 . . . constitute the binary representation of . Such a tuple can be described by a cq-state Δ over { 1 , . . . , } such that Δ( ) = , 0 ≤ < 2 , where Var , { 1, . . . , }, and Í ( ) = with =1 2 − = . É Sometimes it is convenient to denote a cq-state Δ by the explicit form ∈ h , i where ⌈Δ⌉ = { : ∈ } and Δ( ) = for each ∈ . When Δ is a simple function such that ⌈Δ⌉ = { } for some and Δ( ) = , we denote Í Δ simply by h , i. Let {Δ : ∈ } be a Í countable set of cq-states over such that for any , ∈ Δ ( ) = for some ∈ D (H ) and ∈ tr(Δ ) ≤ 1. Then the Í summation of them, Ð denoted ∈ Δ , is a cq-state Δ over such thatÍfor any ∈ Σ, Δ( ) = . Obviously, ⌈Δ⌉ = ∈ ⌈Δ ⌉. It is É worth noting the difference between ∈ h , i, the summation of some (simple) cq-states, and ∈ h , i, the explicit form of a single one: in the latter ’s must be distinct while in the former they may not. Let E be a completely positive and trace-nonincreasing super-operator from L (H ) to L (H ). We extend it to S in a point-wise way: E (Δ) ( ) = E (Δ( )) for all . Note that E (0 H ) = 0 H and tr(E ( )) ≤ tr( ) for all ∈ D (H ). Thus E (Δ) is a valid cq-state provided that Δ is. In particular, for any ⊆ (Δ), the partial trace tr H (Δ) is a cq-state which maps any ∈ Σ to tr H (Δ( )). Furthermore, for any ∈ D (H ) with ∩ (Δ) = ∅ and tr( ) ≤ 1, Δ ⊗ is a cq-state in S (Δ)∪ which maps to Δ( ) ⊗ . In the special case that = ∅, becomes a real number in [0, 1], and we write Δ for Δ ⊗ . Example 3.2. To better understand the notion of cq-states, let us consider the output of quantum Teleportation algorithm [Bennett et al. 1993], where Alice would like to teleport an arbitrary state to Bob, using a pre-shared Bell state √1 (|00i + |11) 1, 2 between them. Here , 1 , and 2 are all 2 Qubit-type variables, and we use subscripts to indicate the quantum variables on which the states and operators are acting. Suppose and , 0 ≤ ≤ 3, are the classical and final quantum states (of 2 ), respectively, when the measurement outcome of Alice is . Then the cq-state output by the algorithm can be written as Ê 1 Δ, , | i , 1 h | ⊗ 2 . 0≤ ≤3 4 Note that a more intuitive way to describe the cq-state Δ in Example 3.2 is to use a probability distribution of classical-quantum state pairs: { 14 ( , | i , 1 h | ⊗ 2 ) : 0 ≤ ≤ 3}. We will explain why we decide not to do so in more detail at the end of this subsection after more notations are introduced. Let S be the set of all cq-states over , and S the set of all cq-states; that is, Ø S, S . ⊆qVar When Δ ∈ S , denote by (Δ) , the set of quantum variables in Δ. We extend the Löwner order ⊑ for L (H ) point-wisely to S by letting Δ ⊑ Δ ′ iff (Δ) = (Δ ′ ) and for all ∈ Σ, Δ( ) ⊑ (Δ) Δ ′ ( ). Obviously, when both Δ and Δ ′ are probability sub-distributions, i.e., (Δ) = , Vol. 1, No. 1, Article . Publication date: May 2021.
10 Yuan Feng and Mingsheng Ying (Δ ′ ) = ∅, then Δ ⊑ Δ ′ iff they are related with the partial order defined in [Morgan et al. 1996] for probability sub-distributions. The following lemma shows that S is an -complete partial order (CPO) under ⊑. Lemma 3.3. For any ⊆ qVar, S is a pointed -CPO under ⊑, with the least element being the constant 0 H function, denoted ⊥ . Furthermore, S as a whole is an -CPO under ⊑. Proof. The result follows directly from the fact that for any ⊆ qVar, D (H ) is an -CPO under the Löwner order ⊑ , with 0 H being its least element [Selinger 2004]. When Δ ⊑ Δ ′, there exists a unique ΔÍ ′′ ∈ S (Δ) , denoted Δ ′ ′′ ′ Í − Δ, such that Δ + Δ = Δ . For any real numbers , ∈ , if both Δ+ , >0 Δ and Δ− ,
Quantum Hoare logic with classical variables 11 For convenience, É we do not distinguish É and [[ ]] when denoting a cq-assertion. Consequently, we write ∈ h , i instead of ∈ h[[ ]], i for a cq-assertion Θ whenever Θ(Σ) = { : ∈ } and Θ−1 ( ) = [[ ]] for each ∈ . Note that this representation is not unique: the represen- tative assertion can be replaced by ′ whenever ≡ ′. Furthermore, the summand with zero operator 0 H is always omitted. In particular, when Θ(Σ) = {0 H , } or { } for some ≠ 0 H , we simply denote Θ by h , i for some with Θ−1 ( ) = [[ ]]. Note that any observable in P (H É ) corresponds to some quantitative property of quantum states. Thus intuitively, a cq-assertion ∈ h , i specifies that whenever the classical state satisfies , the property is checked on the corresponding quantum state. The average value of the satisfiability will be defined in the next subsection. Example 3.6. Back to the Teleportation algorithm in Example 3.2. The cq-assertion Ê Θ1 , h = , | i , 1 h |i 0≤ ≤3 where is the classical variable used by Alice to store (and send to Bob) the measurement outcome, claims that the states of and 1 are both in the computational basis, and they together correspond to the measurement outcome of Alice. To be specific, it states that whenever = , the correspond- ing quantum state of and 1 should be | 0 i | 1 i 1 where 0 1 is the binary representation of . We will make it more rigorous in Example 3.8. Suppose the teleported state = | ih | is a pure one. Then the cq-assertion Θ2 , htrue, | i 2 h |i, when applied on the output cq-state, actually computes the (average) precision of the Teleportation algorithm when | i is taken as the input. Again, we refer to Example 3.8 for more details. Let A be the set of all cq-assertions over , and A the set of all cq-assertions; that is, Ø A, A . ⊆qVar When Θ ∈ A , denote by (Θ) , the set of quantum variables in Θ. Again, we extend the Löwner order ⊑ for L (H ) point-wisely to A by letting Θ ⊑ Θ′ iff (Θ) = (Θ′ ) and for all ∈ Σ, Θ( ) ⊑ (Θ) Θ′ ( ). It is easy to see that A is also a pointed -CPO under ⊑, with the least element being ⊥ . Furthermore, it has the largest element ⊤ , htrue, H i. If both Θ and Θ′ are probabilistic assertions, i.e., (Θ) = (Θ′ ) = ∅, then Θ ⊑ Θ′ iff they are related with the partial order defined in [Morgan et al. 1996] for probabilistic assertions. When Θ ⊑ Θ′ , we denote by Θ′ − Θ the unique Θ′′ ∈ A (Θ) such that Θ′′ + Θ = Θ′ . With these notions, summation and linear-sum of cq-assertions Í can be defined similarly asÍ for cq-states. Given a classical assertion , we denote by ⊲⊳ h , i the cq-assertion h ⊲⊳ , i (if it is valid) where ⊲⊳ can be any logic connective such as ∧, ∨, ⇒, ⇔, etc. As [[ ⊲⊳ 1 ]] = [[ ⊲⊳ 2 ]] provided that [[ 1 ]] = [[ 2 ]], these notations are well-defined. Let F be a completely positive and sub-unital linear map from P (H ) to P (H ). We extend it to A in a point-wise way. Note that F (0 H ) = 0 H and F ( ) ⊑ F ( H ) ⊑ H for all ∈ P (H ). Thus F (Θ) is a valid cq-assertion provided that Θ is. In particular, when (Θ) ∩ = ∅, Θ ⊗ H is a cq-assertion which maps any ∈ Σ to Θ( ) ⊗ H . Note that 1 is the identity operator on H ∅ . Sometimes we also abuse the notation a bit to write for h , 1i where is a classical assertion, and for htrue, i where ∈ [0, 1]. The (lifted) Löwner order provides a natural way to compare cq-assertions over the same set of quantum variables. However, in later discussion of this paper, we sometimes need to compare cq-assertions acting on different quantum variables. To deal with this situation, we introduce a , Vol. 1, No. 1, Article . Publication date: May 2021.
12 Yuan Feng and Mingsheng Ying pre-order . on the whole set A of cq-assertions. To be specific, let 1, 2 be two subsets of qVar, and Θ ∈ A , = 1, 2. We say Θ1 . Θ2 whenever Θ1 ⊗ H 2 \ 1 ⊑ H 1 \ 2 ⊗ Θ2 . Obviously, when restricted on some given set of quantum variables, . coincides with ⊑. Let h be the kernel of .. Then Θ1 h Θ2 iff there exists Θ such that Θ1 = Θ ⊗ and Θ2 = Θ ⊗ for some and . 3.3 Expectation of satisfaction With the above notions, we are now ready to define the expectation (or degree) of a cq-state satis- fying a cq-assertion. Definition 3.7. Given a cq-state Δ and a cq-assertion Θ with (Δ) ⊇ (Θ), the expectation of Δ satisfying Θ is defined to be Õ Õ Exp(Δ |= Θ) , tr Θ( ) ⊗ H · Δ( ) = tr Θ( ) · tr H (Δ( )) ∈ ⌈Δ⌉ ∈ ⌈Δ⌉ where = (Δ)\ (Θ) and the dot · denotes matrix multiplication. Again, when both Δ and Θ are probabilistic, i.e., (Δ) = (Θ) = ∅, then the expectation defined above is exactly the expected value of Θ over Δ defined in [Morgan et al. 1996] for probabilistic programs. Example 3.8. Consider again the Teleportation algorithm. Let Δ be defined as in Example 3.2, and Θ1 and Θ2 in Example 3.6. Note that |= ( = ) iff = . Thus 3 Õ 1 Exp(Δ |= Θ1 ) = tr(| i , 1 h | ⊗ 2 · | i , 1 h | ⊗ 2 ) = 1, =0 4 meaning that with probability 1, equals the value represented by the states of and 1 . For Θ2 , we compute 3 Õ 3 1 1Õ Exp(Δ |= Θ2 ) = tr( , 1 ⊗ | i 2 h | · | i , 1 h | ⊗ 2 ) = h | | i, =0 4 4 =0 which denotes the average fidelity between the output states and the ideal one | i. We collect some properties of the Exp function in the following lemmas. Lemma 3.9. For any cq-state Δ ∈ S , cq-assertion Θ ∈ A with ⊆ , and classical assertion , (1) Exp(Δ |= Θ) ∈ [0, 1]; (2) Exp(⊥ |= Θ) =ÍExp(Δ |= ⊥ ) = 0, Exp(Δ Í |= ⊤ ) = tr(Δ); (3) Exp(Δ |= Θ) = Exp(Δ |= Θ ) if Θ = Θ ; Í Í (4) Exp(Δ |= Θ) = Exp(Δ |= Θ) if Δ = Δ ; (5) Exp(Δ| |= Θ) = Exp(Δ |= ∧ Θ) where Δ| is the cq-state by restricting Δ on the set of classical states with |= ; (6) Exp(Δ |= F (Ψ)) = Exp(F † (Δ) |= Ψ) for any Ψ ∈ A ′ and any completely positive and sub-unital super-operator F from H ′ to H . , Vol. 1, No. 1, Article . Publication date: May 2021.
Quantum Hoare logic with classical variables 13 Proof. We only prove Clause (5); the others are easy from definitions. For simplicity, we assume = . Then Õ Exp(Δ| |= Θ) = tr Θ( ) · Δ| ( ) ∈ ⌈Δ | ⌉ Õ = tr [Θ( ) · Δ( )] ∈ ⌈Δ⌉, |= Õ = tr [( ∧ Θ) ( ) · Δ( )] ∈ ⌈Δ⌉ = Exp(Δ |= ∧ Θ) where the third inequality comes from the fact that for any ∈ Σ, ( ∧ Θ) ( ) = Θ( ) if |= , and 0 H otherwise. Lemma 3.10. (1) For any cq-states Δ and Δ ′ in S , • if Δ ⊑ Δ ′ , then Exp(Δ |= Θ) ≤ Exp(Δ ′ |= Θ) for all Θ ∈ A with ⊆ ; • conversely, if Exp(Δ |= Θ) ≤ Exp(Δ ′ |= Θ) for all Θ ∈ A , then Δ ⊑ Δ ′. (2) For any cq-assertions Θ and Θ′ with = (Θ) ∪ (Θ′ ), • if Θ . Θ′ , then Exp(Δ |= Θ) ≤ Exp(Δ |= Θ′ ) for all Δ ∈ S with ⊆ ; • conversely, if Exp(Δ |= Θ) ≤ Exp(Δ |= Θ′ ) for all Δ ∈ S , then Θ . Θ′ . Proof. We take the converse part of Clause (1) as an example. Suppose Δ 6⊑ Δ ′. Then there exists a ∈ Σ and | i ∈ D (H ) such that h |Δ( )| i > h |Δ ′ ( )| i. If we can find a classical assertion which distinguishes from other states in ⌈Δ ′⌉. Then obviously the cq-assertion h , | i h |i serves as a counter-example for the assumption. Ó Note that the formula ∗ , ∈Var ( = ( )) uniquely determines . However, it is not a valid classical assertion, as the set Var is infinite. To convert it to a finite conjunction, let , h |Δ( )| i − h |Δ ′ ( )| i. For this , there exists a finite subset of ⌈Δ ′⌉ such that tr(Δ ′ | ) > tr(Δ ′) − . For any ′ ∈ with ′ ≠ , there exists ′ ∈ Var such ′ Ó that ( ) ≠ ( ). Now ′ ′ ′ ′ let , { ′ : ∈ , ≠ }. Then the classical assertion , ∈ ( = ( )) distinguishes from other states in . Finally, let Θ , h , | i h |i. Then Exp(Δ ′ | |= Θ) = h |Δ ′ ( )| i, and Exp(Δ ′ − Δ ′ | |= Θ) ≤ tr(Δ ′ − Δ ′ | ) < . Thus Exp(Δ |= Θ) ≥ h |Δ( )| i = h |Δ ′ ( )| i + > Exp(Δ ′ |= Θ), contradicting the assumption. Lemma 3.11. For any cq-states Δ, Δ ∈ S and cq-assertions Θ, Θ ∈ A with ⊆ , = 1, 2, · · · , Ô (1) Exp( Ó ≥0 Δ |= Θ) = sup ≥0 Exp(Δ |= Θ) for increasing sequence {Δ } ; (2) Exp( ≥0ÔΔ |= Θ) = inf ≥0 Exp(Δ |= Θ) for decreasing sequence {Δ } ; (3) Exp(Δ |= ≥0 Θ ) = sup ≥0 Exp(Δ |= Θ ) for increasing sequence {Θ } ; Ó (4) Exp(Δ |= ≥0 Θ ) = inf ≥0 Exp(Δ |= Θ ) for decreasing sequence {Θ } . Ô Proof. We prove (1) as an example; the others are similar. Let Δ∗ , ≥0 Δ . First, from the fact that Δ ⊑ Δ∗ for all , Exp(Δ∗ |= Θ) ≥ sup ≥0 Exp(Δ |= Θ) by Lemma 3.10(1). Furthermore, for any , Exp(Δ∗ |= Θ) − Exp(Δ |= Θ) = Exp(Δ∗ − Δ |= Θ) ≤ Exp(Δ∗ − Δ |= ⊤ ) = tr(Δ∗ − Δ ) = tr(Δ∗ ) − tr(Δ ), , Vol. 1, No. 1, Article . Publication date: May 2021.
14 Yuan Feng and Mingsheng Ying where the first and second equalities are from Lemma 3.9, and the first inequality from Lemma 3.10(2). Thus Exp(Δ∗ |= Θ) = sup ≥0 Exp(Δ |= Θ) from the fact that tr(Δ∗ ) = sup tr(Δ ). 3.4 Substitution and state update Let and ′ be classical expressions2 , and a classical variable with the same type of ′ . Denote by [ ′ / ] the expression obtained by substituting É in with ′ . Such substitution can be extended to cq-assertions as follows. Given Θ , ∈ h , i, we define Ê Θ[ / ] , h [ / ], i. ∈ The well-definedness comes from the following two observations: (1) whenever [[ ]] ∩ [[ ]] = ∅, it holds [[ [ / ] ]] ∩ [[ [ / ] ]] = ∅; (2) whenever ≡ ′, it holds [ / ] ≡ ′ [ / ]. Thus the substitution is independent of the choice of the representative classical assertions in Θ. For classical state and ∈ type ( ) , denote by [ / ] the updated state which maps to , and other classical variables to ( ). Similarly, this updating can be extended to cq-states by defining Õ Δ[ / ] , h [ ( )/ ], i ∈ É whenever Δ = ∈ h , i. Since substitution does not change the trace of the whole state, Δ[ / ] is still a valid cq-state. Note that unlike cq-assertions,É [ ( )/ ] and [ ( )/ ] can be equal Í even when ≠ . Thus we have instead of here. Note that for any classical state and assertion , we have the substitution rule: |= [ / ] iff [ ( )/ ] |= . The next lemma shows a similar relation between substitutions for cq-states and cq-assertions. Lemma 3.12. For any cq-state Δ and cq-assertion Θ with (Δ) ⊇ (Θ), ∈ Var, and classical expression with the same type of , Exp(Δ |= Θ[ / ]) = Exp(Δ[ / ] |= Θ). É É Proof. Let Δ = ∈ h , i and Θ = ∈ h , i. Then Õ Õ Exp(Δ |= Θ[ / ]) = tr( ) ∈ ∈ , |= [ / ] Õ Õ = tr( ), ∈ ∈ , [ ( )/ ] |= which is exactly Exp(Δ[ / ] |= Θ). Here we assume that (Δ) = (Θ); the general case can be proved similarly. 4 A SIMPLE CLASSICAL-QUANTUM LANGUAGE This section is devoted to the syntax and various semantics of our core programming language which supports deterministic and probabilistic assignments, quantum measurements, quantum operations, conditionals, and while loops. 2 Weassume standard classical expressions (constructed inductively from Var and a fixed set of function symbols) in this paper; the precise definition of them is omitted. , Vol. 1, No. 1, Article . Publication date: May 2021.
Quantum Hoare logic with classical variables 15 4.1 Syntax Our classical-quantum language is based on the one proposed in [Selinger 2004], extended with Integer type classical variables and probabilistic assignments, but excluding general recursion and procedure call. The syntax is defined as follows: ::= skip | abort | := | :=$ | := meas M [ ] ¯ | := 0 | ¯ ∗= | 0 ; 1 | if then 1 else 0 end | while do end where , 0 and 1 denote classical-quantum programs (cq-programs for short), a classical vari- able in Var, a classical expression with the same type as , a discrete probability distribution over type ( ) , a Boolean-type expression, is a quantum variable and ¯ , 1, . . . , a (ordered) tuple of distinct quantum variables in qVar, M a measurement and a unitary operator on ¯ - dimensional Hilbert space where Ö ¯ , dim(H ¯ ) = dim(H ). =1 Sometimes we also use ¯ to denote the (unordered) set { 1, 2, . . . , }. Let | | ¯ , be the size of . ¯ Let Prog be the set of all cq-programs. For any ∈ Prog, the quantum variables that appear in is denoted ( ). The set ( ) (resp. ℎ ( )) of classical variables that appear in (resp. can be changed by) are defined in the standard way. Note that the only way to retrieve information from a quantum system is to measure it, a process which may change its state. Thus the notion of read-only quantum variables does not exist in cq-programs. In the purely quantum language presented in [Ying 2012], conditional branching is achieved by the program construct measure M [ ] ¯ : ¯ where ¯ is a set of programs which one-to-one corre- spond to the measurement outcomes of M. Intuitively, the quantum variables in ¯ are measured according to M, and different subsequent programs in ¯ will be executed depending on the mea- surement outcomes. The while loop while N [ ] ¯ = 1 do end where the outcome set of N is {0, 1} is defined similarly. Let ¯ = { : 1 ≤ ≤ } and the outcome set of M is {1, 2, . . . , }. Then these constructs can be expressed in our language in the following equivalent form: := meas M [ ]; ¯ if = 1 then 1 else (if = 2 then 2 else · · · end) end and := meas N [ ]; ¯ while = 1 do ; := meas N [ ]; ¯ end (1) respectively, where is a fresh classical variable which does not appear in ¯ or . An advantage of having classical variables explicitly in the language is that we can avoid introducing infinite- dimensional quantum variables to encode classical data with infinite domains such as Integer. This will simplify the verification of real-world quantum programs. To conclude this subsection, we introduce some syntactic sugars for our language which make it easy to use in describing quantum algorithms. Let ¯ , 1, . . . , . • Initialisation of multiple quantum variables. Let ¯ := 0 stand for 1 := 0; · · · ; := 0. • Measurement according to the computational basis. We write := meas ¯ for := meas Mcom [ ] ¯ where Mcom , { , | ih | : 0 ≤ < ¯ } is the projective measurement according to the computational Í basis of H ¯ . We always write | i for the product state | 1 i · · · | i, where = =1 +1 . . . . • Application of parametrised unitary operations. Let U , { : 1 ≤ ≤ }, be a finite family of unitary operators on the ¯ -dimensional Hilbert space, and an Integer-typed expression. , Vol. 1, No. 1, Article . Publication date: May 2021.
16 Yuan Feng and Mingsheng Ying We write ¯ ∗= U ( ) for the statement which applies on ¯ whenever evaluates to in the current classical state. Formally, it denotes the following program: if < 1 ∨ > then abort else 1 ; 2 ; · · · ; end where for each 1 ≤ ≤ , , if = then ¯ ∗= else skip end. Note that the order of ’s is actually irrelevant as there is at most one that will be executed. • Application on selected variables in a quantum register. Let 1 ≤ ≤ , and and ’s be Integer-type expressions. The statement [ ¯ 1 , · · · , ] ∗= U ( ), where U is defined as in the previous clause, applies on quantum systems 1 , · · · , whenever evaluates to and evaluates to (distinct) for 1 ≤ ≤ in the current classical state. Formally, it denotes the following program: if ∃ .( < 1 ∨ > ) ∨ ∃ , .( ≠ ∧ = ) then abort else 1 ; 2 ; · · · ; | | end where each ℓ is of the form if 1 = 1 ∧ · · · ∧ = then 1 , · · · , ∗= U ( ) else skip end and ( 1, · · · , ) ranges over , {( 1, · · · , ) : ∀ .1 ≤ ≤ and ’s are distinct}. Again, the order of ℓ ’s is actually irrelevant as there is at most one that will be executed. 4.2 Operational and denotational semantics A configuration is a triple h , , i where ∈ Prog∪{ }, is a special symbol to denote termination, ∈ Σ, and ∈ D (H ) for some subsuming ( ). The operational semantics of programs in Prog is defined as the smallest transition relation → on configurations given in Table 2. Note that there is no transition rule for abort, meaning that the statement abort simply halts the computation with no proper state reached. The definition is rather standard and intuitive. We would only like to point out that motivated by [Ying 2012], the operational semantics of quantum measurements (and even probabilistic as- signments) are described in a non-deterministic way, while the probabilities of different branches are encoded in the quantum part of the configurations. That is why we need to take partial density operators instead of the normalised density operators as the representation of quantum states. Similar to [Ying 2012], denotational semantics of cq-programs can be derived from the opera- tional one by summing up all the cq-states obtained by terminating computations. Definition 4.1. Let ∈ Prog, and h , i ∈ S with ⊇ ( ). • A computation of starting in h , i is a (finite or infinite) maximal sequence of configura- tions h , , i, ≥ 1, such that h , , i → h 1, 1 , 1 i → h 2 , 2, 2 i → · · · and ≠ 0 H for all . • A computation of terminates in h ′, ′i if it is finite and the last configuration is h , ′, ′i; otherwise it is diverging. Ð Let → be the -th composition of →, and →∗ , ≥0 → . Then we have the following lemma. Lemma 4.2. Let ∈ Prog, and h , i ∈ S with ⊇ ( ). Then (1) the multi-set {h ′, ′i : h , , i → h , ′, ′i} is countable for all ≥ 0; , Vol. 1, No. 1, Article . Publication date: May 2021.
Quantum Hoare logic with classical variables 17 hskip, , i → h , , i h := , , i → h , [ ( )/ ], i Í −1 h := 0, , i → h , , =0 |0i h | | i h0|i h ¯ ∗= , , i → h , , ¯ ¯† i ∈ type ( ) M = { : ∈ } h :=$ , , i → h , [ / ], ( ) · i ¯ , i → h , [ / ], † i h := meas M [ ], h 0, , i → h ′, ′, ′i where ; 1 ≡ 1 h 0 ; 1, , i → h ′ ; 1, ′, ′i |= |= ¬ hif then 1 else 0 end, , i → h 1 , , i hif then 1 else 0 end, , i → h 0 , , i |= ¬ |= hwhile do end, , i → h , , i hwhile do end, , i → h ; while do end, , i Table 2. Operational semantics for cq-programs. (2) the sequence of cq-states {Δ : ≥ 0}, where Õn o Δ , h ′, ′i : h , , i → h , ′, ′i for some ≤ , is increasing with respect to ⊑. Here we assume Δ to be ⊥ if the multi-set on the right-hand side is empty. Thus Õ Ü {h ′, ′i : h , , i →∗ h , ′, ′i} = Δ . ≥0 Proof. The first clause is easy by induction. The second one is directly from the fact that any configuration with the form h , ′, ′i has no further transition. With this lemma, we are able to define the denotational semantics of cq-programs using the Ð operational one. Let S ⊇ ( ) , ⊇ ( ) S . Definition 4.3. Let ∈ Prog. The denotational semantics of is a mapping [[ ]] : S ⊇ ( ) → S ⊇ ( ) such that for any h , i ∈ S with ⊇ ( ), Õ [[ ]] ( , ) = {h ′, ′i : h , , i →∗ h , ′, ′i} . Í É Furthermore, let [[ ]] (Δ) = ∈ [[ ]] ( , ) whenever Δ = ∈ h , i. To simplify notation, we always write ( , ) for (h , i) when h , i appears as a parameter of some function. The next lemma guarantees the well-definedness of Definition 4.3. Lemma 4.4. For any ∈ Prog and Δ ∈ S with ⊇ ( ), (1) tr( [[ ]] (Δ)) ≤ tr(Δ), and so [[ ]] (Δ) ∈ S ; Í Í (2) [[ ]] (Δ) = [[ ]] (Δ ) whenever Δ = Δ . Proof. Clause (2) is easy. For (1), we prove by induction on that tr(Δ ) ≤ tr( ) whenever Δ = h , i and Δ is defined as in Lemma 4.2(2). Thus the result holds for simple cq-states. The general case follows easily. , Vol. 1, No. 1, Article . Publication date: May 2021.
You can also read