Learn More
It differs from the present version in that it has been copy-edited and reformatted. Abstract Many familiar models of the untyped lambda calculus are constructed by order theoretic methods. This paper provides some basic new facts about ordered models of the lambda calculus. We show that in any partially ordered model that is complete for the theory of β-or(More)
In this paper, we develop a functional programming language for quantum computers, by extending the simply-typed lambda calculus with quantum types and operations. The design of this language adheres to the " quantum data, classical control " paradigm, following the first author's work on quantum flow-charts. We define a call-by-value operational semantics,(More)
In this paper, we propose an adversary-centric, logical framework for formalizing cryptographic protocols. The formalism is inspired by the work of Compton and Dexter and of Cervesato et al., but we do not focus on proof search, but instead on logical validity. A novel contribution of this paper is a technique for giving very short proofs of protocol(More)
The field of quantum algorithms is vibrant. Still, there is currently a lack of programming languages for describing quantum computation on a practical scale, i.e., not just at the level of toy problems. We address this issue by introducing Quipper, a scalable, expressive, functional, higher-order quantum programming language. Quipper has been used to(More)
We give an efficient randomized algorithm for approximating an arbitrary element of SU(2) by a product of Clifford+T operators, up to any given error threshold ε > 0. Under a mild hypothesis on the distribution of primes, the algorithm's expected runtime is polynomial in log(1/ε). If the operator to be approximated is a z-rotation, the resulting gate(More)
Overview Given a gate set S universal for quantum computing, the problem of decomposing a unitary operator U into a circuit over S is known as the synthesis problem. This problem can be solved exactly, if U belongs to the set of circuits generated by S. Otherwise, it can be solved approximately, by finding a circuit U such that ||U − U || < for some chosen(More)