Floyd-Hoare Logic for Quantum Programs

Mingsheng Ying

University of Technology, Sydney and Tsinghua University

Nagoya Winter Workshop, February 14-18, 2011

Outline Introduction Syntax of Quantum Programs Operational Semantics of Quantum Programs Denotational Semantics of Quantum Programs Correctness Formulas Weakest Preconditions and Weakest Liberal Preconditions Proof System for Partial Correctness Proof System for Total Correctness Conclusion

Outline Introduction Syntax of Quantum Programs Operational Semantics of Quantum Programs Denotational Semantics of Quantum Programs Correctness Formulas Weakest Preconditions and Weakest Liberal Preconditions Proof System for Partial Correctness Proof System for Total Correctness Conclusion

Quantum Programming Even though quantum hardware is still in its infancy, people widely believe that building a large-scale and functional quantum computer is merely a matter of time and concentrated effort. The history of classical computing arouses that once quantum computers come into being, quantum programming languages and quantum software development techniques will play a key role in exploiting the power of quantum computers.

Formal Semantics for Quantum Programming Languages The fact that human intuition is much better adapted to the classical world than the quantum world is one of the major reasons it is difficult to find efficient quantum algorithms. It also implies that programmers will commit many more faults in designing programs for quantum computers than programming classical computers. It is even more critical than in classical computing to give clear and formal semantics to quantum programming languages and to provide formal methods for reasoning about quantum programs.

Floyd-Hoare Logic R. Floyd, Assigning meaning to programs, in: J. T. Schwartz (ed.) Proceedings of Symposium on Applied Mathematics 19, Mathematical Aspects of Computer Science, 1967, pp. 19-32 C. A. R. Hoare, An axiomatic basis for computer programming, Communication of the ACM, 12(1969)576-580 S. A. Cook, Soundness and completeness of an axiom system for program verification, SIAM Journal on Computing, 7(1978)70-90 E. W. Dijkstra, A Discipline of Programming, Prentice-Hall, 1976

Floyd-Hoare Logic for Quantum Programs O. Brunet and P. Jorrand, Dynamic quantum logic for quantum programs, International Journal of Quantum Information 2(2004)45-54 A. Baltag and S. Smets, LQP: the dynamic logic of quantum information, Mathematical Structures in Computer Science 16(2006)491-525 E. D’Hondt and P. Panangaden, Quantum weakest preconditions, Mathematical Structures in Computer Science 16(2006)429-451

Floyd-Hoare Logic for Quantum Programs, Continued Y. Kakutani, A logic for formal verification of quantum programs, LNCS Proceedings of ASIAN 2009 Y. Feng, R. Y. Duan, Z. F. Ji and M. S. Ying, Proof rules for the correctness of quantum programs, Theoretical Computer Science 386(2007)151-166

Full-fledged Floyd-Hoare logic for quantum programs?

Outline Introduction Syntax of Quantum Programs Operational Semantics of Quantum Programs Denotational Semantics of Quantum Programs Correctness Formulas Weakest Preconditions and Weakest Liberal Preconditions Proof System for Partial Correctness Proof System for Total Correctness Conclusion

Syntax A countably infinite set Var of quantum variables. A type t is a name of a Hilbert space Ht . Two basic types: Boolean, integer.

Syntax, Continued The Hilbert spaces denoted by Boolean and integer are:

HBoolean = H2 , Hinteger = H∞ . The space l2 of square summable sequences is ∞

H∞ = {



n=−∞

αn |ni : αn ∈ C for all n ∈ Z and

where Z is the set of integers.





n=−∞

| αn |2 < ∞ },

Syntax, Continued The state space Hq of a quantum variable q is the Hilbert space denoted by its type: Hq = Htype(q) . A quantum register is a finite sequence of distinct quantum variables. The state space of a quantum register q = q1 , ..., qn is the tensor product of the state spaces of the quantum variables occurring in q:

Hq =

n O i=1

H qi .

Syntax, Continued The quantum extension of classical while-programs. S ::= skip | q := 0 | q := Uq | S1 ; S2 | measure M[q] : S

| while M[q] = 1 do S

I

q is a quantum variable and q a quantum register;

Syntax, Continued The quantum extension of classical while-programs. S ::= skip | q := 0 | q := Uq | S1 ; S2 | measure M[q] : S

| while M[q] = 1 do S

I

q is a quantum variable and q a quantum register;

I

U in the statement “q := Uq”is a unitary operator on Hq .

Syntax, Continued The quantum extension of classical while-programs. S ::= skip | q := 0 | q := Uq | S1 ; S2 | measure M[q] : S

| while M[q] = 1 do S

I

q is a quantum variable and q a quantum register;

I

U in the statement “q := Uq”is a unitary operator on Hq .

I

in the statement “measure M[q] : S”, M = {Mm } is a measurement on the state space Hq of q, and S = {Sm } is a set of quantum programs such that each outcome m of measurement M corresponds to Sm ;

Syntax, Continued The quantum extension of classical while-programs. S ::= skip | q := 0 | q := Uq | S1 ; S2 | measure M[q] : S

| while M[q] = 1 do S

I

q is a quantum variable and q a quantum register;

I

U in the statement “q := Uq”is a unitary operator on Hq .

I

in the statement “measure M[q] : S”, M = {Mm } is a measurement on the state space Hq of q, and S = {Sm } is a set of quantum programs such that each outcome m of measurement M corresponds to Sm ;

I

M = {M0 , M1 } in the statement “while M[q] = 1 do S”is a yes-no measurement on Hq .

Outline Introduction Syntax of Quantum Programs Operational Semantics of Quantum Programs Denotational Semantics of Quantum Programs Correctness Formulas Weakest Preconditions and Weakest Liberal Preconditions Proof System for Partial Correctness Proof System for Total Correctness Conclusion

Notation Hall for the tensor product of the state spaces of all quantum variables: O Hall = Hq . all q

E denotes the empty program. A quantum configuration is a pair hS, ρi, where S is a quantum program or E, ρ ∈ D − (Hall ) is a partial density operator on Hall , and it is used to indicate the (global) state of quantum variables.

Notation Let q = q1 , ..., qn be a quantum register. A linear operator A on Hq has a cylinder extension A ⊗ IVar−{q} on Hall , where IVar−{q} is the identity operator on the Hilbert space O q∈Var−{q}

Hq .

Operational Semantics (Skip)

hskip, ρi → hE, ρi

(Initialization)

q

hq := 0, ρi → hE, ρ0 i

where q

ρ0 = |0iq h0| ρ |0iq h0| + |0iq h1| ρ |1iq h0| if type(q) = Boolean, and ∞

q

ρ0 =



n=−∞

if type(q) = integer.

|0iq hn| ρ |niq h0|

Operational Semantics, Continued (Unitary Transformation)

(Sequential Composition)

hq := Uq, ρi → hE, UρU† i hS1 , ρi → hS10 , ρ0 i hS1 ; S2 , ρi → hS10 ; S2 , ρ0 i

where we make the convention that E; S2 = S2 .

(Measurement)

†i hmeasure M[q] : S, ρi → hSm , Mm ρMm

for each outcome m of measurement M = {Mm }

Operational Semantics, Continued

(Loop 0)

(Loop 1)

hwhile M[q] = 1 do S, ρi → hE, M0 ρM0† i hwhile M[q] = 1 do S, ρi → hS; while M[q] = 1 do S, M1 ρM1† i

Outline Introduction Syntax of Quantum Programs Operational Semantics of Quantum Programs Denotational Semantics of Quantum Programs Correctness Formulas Weakest Preconditions and Weakest Liberal Preconditions Proof System for Partial Correctness Proof System for Total Correctness Conclusion

Definition Let S be a quantum program. Then its semantic function

[|S|] : D − (Hall ) → D − (Hall ) is defined by

[|S|](ρ) = ∑{|ρ0 : hS, ρi →∗ hE, ρ0 i|} for all ρ ∈ D − (Hall ).

(1)

Notation Let Ω be a quantum program such that [|Ω|] = 0Hall for all ρ ∈ D(H); for example, Ω = while Mtrivial [q] = 1 do skip, where q is a quantum variable, and Mtrivial = {M0 = 0Hq , M1 = IHq } is a trivial measurement on Hq .

Notation We set:

(while M[q] = 1 do S)0 = Ω, (while M[q] = 1 do S)n+1 = measure M[q] : S, where S = S0 , S1 , and S0 = skip, S1 = S; (while M[q] = 1 do S)n for all n ≥ 0.

Proposition: Representation of Semantic Function 1. [|skip|](ρ) = ρ.

Proposition: Representation of Semantic Function 1. [|skip|](ρ) = ρ. 2. If type(q) = Boolean, then

[|q := 0|](ρ) = |0iq h0|ρ|0iq h0| + |0iq h1|ρ|1iq h0|, and if type(q) = integer, then ∞

[|q := 0|](ρ)



n=−∞

|0iq hn| ρ |niq h0|.

Proposition: Representation of Semantic Function 1. [|skip|](ρ) = ρ. 2. If type(q) = Boolean, then

[|q := 0|](ρ) = |0iq h0|ρ|0iq h0| + |0iq h1|ρ|1iq h0|, and if type(q) = integer, then ∞

[|q := 0|](ρ)



n=−∞

3. [|q := Uq|](ρ) = UρU† .

|0iq hn| ρ |niq h0|.

Proposition: Representation of Semantic Function 1. [|skip|](ρ) = ρ. 2. If type(q) = Boolean, then

[|q := 0|](ρ) = |0iq h0|ρ|0iq h0| + |0iq h1|ρ|1iq h0|, and if type(q) = integer, then ∞

[|q := 0|](ρ)



n=−∞

3. [|q := Uq|](ρ) = UρU† . 4. [|S1 ; S2 |](ρ) = [|S2 |]([|S1 |](ρ)).

|0iq hn| ρ |niq h0|.

Proposition: Representation of Semantic Function 1. [|skip|](ρ) = ρ. 2. If type(q) = Boolean, then

[|q := 0|](ρ) = |0iq h0|ρ|0iq h0| + |0iq h1|ρ|1iq h0|, and if type(q) = integer, then ∞

[|q := 0|](ρ)



n=−∞

|0iq hn| ρ |niq h0|.

3. [|q := Uq|](ρ) = UρU† . 4. [|S1 ; S2 |](ρ) = [|S2 |]([|S1 |](ρ)). † ). 5. [|measure M[q] : S|](ρ) = ∑m [|Sm |](Mm ρMm

Proposition: Representation of Semantic Function 1. [|skip|](ρ) = ρ. 2. If type(q) = Boolean, then

[|q := 0|](ρ) = |0iq h0|ρ|0iq h0| + |0iq h1|ρ|1iq h0|, and if type(q) = integer, then ∞

[|q := 0|](ρ)



n=−∞

|0iq hn| ρ |niq h0|.

3. [|q := Uq|](ρ) = UρU† . 4. [|S1 ; S2 |](ρ) = [|S2 |]([|S1 |](ρ)). † ). 5. [|measure M[q] : S|](ρ) = ∑m [|Sm |](Mm ρMm W∞ 6. [|while M[q] = 1 do S|](ρ) = n=0 [|(while M[q] = 1 do S)n |](ρ).

Proposition: Recursion If we write while for quantum loop “while M[q] = 1 do S”, then for any ρ ∈ D − (Hall ), it holds that

[|while|](ρ) = M0 ρM0† + [|while|]([|S|](M1 ρM1† )).

Proposition For any quantum program S, it holds that tr([|S|](ρ)) ≤ tr(ρ) for all ρ ∈ D − (Hall ). tr(ρ) − tr([|S|](ρ)) is the probability that program S diverges from input state ρ.

Outline Introduction Syntax of Quantum Programs Operational Semantics of Quantum Programs Denotational Semantics of Quantum Programs Correctness Formulas Weakest Preconditions and Weakest Liberal Preconditions Proof System for Partial Correctness Proof System for Total Correctness Conclusion

Definition For any X ⊆ Var, a quantum predicate on HX is a Hermitian operator P on HX such that 0HX v P v IHX .

P (HX ) denotes the set of quantum predicates on HX . For any ρ ∈ D − (HX ), tr(Pρ) stands for the probability that predicate P is satisfied in state ρ.

Definition A correctness formula is a statement of the form:

{P}S{Q} where S is a quantum program, and both P and Q are quantum predicates on Hall . The operator P is called the precondition of the correctness formula and Q the postcondition.

Definition 1. The correctness formula {P}S{Q} is true in the sense of total correctness, written |=tot {P}S{Q}, if we have: tr(Pρ) ≤ tr(Q[|S|](ρ)) for all ρ ∈ D − (H).

Definition 1. The correctness formula {P}S{Q} is true in the sense of total correctness, written |=tot {P}S{Q}, if we have: tr(Pρ) ≤ tr(Q[|S|](ρ)) for all ρ ∈ D − (H). 2. The correctness formula {P}S{Q} is true in the sense of partial correctness, written |=par {P}S{Q}, if we have: tr(Pρ) ≤ tr(Q[|S|](ρ)) + [tr(ρ) − tr([|S|](ρ))] for all ρ ∈ D − (H).

Outline Introduction Syntax of Quantum Programs Operational Semantics of Quantum Programs Denotational Semantics of Quantum Programs Correctness Formulas Weakest Preconditions and Weakest Liberal Preconditions Proof System for Partial Correctness Proof System for Total Correctness Conclusion

Definition Let S be a quantum program and P ∈ P (Hall ) be a quantum predicate on Hall . 1. The weakest precondition of S with respect to P is defined to be the quantum predicate wp.S.P ∈ P (Hall ) satisfying the following conditions:

Definition Let S be a quantum program and P ∈ P (Hall ) be a quantum predicate on Hall . 1. The weakest precondition of S with respect to P is defined to be the quantum predicate wp.S.P ∈ P (Hall ) satisfying the following conditions: 1.1 |=tot {wp.S.P}S{P};

Definition Let S be a quantum program and P ∈ P (Hall ) be a quantum predicate on Hall . 1. The weakest precondition of S with respect to P is defined to be the quantum predicate wp.S.P ∈ P (Hall ) satisfying the following conditions: 1.1 |=tot {wp.S.P}S{P}; 1.2 if |=tot {Q}S{P} then Q v wp.S.P.

Definition Let S be a quantum program and P ∈ P (Hall ) be a quantum predicate on Hall . 1. The weakest precondition of S with respect to P is defined to be the quantum predicate wp.S.P ∈ P (Hall ) satisfying the following conditions: 1.1 |=tot {wp.S.P}S{P}; 1.2 if |=tot {Q}S{P} then Q v wp.S.P.

2. The weakest liberal precondition of S with respect to P is defined to be the quantum predicate wlp.S.P ∈ P (Hall ) satisfying the following conditions:

Definition Let S be a quantum program and P ∈ P (Hall ) be a quantum predicate on Hall . 1. The weakest precondition of S with respect to P is defined to be the quantum predicate wp.S.P ∈ P (Hall ) satisfying the following conditions: 1.1 |=tot {wp.S.P}S{P}; 1.2 if |=tot {Q}S{P} then Q v wp.S.P.

2. The weakest liberal precondition of S with respect to P is defined to be the quantum predicate wlp.S.P ∈ P (Hall ) satisfying the following conditions: 2.1 |=par {wlp.S.P}S{P};

Definition Let S be a quantum program and P ∈ P (Hall ) be a quantum predicate on Hall . 1. The weakest precondition of S with respect to P is defined to be the quantum predicate wp.S.P ∈ P (Hall ) satisfying the following conditions: 1.1 |=tot {wp.S.P}S{P}; 1.2 if |=tot {Q}S{P} then Q v wp.S.P.

2. The weakest liberal precondition of S with respect to P is defined to be the quantum predicate wlp.S.P ∈ P (Hall ) satisfying the following conditions: 2.1 |=par {wlp.S.P}S{P}; 2.2 if |=par {Q}S{P} then Q v wlp.S.P.

Proposition: Representation of Weakest Precondition 1. wp.skip.P = P.

Proposition: Representation of Weakest Precondition 1. wp.skip.P = P. 2. If type(q) = Boolean, then wp.q := 0.P = |0iq h0|P|0iq h0| + |1iq h0|P|0iq h1|, and if type(q) = integer, then ∞

wp.q := 0.P =



n=−∞

|niq h0|P|0iq hn|.

Proposition: Representation of Weakest Precondition 1. wp.skip.P = P. 2. If type(q) = Boolean, then wp.q := 0.P = |0iq h0|P|0iq h0| + |1iq h0|P|0iq h1|, and if type(q) = integer, then ∞

wp.q := 0.P =



n=−∞

3. wp.q := Uq.P = U† PU.

|niq h0|P|0iq hn|.

Proposition: Representation of Weakest Precondition 1. wp.skip.P = P. 2. If type(q) = Boolean, then wp.q := 0.P = |0iq h0|P|0iq h0| + |1iq h0|P|0iq h1|, and if type(q) = integer, then ∞

wp.q := 0.P =



n=−∞

3. wp.q := Uq.P = U† PU. 4. wp.S1 ; S2 .P = wp.S1 .(wp.S2 .P).

|niq h0|P|0iq hn|.

Proposition: Representation of Weakest Precondition 1. wp.skip.P = P. 2. If type(q) = Boolean, then wp.q := 0.P = |0iq h0|P|0iq h0| + |1iq h0|P|0iq h1|, and if type(q) = integer, then ∞

wp.q := 0.P =



n=−∞

|niq h0|P|0iq hn|.

3. wp.q := Uq.P = U† PU. 4. wp.S1 ; S2 .P = wp.S1 .(wp.S2 .P). † (wp.S .P)M . 5. wp.measure M[q] : S.P = ∑m Mm m m

Proposition: Representation of Weakest Precondition 1. wp.skip.P = P. 2. If type(q) = Boolean, then wp.q := 0.P = |0iq h0|P|0iq h0| + |1iq h0|P|0iq h1|, and if type(q) = integer, then ∞

wp.q := 0.P =



n=−∞

|niq h0|P|0iq hn|.

3. wp.q := Uq.P = U† PU. 4. wp.S1 ; S2 .P = wp.S1 .(wp.S2 .P). † (wp.S .P)M . 5. wp.measure M[q] : S.P = ∑m Mm m m W∞ 6. wp.while M[q] = 1 do S.P = n=0 Pn , where ( P0 = 0Hall , Pn+1 = M0† PM0 + M1† (wp.S.Pn )M1 for all n ≥ 0.

Proposition For any quantum program S, for any quantum predicate P ∈ P (Hall ), and for any partial density operator ρ ∈ D − (Hall ), we have: tr((wp.S.P)ρ) = tr(P[|S|](ρ)).

Proposition: Representation of Weakest Liberal Precondition 1. wlp.skip.P = P.

Proposition: Representation of Weakest Liberal Precondition 1. wlp.skip.P = P. 2. If type(q) = Boolean, then wlp.q := 0.P = |0iq h0|P|0iq h0| + |1iq h0|P|0iq h1|, and if type(q) = integer, then ∞

wlp.q := 0.P =



n=−∞

|niq h0|P|0iq hn|.

Proposition: Representation of Weakest Liberal Precondition 1. wlp.skip.P = P. 2. If type(q) = Boolean, then wlp.q := 0.P = |0iq h0|P|0iq h0| + |1iq h0|P|0iq h1|, and if type(q) = integer, then ∞

wlp.q := 0.P =



n=−∞

3. wlp.q := Uq.P = U† PU.

|niq h0|P|0iq hn|.

Proposition: Representation of Weakest Liberal Precondition 1. wlp.skip.P = P. 2. If type(q) = Boolean, then wlp.q := 0.P = |0iq h0|P|0iq h0| + |1iq h0|P|0iq h1|, and if type(q) = integer, then ∞

wlp.q := 0.P =



n=−∞

3. wlp.q := Uq.P = U† PU. 4. wlp.S1 ; S2 .P = wlp.S1 .(wlp.S2 .P).

|niq h0|P|0iq hn|.

Proposition: Representation of Weakest Liberal Precondition 1. wlp.skip.P = P. 2. If type(q) = Boolean, then wlp.q := 0.P = |0iq h0|P|0iq h0| + |1iq h0|P|0iq h1|, and if type(q) = integer, then ∞

wlp.q := 0.P =



n=−∞

|niq h0|P|0iq hn|.

3. wlp.q := Uq.P = U† PU. 4. wlp.S1 ; S2 .P = wlp.S1 .(wlp.S2 .P). † (wlp.S .P)M . 5. wlp.measure M[q] : S.P = ∑m Mm m m

Proposition: Representation of Weakest Liberal Precondition 1. wlp.skip.P = P. 2. If type(q) = Boolean, then wlp.q := 0.P = |0iq h0|P|0iq h0| + |1iq h0|P|0iq h1|, and if type(q) = integer, then ∞

wlp.q := 0.P =



n=−∞

|niq h0|P|0iq hn|.

3. wlp.q := Uq.P = U† PU. 4. wlp.S1 ; S2 .P = wlp.S1 .(wlp.S2 .P). † (wlp.S .P)M . 5. wlp.measure M[q] : S.P = ∑m Mm m m V∞ 6. wlp.while M[q] = 1 do S.P = n=0 Pn , where ( P0 = IHall , Pn+1 = M0† PM0 + M1† (wlp.S.Pn )M1 for all n ≥ 0.

Proposition For any quantum program S, for any quantum predicate P ∈ P (Hall ), and for any partial density operator ρ ∈ D − (Hall ), we have: tr((wlp.S.P)ρ) = tr(P[|S|](ρ)) + [tr(ρ) − tr([|S|](ρ)].

Proposition: Recursion We write while for quantum loop “while M[q] = 1 do S”. Then for any P ∈ P (Hall ), we have: 1. wp.while.P = M0† PM0 + M1† (wp.S.(wp.while.P))M1 .

Proposition: Recursion We write while for quantum loop “while M[q] = 1 do S”. Then for any P ∈ P (Hall ), we have: 1. wp.while.P = M0† PM0 + M1† (wp.S.(wp.while.P))M1 . 2. wlp.while.P = M0† PM0 + M1† (wlp.S.(wlp.while.P))M1 .

Outline Introduction Syntax of Quantum Programs Operational Semantics of Quantum Programs Denotational Semantics of Quantum Programs Correctness Formulas Weakest Preconditions and Weakest Liberal Preconditions Proof System for Partial Correctness Proof System for Total Correctness Conclusion

The Proof System PD for Partial Correctness {P}Skip{P}

(Axiom Skip)

(Axiom Initialization) If type(q) = Boolean, then {|0iq h0|P|0iq h0| + |1iq h0|P|0iq h1|}q := 0{P} and if type(q) = integer, then ∞

{



n=−∞

|niq h0|P|0iq hn|}q := 0{P}

(Axiom Unitary Transformation)

{U† PU }q := Uq{P}

The Proof System PD for Partial Correctness, Continued

(Rule Sequential Composition)

{Pm }Sm {Q} for all m † P M }measure M[q] : S{Q} { ∑ m Mm m m

(Rule Measurement)

(Rule Loop Partial)

(Rule Order)

{P}S1 {Q} {Q}S2 {R} {P}S1 ; S2 {R}

{Q}S{M0† PM0 + M1† QM1 } {M0† PM0 + M1† QM1 }while M[q] = 1 do S{P} P v P0

{ P0 } S { Q0 } Q0 v Q {P}S{Q}

Soundness Theorem for PD The proof system PD is sound for partial correctness of quantum programs. For any quantum program S and quantum predicates P, Q ∈ P (Hall ), we have: `PD {P}S{Q} implies |=par {P}S{Q}.

Completeness Theorem for PD The proof system PD is complete for partial correctness of quantum programs. For any quantum program S and quantum predicates P, Q ∈ P (Hall ), we have: |=par {P}S{Q} implies `PD {P}S{Q}.

Outline Introduction Syntax of Quantum Programs Operational Semantics of Quantum Programs Denotational Semantics of Quantum Programs Correctness Formulas Weakest Preconditions and Weakest Liberal Preconditions Proof System for Partial Correctness Proof System for Total Correctness Conclusion

Definition Let P ∈ P (Hall ) and e > 0. A function t : D − (Hall ) → N is called a (P, e)−bound function of quantum loop “while M[q] = 1 do S”if it satisfies the following conditions: 1. t([|S|](M1 ρM1† )) ≤ t(ρ); and for all ρ ∈ D − (Hall ).

Definition Let P ∈ P (Hall ) and e > 0. A function t : D − (Hall ) → N is called a (P, e)−bound function of quantum loop “while M[q] = 1 do S”if it satisfies the following conditions: 1. t([|S|](M1 ρM1† )) ≤ t(ρ); and 2. tr(Pρ) ≥ e implies t([|S|](M1 ρM1† )) < t(ρ) for all ρ ∈ D − (Hall ).

Lemma Let P ∈ P (Hall ). Then the following two statements are equivalent: 1. for any e > 0, there exists a (P, e)−bound function te of quantum loop “while M[q] = 1 do S”;

Lemma Let P ∈ P (Hall ). Then the following two statements are equivalent: 1. for any e > 0, there exists a (P, e)−bound function te of quantum loop “while M[q] = 1 do S”; 2. limn→∞ tr(P([|S|] ◦ E1 )n (ρ)) = 0 for all ρ ∈ D − (Hall ).

The Proof System TD for Total Correctness (Axiom Skip), (Axiom Initialization), (Axiom Unitary Transformation) (Rule Sequential Composition), (Rule Measurement), (Rule Order)

{Q}S{M0† PM0 + M1† QM1 } for any e > 0, te is a (M1† QM1 , e) − bound function

(Rule Loop Total)

of loop while M[q] = 1 do S

{M0† PM0

+ M1† QM1 }while M[q] = 1 do S{P}

Soundness Theorem for TD The proof system TD is sound for total correctness of quantum programs. For any quantum program S and quantum predicates P, Q ∈ P (Hall ), we have: `TD {P}S{Q} implies |=tot {P}S{Q}.

Completeness Theorem The proof system TD is complete for total correctness of quantum programs. For any quantum program S and quantum predicates P, Q ∈ P (Hall ), we have: |=tot {P}S{Q} implies `TD {P}S{Q}.

Proof Outline I

Claim: `PD {wlp.S.Q}S{Q} for any quantum program S and quantum predicate P ∈ P (Hall ).

Induction on the structure of S. We only consider the case of S = while M[q] = 1 do S0 .

wp.while.Q = M0† QM0 + M1† (wp.S.(wp.while.Q))M1 . So, our aim is to derive that

{M0† QM0 + M1† (wp.S.(wp.while.Q))M1 }while{Q}.

Proof Outline, Continued By the induction hypothesis on S0 we get:

{wp.S0 .(wp.while.Q)}S{wp.while.Q}.

By (Rule Loop Total) it suffices to show that for any e > 0, there exists a (M1† (wp.S0 . (wp.S.Q))M1 , e)−bound function of quantum loop while. Applying Bound Function Lemma, we only need to prove: lim tr(M1† (wp.S0 .(wp.while.Q))M1 ([|S0 |] ◦ E1 )n (ρ)) = 0.

n→ ∞

Proof Outline, Continued We observe: tr(M1† (wp.S0 .(wp.while.Q))M1 ([|S0 |] ◦ E1 )n (ρ))

= tr(wp.S0 .(wp.while.Q)M1 ([|S0 |] ◦ E1 )n (ρ)M1† ) = tr(wp.while.Q[|S0 |](M1 ([|S0 |] ◦ E1 )n (ρ)M1† )) = tr(wp.while.Q([|S0 |] ◦ E1 )n+1 (ρ)) = tr(Q[|while|]([|S0 |] ◦ E1 )n+1 (ρ)) ∞

=



k =n+1

tr(Q[E0 ◦ ([|S0 |] ◦ E1 )k ](ρ)).

Proof Outline, Continued We consider the following infinite series of nonnegative real numbers: ∞



n=0

n=0

∑ tr(Q[E0 ◦ ([|S0 |] ◦ E1 )k ](ρ)) = tr(Q ∑ [E0 ◦ ([|S0 |] ◦ E1 )k ](ρ)).

Since Q v IHall , it follows that ∞

tr(Q

∑ [E0 ◦ ([|S0 |] ◦ E1 )k ](ρ)) = tr(Q[|while|](ρ))

n=0

≤ tr([|while|](ρ)) ≤ tr(ρ) ≤ 1.

Outline Introduction Syntax of Quantum Programs Operational Semantics of Quantum Programs Denotational Semantics of Quantum Programs Correctness Formulas Weakest Preconditions and Weakest Liberal Preconditions Proof System for Partial Correctness Proof System for Total Correctness Conclusion

Conclusion Floyd-Hoare logic for deterministic quantum programs! I

Nondeterministic quantum programs?

Conclusion Floyd-Hoare logic for deterministic quantum programs! I

Nondeterministic quantum programs?

I

Parallel quantum programs?

Conclusion Floyd-Hoare logic for deterministic quantum programs! I

Nondeterministic quantum programs?

I

Parallel quantum programs?

I

Distributed quantum programs?

Thank You!

Floyd-Hoare Logic for Quantum Programs

Floyd-Hoare Logic. R. Floyd, Assigning meaning to programs, in: J. T. Schwartz (ed.) ... 2(2004)45-54. A. Baltag and S. Smets, LQP: the dynamic logic of quantum.

599KB Sizes 0 Downloads 173 Views

Recommend Documents

Compiling quantum programs
Jan 31, 2005 - of them (the Deutsch–Jozsa algorithm) from its specification [21]. Furthermore,. qGCL has been used to describe and reason about peculiar quantum features, such as nonlocality and counterfactual computation [14, 26, 28]. P. Zuliani (

Reasoning about faulty quantum programs
tum computation, such as the superoperator quantum circuits of Aharonov et al. [1]. That is a ...... Prob(r = 1) ⩾ c + c¯p(t1 − 1) = cp + c¯pt1 where ti = 〈w ,Piw 〉.

A Logic for Information Flow in Object-Oriented Programs
Nov 15, 2005 - in this paper in the context of object-oriented programs. Here are some ..... oriented language with recursive classes, methods and field update. To avoid ...... of Computer Programming, special issue of SAS 2004. To appear.

A Logic for Information Flow in Object-Oriented Programs
Nov 15, 2005 - in this paper in the context of object-oriented programs. Here are ..... subclassing (and thus neither dynamic dispatch, nor cast, nor type test).

Kauffman, Knot Logic and Topological Quantum Computing with ...
Kauffman, Knot Logic and Topological Quantum Computing with Majorana Fermions.pdf. Kauffman, Knot Logic and Topological Quantum Computing with ...

Nielsen, Chuang, Errata List for Quantum Computation and Quantum ...
Nielsen, Chuang, Errata List for Quantum Computation and Quantum Information.pdf. Nielsen, Chuang, Errata List for Quantum Computation and Quantum ...

Quantum criticality as a resource for quantum estimation
1Department of Physics and Astronomy, University of Southern California, Los Angeles, California 90089-0484, USA ..... lar shift of the location of the quantum critical point may be ..... 1 H. Cramer, Mathematical Methods of Statistics Princeton.

Exploiting Locality in Quantum Computation for Quantum Chemistry
Nov 25, 2014 - where rA is the vector from a point A that defines the center of ...... approach, which we will call Hamiltonian averaging, and bound its costs in .... exponential decline in the quality of trial wave functions, as measured by overlap 

Evolving developmental programs for adaptation ... - Semantic Scholar
School of Computer Science, University of Birmingham, Birmingham, UK, B15 2TT ... Genetic programming is a paradigm in which computer program are ...

Quantum teleportation between remote atomic-ensemble quantum ...
Nov 13, 2012 - University of Science and Technology of China, Hefei, Anhui 230026, China ... Single photons are so far the best messengers for quantum networks as they ... of distant matter qubit nodes and transfer of quantum information between the

Static Deadlock Detection for Asynchronous C# Programs
CCS Concepts • Software and its engineering → Dead- locks; Automated static ...... accounting software [9] and a number-tracking API [14]. Our focus was to find ...

Approved Human Relations Programs for Minnesota Teacher ...
(online option available). Education ... (online course). Hamline ... Approved Human Relations Programs for Minnesota Teacher Licensure post9.24.2014.pdf.

2015 Financing Programs for SMEs.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. 2015 Financing ...

c programs for practice pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. c programs for ...

Static Deadlock Detection for Asynchronous C# Programs
contents at url are received,. GetContentsAsync calls another asynchronous proce- dure CopyToAsync .... tions are scheduled, and use it to define and detect deadlocks. ...... work exposes procedures for asynchronous I/O, network op- erations ...

Evolving developmental programs for adaptation ...
Evolving developmental programs for adaptation, morphogenesis, and self-repair. Julian F. Miller. School of Computer Science, University of Birmingham, Birmingham, UK, B15 2TT [email protected] http://www.cs.bham.ac.uk/~jfm. Abstract. A method f

Evolving developmental programs for adaptation ...
Abstract. A method for evolving a developmental program inside a cell to ..... and Phenotypic Complexity in Artificial Ontogeny", in Spector L. et al. (eds.) Proceed ...

Quantum Annealing for Clustering - Research at Google
been proposed as a novel alternative to SA (Kadowaki ... lowest energy in m states as the final solution. .... for σ = argminσ loss(X, σ), the energy function is de-.

Typology for quantum Hall liquids
Jun 20, 2012 - electron density and the response of a superconductor to an externally applied ..... this typology: (1) Apart from potential cold-atom realizations,.