Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

arXiv:1412.8543 · Electronic Proceedings in Theoretical Computer Science

QPEL: Quantum Program and Effect Language

Robin Adams

Published Dec 28, 2014• 5 citations
arXivHTMLPDF

Abstract

We present the syntax and rules of deduction of QPEL (Quantum Program and Effect Language), a language for describing both quantum programs, and properties of quantum programs - effects on the appropriate Hilbert space. We show how semantics may be given in terms of state-and-effect triangles, a categorical setting that allows semantics in terms of Hilbert spaces, C*-algebras, and other categories. We prove soundness and completeness results that show the derivable judgements are exactly those provable in all state-and-effect triangles.

DOI
10.4204/eptcs.172.10

Related papers

QPEL: Quantum Program and Effect Language

Robin Adams

We present the syntax and rules of deduction of QPEL (Quantum Program and Effect Language), a language for describing both quantum programs, and properties of quantum programs — effects on the appropriate Hilbert space. We show how semantics may be given in terms of state-and-effect triangles, a categorical setting that allows semantics in terms of Hilbert spaces, C∗-algebras, and other categories. We prove soundness and completeness results that show the derivable judgements are exactly those provable in all state-and-effect triangles. 1

•Jan 1, 2014•11 citations

The Structure and Interpretation of Quantum Programs I: Foundations

David Wakeham

Qubits are a great way to build a quantum computer, but a limited way to program one. We replace the usual "states and gates" formalism with a "props and ops" (propositions and operators) model in which (a) the C*-algebra of observables supplies the syntax; (b) states, viewed as linear functionals, give the semantics; and (c) a novel diagrammatic calculus unifies the two. The first part develops the basic objects of the framework, encoding consistent patterns of operator correlation, recovering Hilbert space via the GNS construction, and re-deriving the Bloch sphere as the set of all consistent correlations of operators in the Pauli algebra. We then turn to intervention, showing how measurement modifies state, proving an operator-algebraic version of the Knill-Laflamme conditions, and expressing stabilizer codes with the same diagrammatic machinery. This provides a concise, representation-agnostic account of quantum error correction. The result is a self-contained foundation in which C*-algebras, and their dual Hilbert spaces, offer a rich and universal substrate for quantum programming; forthcoming papers will build a high-level language and quantum software applications on top of this substrate.

arXiv:2509.04527•Sep 3, 2025•0 citations

Systems of quantum logic

R I G Hughes

According to quantum mechanics, the pure states of a microsystem are represented by vectors in a Hilbert Space. Sentences of the form, "x є L" (where x is the state vector for a system, L a subspace of the appropriate Hilbert space), may be called Q-propositions: such sentences serve to summarise our information about the results of possible experiments on the system. Quantum logic investigates the relations which hold among the Q-propositions about a given physical sys tem. These logical relations correspond to algebraic relations among the subspaces of Hilbert space. The algebra of this set of subspaces is non-Boolean, and may be regarded either as an orthomodular lattice or as a partial Boolean algebra. With each type of structure we can associate a logic. A general approach to the semantics for such a logic is provided in terms of interpretations of a formal language within an algebraic structure; an interpretation maps sentences of the language homomorphically onto elements of the structure. When the structure in question is a Boolean algera, the resulting logic is classical; here we develop a semantics for the logic associated with partial Boolean algebras. Two systems of proof, based on the natural deduction systems of Gentzen, are shown for this logic. With respect to the given sematics, these calculi are sound and weakly complete. Strong completeness is conjectured. Quantum logic deals with the logical relations between sentences, and so is properly called a logic. However, it is the logic appropriate to a limited class of sentences: proposals that it should replace classical logic wherever the latter is used should be viewed with suspicion.

•Jan 1, 2010•0 citations

Quantum Programming with Inductive Datatypes

Romain Péchoux, Simon Perdrix, Mathys Rennela +1 more

Inductive datatypes in programming languages allow users to define useful data structures such as natural numbers, lists, trees, and others. In this paper we show how inductive datatypes may be added to the quantum programming language QPL. We construct a sound categorical model for the language and by doing so we provide the first detailed semantic treatment of user-defined inductive datatypes in quantum programming. We also show our denotational interpretation is invariant with respect to big-step reduction, thereby establishing another novel result for quantum programming. Compared to classical programming, this property is considerably more difficult to prove and we demonstrate its usefulness by showing how it immediately implies computational adequacy at all types. To further cement our results, our semantics is entirely based on a physically natural model of von Neumann algebras, which are mathematical structures used by physicists to study quantum mechanics.

•Nov 22, 2020•3 citations

Towards a quantum programming language

Peter Selinger

We propose the design of a programming language for quantum computing. Traditionally, quantum algorithms are frequently expressed at the hardware level, for instance in terms of the quantum circuit model or quantum Turing machines. These approaches do not encourage structured programming or abstractions such as data types. In this paper, we describe the syntax and semantics of a simple quantum programming language with high-level features such as loops, recursive procedures, and structured data types. The language is functional in nature, statically typed, free of run-time errors, and has an interesting denotational semantics in terms of complete partial orders of superoperators.

Mathematical Structures in Computer Science•Aug 1, 2004•478 citations

An Algebra of Pure Quantum Programming

Thorsten Altenkirch, Jonathan Grattage, Juliana Kaizer Vizzotto +1 more

We develop a sound and complete equational theory for the functional quantum programming language QML. The soundness and completeness of the theory are with respect to the previously developed denotational semantics of QML. The completeness proof also gives rise to a normalisation algorithm following the normalisation-by-evaluation approach. The current work focuses on the pure fragment of QML, omitting measurements.

arXiv:quant-ph/0506012•Electronic Notes in Theoretical Computer Science•Mar 1, 2007•37 citations
We present the syntax and rules of deduction of QPEL (Quantum Program and Effect Language), a language for describing both quantum programs, and properties of quantum programs - effects on the appropriate Hilbert space. We show how semantics may be given in terms of state-and-effect triangles, a categorical setting that allows semantics in terms of Hilbert spaces, C*-algebras, and other categories. We prove soundness and completeness results that show the derivable judgements are exactly those provable in all state-and-effect triangles.
We present the syntax and rules of deduction of QPEL (Quantum Program and Effect Language), a language for describing both quantum programs, and properties of quantum programs — effects on the appropriate Hilbert space. We show how semantics may be given in terms of state-and-effect triangles, a categorical setting that allows semantics in terms of Hilbert spaces, C∗-algebras, and other categories. We prove soundness and completeness results that show the derivable judgements are exactly those provable in all state-and-effect triangles. 1
Qubits are a great way to build a quantum computer, but a limited way to program one. We replace the usual "states and gates" formalism with a "props and ops" (propositions and operators) model in which (a) the C*-algebra of observables supplies the syntax; (b) states, viewed as linear functionals, give the semantics; and (c) a novel diagrammatic calculus unifies the two. The first part develops the basic objects of the framework, encoding consistent patterns of operator correlation, recovering Hilbert space via the GNS construction, and re-deriving the Bloch sphere as the set of all consistent correlations of operators in the Pauli algebra. We then turn to intervention, showing how measurement modifies state, proving an operator-algebraic version of the Knill-Laflamme conditions, and expressing stabilizer codes with the same diagrammatic machinery. This provides a concise, representation-agnostic account of quantum error correction. The result is a self-contained foundation in which C*-algebras, and their dual Hilbert spaces, offer a rich and universal substrate for quantum programming; forthcoming papers will build a high-level language and quantum software applications on top of this substrate.
According to quantum mechanics, the pure states of a microsystem are represented by vectors in a Hilbert Space. Sentences of the form, "x є L" (where x is the state vector for a system, L a subspace of the appropriate Hilbert space), may be called Q-propositions: such sentences serve to summarise our information about the results of possible experiments on the system. Quantum logic investigates the relations which hold among the Q-propositions about a given physical sys tem. These logical relations correspond to algebraic relations among the subspaces of Hilbert space. The algebra of this set of subspaces is non-Boolean, and may be regarded either as an orthomodular lattice or as a partial Boolean algebra. With each type of structure we can associate a logic. A general approach to the semantics for such a logic is provided in terms of interpretations of a formal language within an algebraic structure; an interpretation maps sentences of the language homomorphically onto elements of the structure. When the structure in question is a Boolean algera, the resulting logic is classical; here we develop a semantics for the logic associated with partial Boolean algebras. Two systems of proof, based on the natural deduction systems of Gentzen, are shown for this logic. With respect to the given sematics, these calculi are sound and weakly complete. Strong completeness is conjectured. Quantum logic deals with the logical relations between sentences, and so is properly called a logic. However, it is the logic appropriate to a limited class of sentences: proposals that it should replace classical logic wherever the latter is used should be viewed with suspicion.
Inductive datatypes in programming languages allow users to define useful data structures such as natural numbers, lists, trees, and others. In this paper we show how inductive datatypes may be added to the quantum programming language QPL. We construct a sound categorical model for the language and by doing so we provide the first detailed semantic treatment of user-defined inductive datatypes in quantum programming. We also show our denotational interpretation is invariant with respect to big-step reduction, thereby establishing another novel result for quantum programming. Compared to classical programming, this property is considerably more difficult to prove and we demonstrate its usefulness by showing how it immediately implies computational adequacy at all types. To further cement our results, our semantics is entirely based on a physically natural model of von Neumann algebras, which are mathematical structures used by physicists to study quantum mechanics.
We propose the design of a programming language for quantum computing. Traditionally, quantum algorithms are frequently expressed at the hardware level, for instance in terms of the quantum circuit model or quantum Turing machines. These approaches do not encourage structured programming or abstractions such as data types. In this paper, we describe the syntax and semantics of a simple quantum programming language with high-level features such as loops, recursive procedures, and structured data types. The language is functional in nature, statically typed, free of run-time errors, and has an interesting denotational semantics in terms of complete partial orders of superoperators.